mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
R600: Fix scheduler crash caused by invalid MachinePointerInfo
Kernel function arguments are lowered to loads from the PARAM_I address space. When creating these load instructions, we were initializing their MachinePointerInfo with an Arguement object that was not attached to any function. This was causing the MachineScheduler to crash when it tried to access the parent of the Arguement. This has been fixed by initializing the MachinePointerInfo with a UndefValue instead. NOTE: This is a candidate for the Mesa stable branch. llvm-svn: 175517
This commit is contained in:
parent
f47a164f2b
commit
f22d090cf9
@ -1039,7 +1039,7 @@ SDValue R600TargetLowering::LowerFormalArguments(
|
||||
AMDGPUAS::PARAM_I_ADDRESS);
|
||||
SDValue Arg = DAG.getExtLoad(ISD::ZEXTLOAD, DL, VT, DAG.getRoot(),
|
||||
DAG.getConstant(ParamOffsetBytes, MVT::i32),
|
||||
MachinePointerInfo(new Argument(PtrTy)),
|
||||
MachinePointerInfo(UndefValue::get(PtrTy)),
|
||||
ArgVT, false, false, ArgBytes);
|
||||
InVals.push_back(Arg);
|
||||
ParamOffsetBytes += ArgBytes;
|
||||
|
Loading…
x
Reference in New Issue
Block a user