diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2014-10-20 22:14:22 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2014-10-20 22:14:22 +0000 |
commit | 2f9548a3efe4cd7268f2572710608bff1218393c (patch) | |
tree | 2dc8eaf5cabc7dbf9b313ba50168023011d3d7d4 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | c1fdf7fa111f9a153a67e69d75f843ac89ce8d27 (diff) | |
download | bcm5719-llvm-2f9548a3efe4cd7268f2572710608bff1218393c.tar.gz bcm5719-llvm-2f9548a3efe4cd7268f2572710608bff1218393c.zip |
[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
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions