1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/lib
Simon Pilgrim 0ccb373260 [X86] Memory folding for commutative instructions (updated)
This patch improves support for commutative instructions in the x86 memory folding implementation by attempting to fold a commuted version of the instruction if the original folding fails - if that folding fails as well the instruction is 're-commuted' back to its original order before returning.

Updated version of r219584 (reverted in r219595) - the commutation attempt now explicitly ensures that neither of the commuted source operands are tied to the destination operand / register, which was the source of all the regressions that occurred with the original patch attempt.

Added additional regression test case provided by Joerg Sonnenberger.

Differential Revision: http://reviews.llvm.org/D5818

llvm-svn: 220239
2014-10-20 22:14:22 +00:00
..
Analysis Fix a miscompile introduced in r220178. 2014-10-20 10:03:01 +00:00
AsmParser
Bitcode correct const-ness with auto and dyn_cast 2014-10-15 17:45:13 +00:00
CodeGen [PBQP] Replace the interference-constraints algorithm with a faster version 2014-10-18 17:26:07 +00:00
DebugInfo Constify input argument of RelocVisitor and DWARFContext constructors. NFC. 2014-10-20 20:28:51 +00:00
ExecutionEngine IR: Replace DataLayout::RoundUpAlignment with RoundUpToAlignment 2014-10-20 06:13:33 +00:00
IR Moved out IIT_V64 from common values section. 2014-10-20 19:25:05 +00:00
IRReader
LineEditor
Linker
LTO LTO: Document the Boolean argument from r218784 2014-10-02 21:11:04 +00:00
MC Add back commits r219835 and a fixed version of r219829. 2014-10-17 01:48:58 +00:00
Object Be more specific about return type of MachOUniversalBinary::getObjectForArch 2014-10-20 20:30:57 +00:00
Option
ProfileData Reduce double set lookups. NFC. 2014-10-10 15:32:50 +00:00
Support Introduce LLVMParseCommandLineOptions C API function. 2014-10-16 22:47:52 +00:00
TableGen Eliminate some deep std::vector copies. NFC. 2014-10-03 18:33:16 +00:00
Target [X86] Memory folding for commutative instructions (updated) 2014-10-20 22:14:22 +00:00
Transforms IR: Replace DataLayout::RoundUpAlignment with RoundUpToAlignment 2014-10-20 06:13:33 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile