Skip to content
  1. Feb 10, 2009
  2. Feb 05, 2009
  3. Jan 26, 2009
  4. Jan 21, 2009
  5. Jan 14, 2009
  6. Jan 13, 2009
  7. Jan 07, 2009
  8. Dec 25, 2008
  9. Dec 23, 2008
  10. Dec 19, 2008
  11. Dec 12, 2008
  12. Dec 09, 2008
  13. Dec 07, 2008
  14. Dec 03, 2008
  15. Dec 02, 2008
  16. Nov 18, 2008
  17. Oct 30, 2008
  18. Oct 17, 2008
    • Dan Gohman's avatar
      Fun x86 encoding tricks: when adding an immediate value of 128, · ca0546fa
      Dan Gohman authored
      use a SUB instruction instead of an ADD, because -128 can be
      encoded in an 8-bit signed immediate field, while +128 can't be.
      This avoids the need for a 32-bit immediate field in this case.
      
      A similar optimization applies to 64-bit adds with 0x80000000,
      with the 32-bit signed immediate field.
      
      To support this, teach tablegen how to handle 64-bit constants.
      
      llvm-svn: 57663
      ca0546fa
    • Dan Gohman's avatar
      Define patterns for shld and shrd that match immediate · a39b0a1f
      Dan Gohman authored
      shift counts, and patterns that match dynamic shift counts
      when the subtract is obscured by a truncate node.
      
      Add DAGCombiner support for recognizing rotate patterns
      when the shift counts are defined by truncate nodes.
      
      Fix and simplify the code for commuting shld and shrd
      instructions to work even when the given instruction doesn't
      have a parent, and when the caller needs a new instruction.
      
      These changes allow LLVM to use the shld, shrd, rol, and ror
      instructions on x86 to replace equivalent code using two
      shifts and an or in many more cases.
      
      llvm-svn: 57662
      a39b0a1f
  19. Oct 12, 2008
  20. Oct 01, 2008
  21. Sep 16, 2008
  22. Sep 12, 2008
  23. Sep 08, 2008
    • Anton Korobeynikov's avatar
      Reapply 55899: First draft of EH support on x86/64-linux · 2fd24e77
      Anton Korobeynikov authored
      Now with fix, which prevents subtle codegen bug to trigger on darwin.
      No fix for bug though, it's still there.
      
      llvm-svn: 55955
      2fd24e77
    • Bill Wendling's avatar
      Reverting r55898 to r55909. One of these patches was causing an ICE during the... · 99b83712
      Bill Wendling authored
      Reverting r55898 to r55909. One of these patches was causing an ICE during the full bootstrap on Darwin:
      
      /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
      
      llvm-svn: 55928
      99b83712
    • Anton Korobeynikov's avatar
      First draft of EH support on x86/64-linux · 82b95400
      Anton Korobeynikov authored
      llvm-svn: 55899
      82b95400
  24. Aug 30, 2008
  25. Aug 28, 2008
    • Dale Johannesen's avatar
      Split the ATOMIC NodeType's to include the size, e.g. · 41be0d44
      Dale Johannesen authored
      ATOMIC_LOAD_ADD_{8,16,32,64} instead of ATOMIC_LOAD_ADD.
      Increased the Hardcoded Constant OpActionsCapacity to match.
      Large but boring; no functional change.
      
      This is to support partial-word atomics on ppc; i8 is
      not a valid type there, so by the time we get to lowering, the
      ATOMIC_LOAD nodes looks the same whether the type was i8 or i32.
      The information can be added to the AtomicSDNode, but that is the
      largest SDNode; I don't fully understand the SDNode allocation,
      but it is sensitive to the largest node size, so increasing
      that must be bad.  This is the alternative.
      
      llvm-svn: 55457
      41be0d44
  26. Aug 27, 2008
  27. Aug 25, 2008
  28. Aug 22, 2008
Loading