forked from OSchip/llvm-project
OpaquePtr: use byval accessor instead of inspecting pointer type. NFC.
The accessor can deal with both "byval(ty)" and "ty* byval" forms seamlessly. llvm-svn: 365769
This commit is contained in:
parent
27658ed512
commit
f2d6597653
|
@ -9491,7 +9491,7 @@ void SelectionDAGISel::LowerArguments(const Function &F) {
|
|||
unsigned PartBase = 0;
|
||||
Type *FinalType = Arg.getType();
|
||||
if (Arg.hasAttribute(Attribute::ByVal))
|
||||
FinalType = cast<PointerType>(FinalType)->getElementType();
|
||||
FinalType = Arg.getParamByValType();
|
||||
bool NeedsRegBlock = TLI->functionArgumentNeedsConsecutiveRegisters(
|
||||
FinalType, F.getCallingConv(), F.isVarArg());
|
||||
for (unsigned Value = 0, NumValues = ValueVTs.size();
|
||||
|
@ -9551,8 +9551,7 @@ void SelectionDAGISel::LowerArguments(const Function &F) {
|
|||
Flags.setByVal();
|
||||
}
|
||||
if (Flags.isByVal() || Flags.isInAlloca()) {
|
||||
PointerType *Ty = cast<PointerType>(Arg.getType());
|
||||
Type *ElementTy = Ty->getElementType();
|
||||
Type *ElementTy = Arg.getParamByValType();
|
||||
|
||||
// For ByVal, size and alignment should be passed from FE. BE will
|
||||
// guess if this info is not there but there are cases it cannot get
|
||||
|
|
Loading…
Reference in New Issue