aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/CloneFunction.cpp
diff options
context:
space:
mode:
authorPeter Lafreniere <peter@n8pjl.ca>2024-04-26 08:34:21 -0400
committerGitHub <noreply@github.com>2024-04-26 20:34:21 +0800
commitc4c9d4f306732c854fa88d2f30c1a22bb025d0c9 (patch)
treea3c0a2bc1a39c0e6fa01c1f451a8671066c1c2f1 /llvm/lib/Transforms/Utils/CloneFunction.cpp
parent39f1b2de6f6d45de226292fd24e2a2ceaab6c82f (diff)
downloadllvm-c4c9d4f306732c854fa88d2f30c1a22bb025d0c9.zip
llvm-c4c9d4f306732c854fa88d2f30c1a22bb025d0c9.tar.gz
llvm-c4c9d4f306732c854fa88d2f30c1a22bb025d0c9.tar.bz2
[M68k] Add support for MOVEQ instruction (#88542)
Add support for the moveq instruction, which is both faster and smaller (1/2 to 1/3 the size) than a move with immediate to register. This change introduces the instruction, along with a set of pseudoinstructions to handle immediate moves to a register that is lowered post-RA. Pseudos are used as moveq can only write to the full register, which makes matching i8 and i16 immediate loads difficult in tablegen. Furthermore, selecting moveq before RA constrains that immediate to be moved into a data register, which may not be optimal. The bulk of this change are fixes to existing tests, which cover the new functionality sufficiently.
Diffstat (limited to 'llvm/lib/Transforms/Utils/CloneFunction.cpp')
0 files changed, 0 insertions, 0 deletions