Target specific method encapsulated into the Target Lowering Info.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/include/llvm/CodeGen/TargetLowering.h | ||
---|---|---|
31 | No reason to spread this to generic code | |
llvm/lib/Target/AMDGPU/SIISelLowering.cpp | ||
11231–11232 | requiresUniformRegister is an expensive check (which really should be eliminated entirely), so should be made second only when really necessary |
llvm/include/llvm/CodeGen/TargetLowering.h | ||
---|---|---|
830 | The DA check could have skipped the virtual call |
I've reverted this in 9786e7552d5564268484357866088d0a054bccaf. This will only hurt compile time for what's really an AMDGPU only hack
llvm/include/llvm/CodeGen/TargetLowering.h | ||
---|---|---|
830 | There's no real reason to call isDivergent if DA is false. The hook should probably take a reference. You also don't need to include the header to TargetLowering (which is widely included), and cuold sink that into the implementation file | |
llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | ||
401 | This should avoid all calls with no DA available | |
llvm/lib/Target/AMDGPU/SIISelLowering.cpp | ||
11231–11232 | This part is quite important, I had to fix some really bad compile time regressions a few months ago because requiresUniformRegister is extremely slow |
No reason to spread this to generic code