[llvm-commits] [llvm] r55898 - /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Bill Wendling isanbard at gmail.com
Mon Sep 8 10:55:04 PDT 2008


Anton,

One of your changes between r 55898 and r 55909 is causing an internal
compiler error during a full bootstrap:

/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc
-B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/
-B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/bin/
-B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/lib/
-isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/include
-isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/sys-include
-O2  -O2 -g -O2  -DIN_GCC    -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
-isystem ./include  -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED  -I. -I. -I../../llvm-gcc.src/gcc
-I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include
-I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include
-I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber
-I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include
-I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include
-DSHARED -m64 -DL_negdi2 -c ../../llvm-gcc.src/gcc/libgcc2.c -o
libgcc/x86_64/_negdi2_s.o
Assertion failed: (TargetRegisterInfo::isVirtualRegister(regA) &&
TargetRegisterInfo::isVirtualRegister(regB) && "cannot update physical
register live information"), function runOnMachineFunction, file
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/TwoAddressInstructionPass.cpp,
line 311.
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc
-B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/
-B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/bin/
-B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/lib/
-isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/include
-isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/sys-include
-O2  -O2 -g -O2  -DIN_GCC    -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
-isystem ./include  -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED  -I. -I. -I../../llvm-gcc.src/gcc
-I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include
-I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include
-I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber
-I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include
-I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include
-DSHARED -m64 -DL_lshrdi3 -c ../../llvm-gcc.src/gcc/libgcc2.c -o
libgcc/x86_64/_lshrdi3_s.o
../../llvm-gcc.src/gcc/unwind-dw2.c:1527: 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.
{standard input}:unknown:Undefined local symbol LBB21_11
{standard input}:unknown:Undefined local symbol LBB21_12
{standard input}:unknown:Undefined local symbol LBB21_13
{standard input}:unknown:Undefined local symbol LBB21_8

I'm going to revert your changes for now. Please investigate and fix. Thanks!

-bw



On Mon, Sep 8, 2008 at 7:21 AM, Anton Korobeynikov <asl at math.spbu.ru> wrote:
> Author: asl
> Date: Mon Sep  8 09:21:10 2008
> New Revision: 55898
>
> URL: http://llvm.org/viewvc/llvm-project?rev=55898&view=rev
> Log:
> Implement FRAME_TO_ARGS_OFFSET for x86-64
>
> Modified:
>    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
>
> Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=55898&r1=55897&r2=55898&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Mon Sep  8 09:21:10 2008
> @@ -258,8 +258,7 @@
>   }
>   // X86 ret instruction may pop stack.
>   setOperationAction(ISD::RET             , MVT::Other, Custom);
> -  if (!Subtarget->is64Bit())
> -    setOperationAction(ISD::EH_RETURN       , MVT::Other, Custom);
> +  setOperationAction(ISD::EH_RETURN       , MVT::Other, Custom);
>
>   // Darwin ABI issue.
>   setOperationAction(ISD::ConstantPool    , MVT::i32  , Custom);
> @@ -325,7 +324,8 @@
>     setExceptionSelectorRegister(X86::EDX);
>   }
>   setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i32, Custom);
> -
> +  setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i64, Custom);
> +
>   setOperationAction(ISD::TRAMPOLINE, MVT::Other, Custom);
>
>   setOperationAction(ISD::TRAP, MVT::Other, Legal);
> @@ -5593,19 +5593,15 @@
>   // Depths > 0 not supported yet!
>   if (cast<ConstantSDNode>(Op.getOperand(0))->getValue() > 0)
>     return SDValue();
> -
> +
>   SDValue RetAddrFI = getReturnAddressFrameIndex(DAG);
> -  return DAG.getNode(ISD::SUB, getPointerTy(), RetAddrFI,
> +  return DAG.getNode(ISD::SUB, getPointerTy(), RetAddrFI,
>                      DAG.getIntPtrConstant(!Subtarget->is64Bit() ? 4 : 8));
>  }
>
>  SDValue X86TargetLowering::LowerFRAME_TO_ARGS_OFFSET(SDValue Op,
> -                                                       SelectionDAG &DAG) {
> -  // Is not yet supported on x86-64
> -  if (Subtarget->is64Bit())
> -    return SDValue();
> -
> -  return DAG.getIntPtrConstant(8);
> +                                                     SelectionDAG &DAG) {
> +  return DAG.getIntPtrConstant(Subtarget->is64Bit() ? 16 : 8);
>  }
>
>  SDValue X86TargetLowering::LowerEH_RETURN(SDValue Op, SelectionDAG &DAG)
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



More information about the llvm-commits mailing list