diff options
author | Arthur Eubanks <aeubanks@google.com> | 2021-05-29 22:40:07 -0700 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2021-05-29 22:40:33 -0700 |
commit | 3a6f12f9156bcebf38965d96007bd942024c75be (patch) | |
tree | dee1d4cfc30c38543bdc47f1aebf5efcab7336b5 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | |
parent | 620cef91207bbeb570a529328976040e658a60ee (diff) | |
download | llvm-3a6f12f9156bcebf38965d96007bd942024c75be.zip llvm-3a6f12f9156bcebf38965d96007bd942024c75be.tar.gz llvm-3a6f12f9156bcebf38965d96007bd942024c75be.tar.bz2 |
Revert "[NFC] Use ArgListEntry indirect types more in ISel lowering"
This reverts commit bc7d15c61da78864b35e3c114294d6e4db645611.
Dependent change is to be reverted.
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 3594756..01b0627 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -9499,7 +9499,7 @@ TargetLowering::LowerCallTo(TargetLowering::CallLoweringInfo &CLI) const { // FIXME: Split arguments if CLI.IsPostTypeLegalization Type *FinalType = Args[i].Ty; if (Args[i].IsByVal) - FinalType = Args[i].IndirectType; + FinalType = cast<PointerType>(Args[i].Ty)->getElementType(); bool NeedsRegBlock = functionArgumentNeedsConsecutiveRegisters( FinalType, CLI.CallConv, CLI.IsVarArg); for (unsigned Value = 0, NumValues = ValueVTs.size(); Value != NumValues; @@ -9572,10 +9572,11 @@ TargetLowering::LowerCallTo(TargetLowering::CallLoweringInfo &CLI) const { } Align MemAlign; if (Args[i].IsByVal || Args[i].IsInAlloca || Args[i].IsPreallocated) { - Type *ElementTy = Args[i].IndirectType; - assert(ElementTy && "Indirect type not set in ArgListEntry"); + PointerType *Ty = cast<PointerType>(Args[i].Ty); + Type *ElementTy = Ty->getElementType(); - unsigned FrameSize = DL.getTypeAllocSize(ElementTy); + unsigned FrameSize = DL.getTypeAllocSize( + Args[i].ByValType ? Args[i].ByValType : ElementTy); Flags.setByValSize(FrameSize); // info is not there but there are cases it cannot get right. |