Skip to content
  1. Jan 20, 2009
  2. Jan 19, 2009
    • Dan Gohman's avatar
      Remove SDNode's virtual destructor. This makes it impossible for · 534c8a2d
      Dan Gohman authored
      SDNode subclasses to keep state that requires non-trivial
      destructors, however it was already effectively impossible,
      since the destructor isn't actually ever called. There currently
      aren't any SDNode subclasses affected by this, and in general
      it's desireable to keep SDNode objects light-weight.
      
      This eliminates the last virtual member function in the SDNode
      class, so it eliminates the need for a vtable pointer, making
      SDNode smaller.
      
      llvm-svn: 62539
      534c8a2d
    • Chris Lattner's avatar
      improve compatibility with cygwin, patch by Jay Foad! · 73d7fe5a
      Chris Lattner authored
      llvm-svn: 62535
      73d7fe5a
    • Chris Lattner's avatar
      div/rem by zero and div/rem overflow are both undefined according to · dd8ef1bf
      Chris Lattner authored
      langref.  Constant fold them to undef instead of trying to preserve
      the trap.  This fixes PR3354.
      
      llvm-svn: 62534
      dd8ef1bf
    • Dan Gohman's avatar
      Fix SelectionDAG::ReplaceAllUsesWith to behave correctly when · cd0b1bf0
      Dan Gohman authored
      uses are added to the From node while it is processing From's
      use list, because of automatic local CSE. The fix is to avoid
      visiting any new uses.
      
      Fix a few places in the DAGCombiner that assumed that after
      a RAUW call, the From node has no users and may be deleted.
      
      This fixes PR3018.
      
      llvm-svn: 62533
      cd0b1bf0
    • Chris Lattner's avatar
      6f34e317
    • Dale Johannesen's avatar
      compile-time fmod was done incorrectly. PR 3316. · 740e9870
      Dale Johannesen authored
      llvm-svn: 62528
      740e9870
    • Devang Patel's avatar
      Verify Intrinsic::dbg_declare. · 8c8aa2ac
      Devang Patel authored
      llvm-svn: 62526
      8c8aa2ac
    • Evan Cheng's avatar
      DIVREM isel deficiency: If sign bit is known zero, zero out DX/EDX/RDX instead... · 44cc5543
      Evan Cheng authored
      DIVREM isel deficiency: If sign bit is known zero, zero out DX/EDX/RDX instead of sign extending the low part (in AX/EAX/RAX) into it.
      
      llvm-svn: 62519
      44cc5543
    • Evan Cheng's avatar
      Fix 80 col violations. · 0346c04f
      Evan Cheng authored
      llvm-svn: 62518
      0346c04f
    • Evan Cheng's avatar
      Handle ISD::DECLARE with PIC relocation model. · 6c024982
      Evan Cheng authored
      llvm-svn: 62516
      6c024982
    • Nick Lewycky's avatar
      Fix typo, sentence fragment. · 030c450f
      Nick Lewycky authored
      llvm-svn: 62512
      030c450f
    • Bill Wendling's avatar
      Temporarily revert r62487. It's causing this error during a release bootstrap of · 534d2e0b
      Bill Wendling authored
      llvm-gcc. Most likely, it's miscompiling one of the "gen*" programs:
      
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./prev-gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./prev-gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.6.0/bin/ -c -g -O2 -mdynamic-no-pic -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -mdynamic-no-pic -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/build -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 -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS   -o build/gencondmd.o build/gencondmd.c
      ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected '}' before ')' token
      ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: warning: excess elements in struct initializer
      ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: warning: (near initialization for 'insn_conditions[4]')
      ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected '}' before ')' token
      ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected ',' or ';' before ')' token
      ../../llvm-gcc.src/gcc/config/i386/mmx.md:927: error: expected identifier or '(' before ',' token
      ../../llvm-gcc.src/gcc/config/i386/sse.md:3458: error: expected identifier or '(' before ',' token
      ...
      
      llvm-svn: 62506
      534d2e0b
    • Evan Cheng's avatar
      Minor tweak to LowerUINT_TO_FP_i32. Bias (after scalar_to_vector) has two uses... · 8f367e53
      Evan Cheng authored
      Minor tweak to LowerUINT_TO_FP_i32. Bias (after scalar_to_vector) has two uses so we should make it the second source operand of ISD::OR so 2-address pass won't have to be smart about commuting.
      
      %reg1024<def> = MOVSDrm %reg0, 1, %reg0, <cp#0>, Mem:LD(8,8) [ConstantPool + 0]
      %reg1025<def> = MOVSD2PDrr %reg1024
      %reg1026<def> = MOVDI2PDIrm <fi#-1>, 1, %reg0, 0, Mem:LD(4,16) [FixedStack-1 + 0]
      %reg1027<def> = ORPSrr %reg1025<kill>, %reg1026<kill>
      %reg1028<def> = MOVPD2SDrr %reg1027<kill>
      %reg1029<def> = SUBSDrr %reg1028<kill>, %reg1024<kill>
      %reg1030<def> = CVTSD2SSrr %reg1029<kill>
      MOVSSmr <fi#0>, 1, %reg0, 0, %reg1030<kill>, Mem:ST(4,4) [FixedStack0 + 0]
      %reg1031<def> = LD_Fp32m80 <fi#0>, 1, %reg0, 0, Mem:LD(4,16) [FixedStack0 + 0]
      RET %reg1031<kill>, %ST0<imp-use,kill>
      
      The reason 2-addr pass isn't smart enough to commute the ORPSrr is because it can't look pass the MOVSD2PDrr instruction.
      
      llvm-svn: 62505
      8f367e53
    • Evan Cheng's avatar
      Now not UINT_TO_FP is legal (it's marked custom), dag combiner won't · 7e9ef4d7
      Evan Cheng authored
      optimize it to a SINT_TO_FP when the sign bit is known zero. X86 isel should perform the optimization itself.
      
      llvm-svn: 62504
      7e9ef4d7
    • Chris Lattner's avatar
      Fix PR3016, a bug which can occur do to an invalid assumption: · f2bb4ea3
      Chris Lattner authored
      we assumed a CFG structure that would be valid when all code in 
      the function is reachable, but not all code is necessarily 
      reachable.  Do a simple, but horrible, CFG walk to check for this
      case.
      
      llvm-svn: 62487
      f2bb4ea3
    • Chris Lattner's avatar
      reduce indentation by using 'continue', no functionality change. · e381d702
      Chris Lattner authored
      llvm-svn: 62477
      e381d702
    • Chris Lattner's avatar
      Fix some problems in SpeculativelyExecuteBB. Basically, · 54f0c61d
      Chris Lattner authored
      because of dead code, a phi could use the speculated instruction
      that was not in "BB2".  Make this check explicit and tighten up 
      some other corners.  This fixes PR3292.  No testcase becauase this
      depends entirely on visitation order of blocks and requires a 
      sequence of 8 passes to repro.
      
      llvm-svn: 62476
      54f0c61d
    • Chris Lattner's avatar
      Make this a bit more explicit about which cases need the · e1c01e4e
      Chris Lattner authored
      check.  No functionality change.
      
      llvm-svn: 62474
      e1c01e4e
  3. Jan 18, 2009
Loading