[llvm] [RISCV] Create disjoint or in RISCVGatherScatterLowering (PR #151981)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 4 07:56:16 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-risc-v
Author: Iris Shi (el-ev)
<details>
<summary>Changes</summary>
We can creating disjoint or in IRBuilder since #<!-- -->146350.
---
Full diff: https://github.com/llvm/llvm-project/pull/151981.diff
1 Files Affected:
- (modified) llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp (+2-3)
``````````diff
diff --git a/llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp b/llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
index 82c0d8d4738a4..28567ada6c004 100644
--- a/llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
+++ b/llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
@@ -167,9 +167,8 @@ static std::pair<Value *, Value *> matchStridedStart(Value *Start,
default:
llvm_unreachable("Unexpected opcode");
case Instruction::Or:
- // TODO: We'd be better off creating disjoint or here, but we don't yet
- // have an IRBuilder API for that.
- [[fallthrough]];
+ Start = Builder.CreateOr(Start, Splat, "", /* IsDisjoint = */ true);
+ break;
case Instruction::Add:
Start = Builder.CreateAdd(Start, Splat);
break;
``````````
</details>
https://github.com/llvm/llvm-project/pull/151981
More information about the llvm-commits
mailing list