diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-04-29 13:39:45 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-04-29 13:40:57 -0700 |
commit | 71e46835b826351815b94ca059756eaf65595fae (patch) | |
tree | 9ed9446b5e496cc795b76ed71c75f67892befaa1 | |
parent | d9c17f85ab661735229876bcd83fa4cff7d66345 (diff) |
fix bug where we tried to emit switches in fused multiples, which led to labels on ifs in some cases; fixes #2302
-rw-r--r-- | src/relooper/Relooper.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/relooper/Relooper.cpp b/src/relooper/Relooper.cpp index ce9232d9..cd001df9 100644 --- a/src/relooper/Relooper.cpp +++ b/src/relooper/Relooper.cpp @@ -17,6 +17,10 @@ typedef std::string ministring; #endif +// uncomment these out to get LLVM errs() debugging support +//#include <llvm/Support/raw_ostream.h> +//using namespace llvm; + template <class T, class U> static bool contains(const T& container, const U& contained) { return container.count(contained); } @@ -202,6 +206,7 @@ void Block::Render(bool InLoop) { if (Fused) { PrintDebug("Fusing Multiple to Simple\n"); Parent->Next = Parent->Next->Next; + Fused->UseSwitch = false; // TODO: emit switches here Fused->RenderLoopPrefix(); // When the Multiple has the same number of groups as we have branches, |