[PATCH] D31852: [PowerPC] Convert reg/reg instructions fed by constants to reg/imm instructions (pre and post RA)
Hal Finkel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 12 08:07:11 PST 2017
hfinkel accepted this revision.
hfinkel added a comment.
This revision is now accepted and ready to land.
In https://reviews.llvm.org/D31852#937664, @nemanjai wrote:
> @hfinkel What do you think about this? Do we want to proceed with this? We actually convert a lot of instructions with this and it has a proven effect on performance. The updated patch actually converts and deletes an extra ~1,000 instructions in bootstrap.
Yes, we should proceed.
================
Comment at: lib/Target/PowerPC/PPCInstrInfo.cpp:2314
+ unsigned ConstantOperand = ~0U;
+ MachineInstr *DefMI = getConstantDefMI(MI, ConstantOperand,
+ SeenIntermediateUse);
----------------
I see why you did this, but I don't like the interface to this function: it is unintuitive that it might return non-null, and yet, you also need to check that the ConstantOp is not -1 to know if the return value is valid. Can you please change this so that it uniformly returns non-null only if it succeeds (and, thus, the constant is valid).
Repository:
rL LLVM
https://reviews.llvm.org/D31852
More information about the llvm-commits
mailing list