Skip to content
  1. Jan 10, 2011
  2. Nov 18, 2010
  3. Nov 15, 2010
  4. Aug 27, 2010
  5. Jun 02, 2010
  6. May 14, 2010
  7. Apr 21, 2010
  8. Apr 02, 2010
  9. Mar 09, 2010
  10. Feb 01, 2010
  11. Jan 20, 2010
  12. Nov 25, 2009
  13. Nov 12, 2009
    • David Greene's avatar
      · 1fbe0544
      David Greene authored
      Add a bool flag to StackObjects telling whether they reference spill
      slots.  The AsmPrinter will use this information to determine whether to
      print a spill/reload comment.
      
      Remove default argument values.  It's too easy to pass a wrong argument
      value when multiple arguments have default values.  Make everything
      explicit to trap bugs early.
      
      Update all targets to adhere to the new interfaces..
      
      llvm-svn: 87022
      1fbe0544
  14. Nov 09, 2009
  15. Oct 07, 2009
    • Jim Grosbach's avatar
      Add register-reuse to frame-index register scavenging. When a target uses · fa14dd43
      Jim Grosbach authored
      a virtual register to eliminate a frame index, it can return that register
      and the constant stored there to PEI to track. When scavenging to allocate
      for those registers, PEI then tracks the last-used register and value, and
      if it is still available and matches the value for the next index, reuses
      the existing value rather and removes the re-materialization instructions.
      Fancier tracking and adjustment of scavenger allocations to keep more
      values live for longer is possible, but not yet implemented and would likely
      be better done via a different, less special-purpose, approach to the
      problem.
      
      eliminateFrameIndex() is modified so the target implementations can return
      the registers they wish to be tracked for reuse.
      
      ARM Thumb1 implements and utilizes the new mechanism. All other targets are
      simply modified to adjust for the changed eliminateFrameIndex() prototype.
      
      llvm-svn: 83467
      fa14dd43
  16. Aug 23, 2009
  17. Aug 13, 2009
  18. Aug 05, 2009
    • Dan Gohman's avatar
      Major calling convention code refactoring. · f9bbcd1a
      Dan Gohman authored
      Instead of awkwardly encoding calling-convention information with ISD::CALL,
      ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
      provides three virtual functions for targets to override:
      LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
      lowering done on the special nodes. They provide the same information, but
      in a more immediately usable format.
      
      This also reworks much of the target-independent tail call logic. The
      decision of whether or not to perform a tail call is now cleanly split
      between target-independent portions, and the target dependent portion
      in IsEligibleForTailCallOptimization.
      
      This also synchronizes all in-tree targets, to help enable future
      refactoring and feature work.
      
      llvm-svn: 78142
      f9bbcd1a
  19. Jul 25, 2009
    • Daniel Dunbar's avatar
      More migration to raw_ostream, the water has dried up around the iostream hole. · 0dd5e1ed
      Daniel Dunbar authored
       - Some clients which used DOUT have moved to DEBUG. We are deprecating the
         "magic" DOUT behavior which avoided calling printing functions when the
         statement was disabled. In addition to being unnecessary magic, it had the
         downside of leaving code in -Asserts builds, and of hiding potentially
         unnecessary computations.
      
      llvm-svn: 77019
      0dd5e1ed
  20. Jul 14, 2009
  21. Jul 11, 2009
    • Torok Edwin's avatar
      assert(0) -> LLVM_UNREACHABLE. · 56d06597
      Torok Edwin authored
      Make llvm_unreachable take an optional string, thus moving the cerr<< out of
      line.
      LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
      NDEBUG builds.
      
      llvm-svn: 75379
      56d06597
  22. May 16, 2009
  23. Mar 21, 2009
  24. Mar 16, 2009
  25. Feb 23, 2009
  26. Feb 13, 2009
  27. Oct 03, 2008
  28. Sep 27, 2008
    • Evan Cheng's avatar
      Re-apply 56683 with fixes. · 3774b2f2
      Evan Cheng authored
      llvm-svn: 56748
      3774b2f2
    • Bill Wendling's avatar
      Temporarily reverting r56683. This is causing a failure during the build of llvm-gcc: · c966a737
      Bill Wendling authored
      /Volumes/Gir/devel/llvm/clean/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Gir/devel/llvm/clean/llvm-gcc.obj/./gcc/ -B/Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -mmacosx-version-min=10.4 -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/Gir/devel/llvm/clean/llvm.obj/include -I/Volumes/Gir/devel/llvm/clean/llvm.src/include -fexceptions -fvisibility=hidden -DHIDE_EXPORTS -c ../../llvm-gcc.src/gcc/unwind-dw2-fde-darwin.c -o libgcc/./unwind-dw2-fde-darwin.o
      Assertion failed: (TargetRegisterInfo::isVirtualRegister(regA) && TargetRegisterInfo::isVirtualRegister(regB) && "cannot update physical register live information"), function runOnMachineFunction, file /Volumes/Gir/devel/llvm/clean/llvm.src/lib/CodeGen/TwoAddressInstructionPass.cpp, line 311.
      ../../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}:3521:non-relocatable subtraction expression, "_dwarf_reg_size_table" minus "L20$pb"
      {standard input}:3521:symbol: "_dwarf_reg_size_table" can't be undefined in a subtraction expression
      {standard input}:3520:non-relocatable subtraction expression, "_dwarf_reg_size_table" minus "L20$pb"
      ...
      
      llvm-svn: 56703
      c966a737
  29. Sep 26, 2008
  30. Aug 07, 2008
    • Bruno Cardoso Lopes's avatar
      Added Mips support for DYNAMIC_STACKALLOC · 02ff450f
      Bruno Cardoso Lopes authored
      Fixed bug in adjustMipsStackFrame, which was breaking
      while trying to access a dead stack object index. Also added
      one more alignment before fixing the callee saved registers
      stack offset adjustment.
      
      llvm-svn: 54485
      02ff450f
  31. Aug 06, 2008
    • Bruno Cardoso Lopes's avatar
      Added support for fp callee saved registers. · 4659aad6
      Bruno Cardoso Lopes authored
      Added fp register clobbering during calls.
      Added AsmPrinter support for "fmask", a bitmask that indicates where on the 
      stack the fp callee saved registers are.
      
      Fixed the stack frame layout for Mips, now the callee saved regs 
      are in the right stack location (a little documentation about how this
      stack frame must look like is present in MipsRegisterInfo.cpp).
      This was done using the method MipsRegisterInfo::adjustMipsStackFrame
      To be more clear, these are examples of what is solves :  
      
      1) FP and RA are also callee saved, and despite they aren't in CSI they 
         must be saved before the fp callee saved registers. 
      2) The ABI requires that local varibles are allocated before the callee 
         saved register area, the opposite behavior from the default allocation.
      3) CPU and FPU saved register area must be aligned independent of each
         other.
      
      llvm-svn: 54403
      4659aad6
  32. Aug 02, 2008
  33. Jul 15, 2008
  34. Jul 14, 2008
    • Bruno Cardoso Lopes's avatar
      Added Subtarget support into RegisterInfo · 80ab8f96
      Bruno Cardoso Lopes authored
      Added HasABICall and HasAbsoluteCall (equivalent to gcc -mabicall and 
      -mno-shared). HasAbsoluteCall is not implemented but HasABICall is the 
      default for o32 ABI. Now, both should help into a more accurate 
      relocation types implementation. 
      Added IsLinux is needed to choose between asm directives.
      Instruction name strings cleanup.
      AsmPrinter improved.
      
      llvm-svn: 53551
      80ab8f96
  35. Jul 05, 2008
    • Bruno Cardoso Lopes's avatar
      Several changes to Mips backend, experimental fp support being the most · c9c3f499
      Bruno Cardoso Lopes authored
      important.
      - Cleanup in the Subtarget info with addition of new features, not all support
        yet, but they allow the future inclusion of features easier. Among new features,
        we have : Arch family info (mips1, mips2, ...), ABI info (o32, eabi), 64-bit
        integer
        and float registers, allegrex vector FPU (VFPU), single float only support.
      - TargetMachine now detects allegrex core.
      - Added allegrex (Mips32r2) sext_inreg instructions.
      - *Added Float Point Instructions*, handling single float only, and
        aliased accesses for 32-bit FPUs.
      - Some cleanup in FP instruction formats and FP register classes.
      - Calling conventions improved to support mips 32-bit EABI.
      - Added Asm Printer support for fp cond codes.
      - Added support for sret copy to a return register.
      - EABI support added into LowerCALL and FORMAL_ARGS.
      - MipsFunctionInfo now keeps a virtual register per function to track the
        sret on function entry until function ret.
      - MipsInstrInfo FP support into methods (isMoveInstr, isLoadFromStackSlot, ...),
        FP cond codes mapping and initial FP Branch Analysis.
      - Two new Mips SDNode to handle fp branch and compare instructions : FPBrcond,
        FPCmp
      - MipsTargetLowering : handling different FP classes, Allegrex support, sret
        return copy, no homing location within EABI, non 32-bit stack objects
        arguments, and asm constraint for float.
      
      llvm-svn: 53146
      c9c3f499
  36. Jun 04, 2008
  37. Mar 31, 2008
Loading