about summary refs log tree commit diff
path: root/src/librustc_middle
diff options
context:
space:
mode:
authorDylan MacKenzie <ecstaticmorse@gmail.com>2020-05-02 21:16:17 -0700
committerDylan MacKenzie <ecstaticmorse@gmail.com>2020-06-13 11:05:13 -0700
commita43e486e8d126f8a815c4e8ebba5ce8692864b06 (patch)
tree36e17df96f3f58b90b53c65e73b89203e767b2c0 /src/librustc_middle
parentf5370faa6c37c565eee5ae83509302f3ed16fc3d (diff)
downloadrust-a43e486e8d126f8a815c4e8ebba5ce8692864b06.tar.gz
rust-a43e486e8d126f8a815c4e8ebba5ce8692864b06.zip
Add MIR phase and query for drop elaboration
Diffstat (limited to 'src/librustc_middle')
-rw-r--r--src/librustc_middle/mir/mod.rs3
-rw-r--r--src/librustc_middle/query/mod.rs6
2 files changed, 8 insertions, 1 deletions
diff --git a/src/librustc_middle/mir/mod.rs b/src/librustc_middle/mir/mod.rs
index 129f9691ea5..21f5d9e7dd4 100644
--- a/src/librustc_middle/mir/mod.rs
+++ b/src/librustc_middle/mir/mod.rs
@@ -76,7 +76,8 @@ pub enum MirPhase {
     Build = 0,
     Const = 1,
     Validated = 2,
-    Optimized = 3,
+    DropElab = 3,
+    Optimized = 4,
 }
 
 impl MirPhase {
diff --git a/src/librustc_middle/query/mod.rs b/src/librustc_middle/query/mod.rs
index 4d7e7882e42..9e3881b28b6 100644
--- a/src/librustc_middle/query/mod.rs
+++ b/src/librustc_middle/query/mod.rs
@@ -190,6 +190,12 @@ rustc_queries! {
             no_hash
         }
 
+        query mir_drops_elaborated_and_const_checked(key: LocalDefId) -> Steal<mir::Body<'tcx>> {
+            storage(ArenaCacheSelector<'tcx>)
+            no_hash
+            desc { |tcx| "elaborating drops for `{}`", tcx.def_path_str(key.to_def_id()) }
+        }
+
         query mir_validated(key: LocalDefId) ->
             (
                 Steal<mir::Body<'tcx>>,