This only handles simple masks, not shifted masks, for now.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | ||
|---|---|---|
| 675 | Just save the type above? | |
| llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | ||
|---|---|---|
| 670 | This looks like it will combine: %1:_(s32) = G_CONSTANT i32 65535 %2:_(s32) = G_SEXTLOAD %0 :: (load (s8)) %3:_(s32) = G_AND %2, %1 into: %2:_(s32) = G_ZEXTLOAD %0 :: (load (s8)) which would be wrong. | |
Comment Actions
Only apply combine if the mask does not exceed in-memory size
| llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | ||
|---|---|---|
| 670 | Good catch, thanks! | |
| llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | ||
|---|---|---|
| 637 | We can use the BuildFnTy typedef here. | |
We can use the BuildFnTy typedef here.