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