forked from OSchip/llvm-project
Temporarily reverting r55292. It's causing a bootstraping failure:
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc ... src/libiberty/make-temp-file.c -o make-temp-file.o Assertion failed: (Node2Index[SU->NodeNum] > Node2Index[I->Dep->NodeNum] && "Wrong topological sorting"), function InitDAGTopologicalSorting, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp, line 508. ../../../../llvm-gcc.src/libiberty/hashtab.c:955: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. make[4]: *** [hashtab.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [multi-do] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-target-libiberty] Error 2 make: *** [all] Error 2 llvm-svn: 55295
This commit is contained in:
parent
25852069ed
commit
5b836c5f77
|
@ -1457,12 +1457,12 @@ EmitTailCallStoreRetAddr(SelectionDAG & DAG, MachineFunction &MF,
|
|||
|
||||
SDValue X86TargetLowering::LowerCALL(SDValue Op, SelectionDAG &DAG) {
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
SDValue Chain = Op.getOperand(0);
|
||||
SDValue Chain = Op.getOperand(0);
|
||||
unsigned CC = cast<ConstantSDNode>(Op.getOperand(1))->getValue();
|
||||
bool isVarArg = cast<ConstantSDNode>(Op.getOperand(2))->getValue() != 0;
|
||||
bool IsTailCall = cast<ConstantSDNode>(Op.getOperand(3))->getValue() != 0
|
||||
&& CC == CallingConv::Fast && PerformTailCallOpt;
|
||||
SDValue Callee = Op.getOperand(4);
|
||||
SDValue Callee = Op.getOperand(4);
|
||||
bool Is64Bit = Subtarget->is64Bit();
|
||||
bool IsStructRet = CallIsStructReturn(Op);
|
||||
|
||||
|
@ -1499,11 +1499,6 @@ SDValue X86TargetLowering::LowerCALL(SDValue Op, SelectionDAG &DAG) {
|
|||
MF.getInfo<X86MachineFunctionInfo>()->setTCReturnAddrDelta(FPDiff);
|
||||
}
|
||||
|
||||
// If the address is a load, i.e. indirect function call, move callseq_start
|
||||
// above the load. This makes it possible for the load to fold into the call.
|
||||
if (Callee.Val == Chain.Val && ISD::isNormalLoad(Callee.Val) &&
|
||||
Chain.hasOneUse() && Callee.hasOneUse())
|
||||
Chain = Chain.getOperand(0);
|
||||
Chain = DAG.getCALLSEQ_START(Chain, DAG.getIntPtrConstant(NumBytes));
|
||||
|
||||
SDValue RetAddrFrIdx;
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin | grep mov | count 1
|
||||
|
||||
@f = external global void ()* ; <void ()**> [#uses=1]
|
||||
|
||||
define i32 @main() nounwind {
|
||||
entry:
|
||||
load void ()** @f, align 8 ; <void ()*>:0 [#uses=1]
|
||||
tail call void %0( ) nounwind
|
||||
ret i32 0
|
||||
}
|
Loading…
Reference in New Issue