Extract the existing code from getInstructionThroughput into TTImpl::getUserCost. The duplicated code in the AMDGPU backend has also been removed.
Details
Diff Detail
Unit Tests
Event Timeline
llvm/test/CodeGen/SystemZ/splitMove_undefReg_mverifier.ll | ||
---|---|---|
213 | If the change is refactoring, why it affects codegen test? |
llvm/test/CodeGen/SystemZ/splitMove_undefReg_mverifier.ll | ||
---|---|---|
213 | I think this instruction was just broken, the ShuffleVectorInst class hit an assert on it. |
llvm/test/CodeGen/SystemZ/splitMove_undefReg_mverifier.ll | ||
---|---|---|
213 | But how it was not asserted before the change? Why change in cost model can change ShuffleVectorInst behavior in codegen test? |
llvm/test/CodeGen/SystemZ/splitMove_undefReg_mverifier.ll | ||
---|---|---|
213 | Well the program flow has now completely changed. I would expect a pass run by llc has queried getUserCost which now queries the ShuffleCost where it wouldn't have before. It was only accessible when called directly or when a client queried getInstructionThroughput, which are really only things that the vectorizer does, and the vectorizer wouldn't have been running on this test. |
If the change is refactoring, why it affects codegen test?