diff options
author | Florian Hahn <flo@fhahn.com> | 2022-01-11 09:40:21 +0000 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2022-01-11 09:40:21 +0000 |
commit | 2d67a86b7c14a4f3686e50608a80adb5e7b5cb92 (patch) | |
tree | 1449d451b096549d7b8c1f22d67b77402d17b517 /llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp | |
parent | 51497dc0b20179eb145820cb8f651f026960de08 (diff) | |
download | llvm-2d67a86b7c14a4f3686e50608a80adb5e7b5cb92.zip llvm-2d67a86b7c14a4f3686e50608a80adb5e7b5cb92.tar.gz llvm-2d67a86b7c14a4f3686e50608a80adb5e7b5cb92.tar.bz2 |
[SCEVExpander] Use IntToPtr for temporary instruction.
Use PtrToInt instead Add when creating temporary instructions. The add
might get folded away with more sophisticated folding.
Diffstat (limited to 'llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp b/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp index b41b634..fe8215d 100644 --- a/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp +++ b/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp @@ -1843,8 +1843,8 @@ Value *SCEVExpander::expandCodeForImpl(const SCEV *SH, Type *Ty, bool Root) { // instruction. Instruction *Tmp; if (Inst->getType()->isIntegerTy()) - Tmp = - cast<Instruction>(Builder.CreateAdd(Inst, Inst, "tmp.lcssa.user")); + Tmp = cast<Instruction>(Builder.CreateIntToPtr( + Inst, Inst->getType()->getPointerTo(), "tmp.lcssa.user")); else { assert(Inst->getType()->isPointerTy()); Tmp = cast<Instruction>(Builder.CreatePtrToInt( |