diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-09-10 09:05:24 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-09-10 09:05:24 +0800 |
commit | bb567552b92d92b92f9e54a3c1e01baff9caf9f6 (patch) | |
tree | 330b8a2611f5b5b5bd191b07ee5729393c664514 | |
parent | 32d747bd0c20c5b8ee0dedd71eea58b0c12cfe50 (diff) | |
download | mrust-bb567552b92d92b92f9e54a3c1e01baff9caf9f6.tar.gz |
MIR Optimise - HACK: Don't optimise constants/statics
-rw-r--r-- | src/mir/optimise.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mir/optimise.cpp b/src/mir/optimise.cpp index d99c5b7c..fd8a9a48 100644 --- a/src/mir/optimise.cpp +++ b/src/mir/optimise.cpp @@ -17,6 +17,9 @@ #include <iomanip> #include <trans/target.hpp> +#include <hir/expr.hpp> // HACK + + #define DUMP_BEFORE_ALL 1 #define DUMP_BEFORE_CONSTPROPAGATE 0 #define CHECK_AFTER_PASS 1 @@ -2939,6 +2942,9 @@ void MIR_OptimiseCrate(::HIR::Crate& crate, bool do_minimal_optimisation) { ::MIR::OuterVisitor ov { crate, [do_minimal_optimisation](const auto& res, const auto& p, auto& expr, const auto& args, const auto& ty) { + if( ! dynamic_cast<::HIR::ExprNode_Block*>(expr.get()) ) { + return ; + } if( do_minimal_optimisation ) { MIR_OptimiseMin(res, p, *expr.m_mir, args, ty); } |