diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-08-18 21:25:16 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-08-18 21:25:16 +0000 |
commit | dcd2342d32e92912cc457fe6ce4cd8a72c93c06b (patch) | |
tree | b1520563cd2f1746192db1f7e0e1832db332552b /Makefile | |
parent | c279ecd23c7902fbc6b436cfd8b7957607711281 (diff) | |
download | external_llvm-dcd2342d32e92912cc457fe6ce4cd8a72c93c06b.zip external_llvm-dcd2342d32e92912cc457fe6ce4cd8a72c93c06b.tar.gz external_llvm-dcd2342d32e92912cc457fe6ce4cd8a72c93c06b.tar.bz2 |
Also pass logical ops to combineSelectAndUse.
Add these transformations to the existing add/sub ones:
(and (select cc, -1, c), x) -> (select cc, x, (and, x, c))
(or (select cc, 0, c), x) -> (select cc, x, (or, x, c))
(xor (select cc, 0, c), x) -> (select cc, x, (xor, x, c))
The selects can then be transformed to a single predicated instruction
by peephole.
This transformation will make it possible to eliminate the ISD::CAND,
COR, and CXOR custom DAG nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162176 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions