summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2013-02-19 15:22:44 +0000
committerTom Stellard <thomas.stellard@amd.com>2013-02-19 15:22:44 +0000
commit8d469edbe3d2b0ab4bd3fe95b8dfdfc0f0aca5ec (patch)
tree8b66c1f1a05f79da868fb5e3258ec11dded355db
parent0f965aaf9bd9f41d152e4d1d7abf59cb448cc0ad (diff)
downloadbcm5719-llvm-8d469edbe3d2b0ab4bd3fe95b8dfdfc0f0aca5ec.tar.gz
bcm5719-llvm-8d469edbe3d2b0ab4bd3fe95b8dfdfc0f0aca5ec.zip
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
-rw-r--r--llvm/lib/Target/R600/R600ISelLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/R600/R600ISelLowering.cpp b/llvm/lib/Target/R600/R600ISelLowering.cpp
index a7796b62303..b5c2a9307e4 100644
--- a/llvm/lib/Target/R600/R600ISelLowering.cpp
+++ b/llvm/lib/Target/R600/R600ISelLowering.cpp
@@ -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;
OpenPOWER on IntegriCloud