[llvm-commits] [llvm] r99840 - in /llvm/trunk: lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp test/CodeGen/Generic/2010-ZeroSizedArg.ll
Evan Cheng
evan.cheng at apple.com
Mon Mar 29 14:27:30 PDT 2010
Author: evancheng
Date: Mon Mar 29 16:27:30 2010
New Revision: 99840
URL: http://llvm.org/viewvc/llvm-project?rev=99840&view=rev
Log:
Fix PR4975. Avoid referencing empty vector.
Added:
llvm/trunk/test/CodeGen/Generic/2010-ZeroSizedArg.ll
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp?rev=99840&r1=99839&r2=99840&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp Mon Mar 29 16:27:30 2010
@@ -6051,8 +6051,10 @@
}
if (!I->use_empty()) {
- SDValue Res = DAG.getMergeValues(&ArgValues[0], NumValues,
- SDB->getCurDebugLoc());
+ SDValue Res;
+ if (!ArgValues.empty())
+ Res = DAG.getMergeValues(&ArgValues[0], NumValues,
+ SDB->getCurDebugLoc());
SDB->setValue(I, Res);
// If this argument is live outside of the entry block, insert a copy from
Added: llvm/trunk/test/CodeGen/Generic/2010-ZeroSizedArg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Generic/2010-ZeroSizedArg.ll?rev=99840&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/Generic/2010-ZeroSizedArg.ll (added)
+++ llvm/trunk/test/CodeGen/Generic/2010-ZeroSizedArg.ll Mon Mar 29 16:27:30 2010
@@ -0,0 +1,17 @@
+; RUN: llc < %s
+; PR4975
+
+%0 = type <{ [0 x i32] }>
+%union.T0 = type { }
+
+ at .str = private constant [1 x i8] c" "
+
+define arm_apcscc void @t(%0) nounwind {
+entry:
+ %arg0 = alloca %union.T0
+ %1 = bitcast %union.T0* %arg0 to %0*
+ store %0 %0, %0* %1, align 1
+ ret void
+}
+
+declare arm_apcscc i32 @printf(i8*, ...)
More information about the llvm-commits
mailing list