[LLVMdev] Physical register definition removed by MachineCSE
Mikael Holmén
mikael.holmen at ericsson.com
Fri Aug 15 02:18:51 PDT 2014
Hi,
My target has a special configuration register that many instructions
read implicitly, configuring for example if an add instruction should
saturate at over/underflow or not.
Now, I have a problem where the MachineCSE removes a setting of this
configuration register in a basic block, because
MachineCSE::isPhysDefTriviallyDead can't find any uses of it in the
basic block where it's defined.
Similar to other special physical registers, e.g the stack pointer, this
configuration register is marked as "reserved".
Is there anything else I need to do for the MachineCSE to leave this
register and not remove it just because it can't find any uses in the
current basic block?
Best regards,
Mikael Holmén
More information about the llvm-dev
mailing list