diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-10-04 22:41:01 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-10-04 22:41:01 +0000 |
commit | 2a135ae53057ef7d0e9123d450b958d0d59d8ccc (patch) | |
tree | b25ce125df0bf4e6321a63bfca7a9e9717b08a4c /lib/MC/ELFObjectWriter.cpp | |
parent | 48f9543404c965d3cfca16a55b8c237b02486f40 (diff) |
This DAG combine BRCOND transformation can look pass truncate of the operand:
// %a = ...
// %b = and i32 %a, 2
// %c = srl i32 %b, 1
// brcond i32 %c ...
//
// into
//
// %a = ...
// %b = and i32 %a, 2
// %c = setcc eq %b, 0
// brcond %c ...
Make sure it restores local variable N1, which corresponds to the condition operand if it fails to match.
This apparently breaks TCE but since that backend isn't in the tree I don't have a test for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115571 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/ELFObjectWriter.cpp')
0 files changed, 0 insertions, 0 deletions