aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorJingu Kang <jingu.kang@arm.com>2021-09-22 17:01:21 +0100
committerJingu Kang <jingu.kang@arm.com>2021-09-28 11:57:43 +0100
commit864b206796ae8aa7f35f830655337751dbd9176c (patch)
tree6e5bc4c871b2f7a9ac4741fa45bdd213e3705cbd /clang/lib/CodeGen/CodeGenFunction.cpp
parent4f01a02d738b033c10bfed5b47014fc197509a4f (diff)
downloadllvm-864b206796ae8aa7f35f830655337751dbd9176c.zip
llvm-864b206796ae8aa7f35f830655337751dbd9176c.tar.gz
llvm-864b206796ae8aa7f35f830655337751dbd9176c.tar.bz2
[AArch64] Split bitmask immediate of bitwise AND operation
MOVi32imm + ANDWrr ==> ANDWri + ANDWri MOVi64imm + ANDXrr ==> ANDXri + ANDXri The mov pseudo instruction could be expanded to multiple mov instructions later. In this case, try to split the constant operand of mov instruction into two bitmask immediates. It makes only two AND instructions intead of multiple mov + and instructions. Added a peephole optimization pass on MIR level to implement it. Differential Revision: https://reviews.llvm.org/D109963
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions