[clang] [CodeGen][Hexagon] Replace of PointerType::get(Type) with opaque version (NFC) (PR #126274)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 7 09:38:46 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-hexagon
Author: Mats Jun Larsen (junlarsen)
<details>
<summary>Changes</summary>
Follow-up to https://github.com/llvm/llvm-project/issues/123569
The obsolete bitcasts on the LoadInsts are also removed.
---
Full diff: https://github.com/llvm/llvm-project/pull/126274.diff
1 Files Affected:
- (modified) clang/lib/CodeGen/Targets/Hexagon.cpp (+5-14)
``````````diff
diff --git a/clang/lib/CodeGen/Targets/Hexagon.cpp b/clang/lib/CodeGen/Targets/Hexagon.cpp
index 8fd2a81494d998c..6ad247a5056d376 100644
--- a/clang/lib/CodeGen/Targets/Hexagon.cpp
+++ b/clang/lib/CodeGen/Targets/Hexagon.cpp
@@ -8,6 +8,7 @@
#include "ABIInfoImpl.h"
#include "TargetInfo.h"
+#include "llvm/IR/DerivedTypes.h"
using namespace clang;
using namespace clang::CodeGen;
@@ -336,10 +337,6 @@ Address HexagonABIInfo::EmitVAArgForHexagonLinux(CodeGenFunction &CGF,
// Implement the block where argument is in register saved area
CGF.EmitBlock(InRegBlock);
- llvm::Type *PTy = CGF.ConvertType(Ty);
- llvm::Value *__saved_reg_area_p = CGF.Builder.CreateBitCast(
- __current_saved_reg_area_pointer, llvm::PointerType::getUnqual(PTy));
-
CGF.Builder.CreateStore(__new_saved_reg_area_pointer,
__current_saved_reg_area_pointer_p);
@@ -388,22 +385,16 @@ Address HexagonABIInfo::EmitVAArgForHexagonLinux(CodeGenFunction &CGF,
CGF.Builder.CreateStore(__new_overflow_area_pointer,
__current_saved_reg_area_pointer_p);
- // Bitcast the overflow area pointer to the type of argument.
- llvm::Type *OverflowPTy = CGF.ConvertTypeForMem(Ty);
- llvm::Value *__overflow_area_p = CGF.Builder.CreateBitCast(
- __overflow_area_pointer, llvm::PointerType::getUnqual(OverflowPTy));
-
CGF.EmitBranch(ContBlock);
-
// Get the correct pointer to load the variable argument
// Implement the ContBlock
CGF.EmitBlock(ContBlock);
llvm::Type *MemTy = CGF.ConvertTypeForMem(Ty);
- llvm::Type *MemPTy = llvm::PointerType::getUnqual(MemTy);
- llvm::PHINode *ArgAddr = CGF.Builder.CreatePHI(MemPTy, 2, "vaarg.addr");
- ArgAddr->addIncoming(__saved_reg_area_p, InRegBlock);
- ArgAddr->addIncoming(__overflow_area_p, OnStackBlock);
+ llvm::PHINode *ArgAddr = CGF.Builder.CreatePHI(
+ llvm::PointerType::getUnqual(MemTy->getContext()), 2, "vaarg.addr");
+ ArgAddr->addIncoming(__new_saved_reg_area_pointer, InRegBlock);
+ ArgAddr->addIncoming(__overflow_area_pointer, OnStackBlock);
return Address(ArgAddr, MemTy, CharUnits::fromQuantity(ArgAlign));
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/126274
More information about the cfe-commits
mailing list