This is an archive of the discontinued LLVM Phabricator instance.

Fix IRInterpreter guard variable replacement.
AbandonedPublic

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

Details

Reviewers
None
Summary

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 <scallanan@apple.com>​

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