diff options
author | Cameron Zwarich <zwarich@apple.com> | 2011-06-09 22:30:07 +0000 |
---|---|---|
committer | Cameron Zwarich <zwarich@apple.com> | 2011-06-09 22:30:07 +0000 |
commit | 361548d4b4f06898415b51acf0d33221d609f4cf (patch) | |
tree | 4bdda128e856a6b7bd7b8503cdf40aabd8f60e21 /llvm/lib | |
parent | 1877ac993757e7e7290b9b1e9f3a0f11dd2f5c28 (diff) | |
download | bcm5719-llvm-361548d4b4f06898415b51acf0d33221d609f4cf.tar.gz bcm5719-llvm-361548d4b4f06898415b51acf0d33221d609f4cf.zip |
A CCState was being created without setting whether it is in the Call or Prologue state,
causing an assertion failure downstream. This fixes <rdar://problem/9562908>.
This really seems like it should always be set at CCState creation time, so mistakes like
this can never happen. I'll take a look at doing that.
llvm-svn: 132811
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/ARMISelLowering.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp index 449537606e5..d23c7ee96e0 100644 --- a/llvm/lib/Target/ARM/ARMISelLowering.cpp +++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -1672,6 +1672,7 @@ ARMTargetLowering::IsEligibleForTailCallOptimization(SDValue Callee, SmallVector<CCValAssign, 16> ArgLocs; CCState CCInfo(CalleeCC, isVarArg, DAG.getMachineFunction(), getTargetMachine(), ArgLocs, *DAG.getContext()); + CCInfo.setCallOrPrologue(Call); CCInfo.AnalyzeCallOperands(Outs, CCAssignFnForNode(CalleeCC, false, isVarArg)); if (CCInfo.getNextStackOffset()) { |