[llvm] [SimplifyLibCalls] Use constant 64-bit indices for ExtractElement (PR #209020)
Andreas Jonson via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 12 06:38:08 PDT 2026
https://github.com/andjo403 created https://github.com/llvm/llvm-project/pull/209020
The canonical form preferred by instCombine is to use 64-bit values for constant index in ExtractElement see
https://github.com/llvm/llvm-project/blob/9d5d8834793da9efe297620db3ef39633688f830/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp#L401-L411
>From 50d41228d23a1a7c1da78f73de7a8edf82bc1306 Mon Sep 17 00:00:00 2001
From: Andreas Jonson <andjo403 at hotmail.com>
Date: Sun, 12 Jul 2026 15:36:23 +0200
Subject: [PATCH] [SimplifyLibCalls] Use constant 64-bit indices for
ExtractElement
---
llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
index b524c9dd83f4e..b167fabdcf3ba 100644
--- a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
@@ -2984,10 +2984,8 @@ static bool insertSinCosCall(IRBuilderBase &B, Function *OrigCallee, Value *Arg,
Sin = B.CreateExtractValue(SinCos, 0, "sinpi");
Cos = B.CreateExtractValue(SinCos, 1, "cospi");
} else {
- Sin = B.CreateExtractElement(SinCos, ConstantInt::get(B.getInt32Ty(), 0),
- "sinpi");
- Cos = B.CreateExtractElement(SinCos, ConstantInt::get(B.getInt32Ty(), 1),
- "cospi");
+ Sin = B.CreateExtractElement(SinCos, uint64_t{0}, "sinpi");
+ Cos = B.CreateExtractElement(SinCos, uint64_t{1}, "cospi");
}
return true;
More information about the llvm-commits
mailing list