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.