[llvm-dev] Machinepipeliner interface. shouldIgnoreForPipelining, actually not ignoring.

Sander via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 1 06:06:30 PDT 2020


Hi all,

I think there is a mistake in the machinepipeliner interface. In the 
TargetInstrInfo.h in the class PipelinerLoopInfo there is a function 
"bool shouldIgnoreForPipelining(const MachineInstr *MI)". The 
description says that if this function returns true for a given 
MachineInstr it will not be pipelined.

However in reality it is not ignored and is being considered for 
pipelining. I implemented this function in my own backend, and put an 
instruction there that I want to be ignored, but still this instruction 
end up trying to be pipelined. I implemented the same way as in 
PPCInstrInfo.cpp, and I think it has the same bug. Is this a bug, or am 
I forgetting something?

Kind regards,

Sander Ruben



More information about the llvm-dev mailing list