diff options
author | Jan Voung <jvoung@chromium.org> | 2012-09-17 10:20:01 -0700 |
---|---|---|
committer | Jan Voung <jvoung@chromium.org> | 2012-09-17 10:20:01 -0700 |
commit | 0365986a33ef5d04ea505cf1d73299386f01fdf9 (patch) | |
tree | 4f7074fcb5abfd8e1e1a96c9b70c1644c6391a28 /lib/Support/DynamicLibrary.cpp | |
parent | c4d12e6c99fcc1d28b46f43cd85c5e3abc88edc0 (diff) |
Be more conservative about EFLAGS optimizations that may
introduce copies (PUSHF and POPF). Earlier, we had allowed them,
and then rewritten the PUSHF and POPF at a later stage.
However, later MachineInstr passes are too late because there is no
longer any type information. Well, that's not completely
true -- we may be able to beef up the NaClRewrite pass and
scan backwards for the opcode of previous defining Arith
Instruction then from the opcode infer the type of the
operands...
It seems like skipping the earlier DAG optimization, and
letting the existing later peephole pass clean up would be
better (we don't have to copy an opcode table into the
NaCl rewrite pass).
BUG= http://code.google.com/p/nativeclient/issues/detail?id=2711
BUG= http://code.google.com/p/nativeclient/issues/detail?id=3031
TEST= check asm of bitcode file from bug 3031
TEST= pnacl/test.sh test-x86-64 run_srpc_message_untrusted_test on merged llvm
Review URL: https://codereview.chromium.org/10907251
Diffstat (limited to 'lib/Support/DynamicLibrary.cpp')
0 files changed, 0 insertions, 0 deletions