[PATCH] D34255: [PowerPC] define target hook isReallyTriviallyReMaterializable

Eric Christopher via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 19 22:55:52 PDT 2017


echristo added inline comments.


================
Comment at: lib/Target/PowerPC/PPCInstrInfo.cpp:295
 
+bool PPCInstrInfo::isReallyTriviallyReMaterializable(const MachineInstr &MI,
+                                                     AliasAnalysis *AA) const {
----------------
MatzeB wrote:
> lei wrote:
> > echristo wrote:
> > > This needs a comment as to why each of these need to be marked as rematerializable here rather than in the .td file.
> > Will add:
> > 
> > // The Rematerializable flag is deprecated and if it is set, isReallyTriviallyReMaterializable() method need to be called to verify the instruction is really rematable.
> Why do you get the impression that this flag is deprecated? It's just not the only thing checked as far as I can see.
Yeah. I was wondering about that. Also, that's really confusing. The routine itself could use a comment update explaining what's going on? Or at least it wasn't horribly clear to me.


================
Comment at: lib/Target/PowerPC/PPCInstrInfo.cpp:299
+  default: 
+    llvm_unreachable("Can not confirm opcode is really rematerializable");
+    break;
----------------
MatzeB wrote:
> echristo wrote:
> > I'm not sure an unreachable is the right thing here - usually this is reserved for switch cases that can't be true rather than just a return false.
> This really should only be called for opcodes with the ReMaterializable flag set, so unreachable seems correct to me.
Ah. I missed that, OK then. Probably needs to be something like "unknown rematerializable operation" or something.


https://reviews.llvm.org/D34255





More information about the llvm-commits mailing list