Page MenuHomePhabricator

Fix IRInterpreter guard variable replacement.

Authored by zturner on Jan 6 2015, 3:44 PM.



MS ABI guard variables end with @4IA, so this patch teaches the interpreter about that. Additionally, there was an issue with TurnGuardLoadIntoZero which was causing some guard uses of a variable to be missed. This fixes that by calling Instruction::replaceAllUsesWith() instead of trying to replicate that function.

This fixes between 8 and 10 tests on Windows, and in particular fixes evaluation of C / C++ local variables.

Diff Detail

Event Timeline

zturner updated this revision to Diff 17845.Jan 6 2015, 3:44 PM
zturner retitled this revision from to Fix IRInterpreter guard variable replacement..
zturner updated this object.
zturner edited the test plan for this revision. (Show Details)
zturner added a subscriber: Unknown Object (MLST).

+Sean Callanan <>​

I couldn't include you on the Phabricator issue Sean, so I'm CC'ing you
directly. PTAL

zturner abandoned this revision.Feb 5 2015, 9:07 PM