diff options
-rw-r--r-- | lib/Transforms/NaCl/ExpandI64.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Transforms/NaCl/ExpandI64.cpp b/lib/Transforms/NaCl/ExpandI64.cpp index 617180aafe..6e6a320b8d 100644 --- a/lib/Transforms/NaCl/ExpandI64.cpp +++ b/lib/Transforms/NaCl/ExpandI64.cpp @@ -618,6 +618,8 @@ void ExpandI64::splitInst(Instruction *I, DataLayout& DL) { for (BasicBlock::iterator I = BB->begin(); I != BB->end(); ++I) { PHINode *Phi = dyn_cast<PHINode>(I); if (!Phi) break; + // XXX note that we add a new i64 thing here. now the phi was already an i64 operation, and is being legalized anyhow, but we only notice the original inputs! + // we seem to be safe for now due to order of operation (phis show up after switches, but FIXME Phi->addIncoming(Phi->getIncomingValue(Phi->getBasicBlockIndex(SwitchBB)), NewBB); } } |