diff options
author | Jin-Gu Kang <jaykang10@imrc.kist.re.kr> | 2013-10-03 15:58:48 +0000 |
---|---|---|
committer | Jin-Gu Kang <jaykang10@imrc.kist.re.kr> | 2013-10-03 15:58:48 +0000 |
commit | 0bf8241d4bda427f47e3374f60f0203fdab0f5b1 (patch) | |
tree | 5b256061eb1a1f7b2bc0eef4fd385b2b5b089580 /llvm/lib/MC/MCDisassembler/Disassembler.cpp | |
parent | 19a13020469072f121e99c82f1883375957fef6b (diff) | |
download | llvm-0bf8241d4bda427f47e3374f60f0203fdab0f5b1.zip llvm-0bf8241d4bda427f47e3374f60f0203fdab0f5b1.tar.gz llvm-0bf8241d4bda427f47e3374f60f0203fdab0f5b1.tar.bz2 |
Added checking code whehter target supports specific dag combining about rotate
or not. The corresponding dag patterns are as following:
"DAGCombier::MatchRotate" function in DAGCombiner.cpp
Pattern1
// fold (or (shl (*ext x), (*ext y)),
// (srl (*ext x), (*ext (sub 32, y)))) ->
// (*ext (rotl x, y))
// fold (or (shl (*ext x), (*ext y)),
// (srl (*ext x), (*ext (sub 32, y)))) ->
// (*ext (rotr x, (sub 32, y)))
pattern2
// fold (or (shl (*ext x), (*ext (sub 32, y))),
// (srl (*ext x), (*ext y))) ->
// (*ext (rotl x, y))
// fold (or (shl (*ext x), (*ext (sub 32, y))),
// (srl (*ext x), (*ext y))) ->
// (*ext (rotr x, (sub 32, y)))
llvm-svn: 191905
Diffstat (limited to 'llvm/lib/MC/MCDisassembler/Disassembler.cpp')
0 files changed, 0 insertions, 0 deletions