We are using this helper for our 24-bit arithmetic combines, so we are now able to eliminate multi-use operations that mask the high-bits of 24-bit inputs (e.g. and x, 0xffffff)
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/AMDGPU/AMDGPUISelLowering.cpp | ||
---|---|---|
2441–2449 ↗ | (On Diff #71656) | This looks like an overly specific version of computeKnownBits. I was trying to figure out how to factor SimplifyDemandedBits to allow checking multiple uses but never got around to trying it |
2444 ↗ | (On Diff #71656) | unchecked dyn_cast |
2459–2462 ↗ | (On Diff #71656) | This can early exit if the first one failed |
lib/Target/AMDGPU/AMDGPUISelLowering.cpp | ||
---|---|---|
2441–2449 ↗ | (On Diff #71656) | For and this could also be >= 8 |
lib/Target/AMDGPU/AMDGPUISelLowering.cpp | ||
---|---|---|
2441–2449 ↗ | (On Diff #71656) | I looked into it, but I thought the cost of doing that would be too high. One idea I had ws to add an extra parameter for when you wanted to consider multiple uses. |