aboutsummaryrefslogtreecommitdiff
path: root/lib/Support/DynamicLibrary.cpp
diff options
context:
space:
mode:
authorJan Voung <jvoung@chromium.org>2012-09-17 10:20:01 -0700
committerJan Voung <jvoung@chromium.org>2012-09-17 10:20:01 -0700
commit0365986a33ef5d04ea505cf1d73299386f01fdf9 (patch)
tree4f7074fcb5abfd8e1e1a96c9b70c1644c6391a28 /lib/Support/DynamicLibrary.cpp
parentc4d12e6c99fcc1d28b46f43cd85c5e3abc88edc0 (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