Skip to content
  1. Dec 09, 2010
  2. Dec 07, 2010
  3. Nov 12, 2010
  4. Nov 10, 2010
  5. Nov 09, 2010
  6. Aug 19, 2010
  7. Aug 17, 2010
  8. Jun 21, 2010
  9. Mar 19, 2010
  10. Feb 28, 2010
  11. Feb 17, 2010
  12. Feb 14, 2010
  13. Jan 19, 2010
  14. Oct 29, 2009
  15. Aug 11, 2009
  16. May 27, 2009
  17. Dec 03, 2008
  18. Oct 12, 2008
  19. Sep 12, 2008
  20. Aug 13, 2008
    • Bruno Cardoso Lopes's avatar
      Removed SELECT_CC custom lowering. This is not needed anymore, the SELECT node · 92c64ae2
      Bruno Cardoso Lopes authored
      is lowered properly and covers everything LowerSELECT_CC did.
      Added method printUnsignedImm in AsmPrinter to print uimm16 operands. This
      avoid the ugly instruction by instruction checking in printOperand.
      Added a swap instruction present in the allegrex core.
      Added two conditional instructions present in the allegrex core : MOVZ and MOVN.
      They both allow a more efficient SELECT operation for integers.
      Also added SELECT patterns to optimize MOVZ and MOVN usage.
      The brcond and setcc patterns were cleaned: redundant and suboptimal patterns
      were
      removed. The suboptimals were replaced by more efficient ones.
      Fixed some instructions that were using immZExt16 instead of immSExt16.
      
      llvm-svn: 54724
      92c64ae2
  21. Aug 08, 2008
  22. 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
  23. Aug 02, 2008
  24. Jul 30, 2008
  25. Jul 29, 2008
  26. Jul 23, 2008
  27. Jul 21, 2008
  28. 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
  29. Jul 09, 2008
  30. 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
  31. Jun 06, 2008
  32. Jun 04, 2008
  33. Mar 15, 2008
  34. Jan 17, 2008
    • Chris Lattner's avatar
      This commit changes: · 1ea55cf8
      Chris Lattner authored
      1. Legalize now always promotes truncstore of i1 to i8. 
      2. Remove patterns and gunk related to truncstore i1 from targets.
      3. Rename the StoreXAction stuff to TruncStoreAction in TLI.
      4. Make the TLI TruncStoreAction table a 2d table to handle from/to conversions.
      5. Mark a wide variety of invalid truncstores as such in various targets, e.g.
         X86 currently doesn't support truncstore of any of its integer types.
      6. Add legalize support for truncstores with invalid value input types.
      7. Add a dag combine transform to turn store(truncate) into truncstore when
         safe.
      
      The later allows us to compile CodeGen/X86/storetrunc-fp.ll to:
      
      _foo:
      	fldt	20(%esp)
      	fldt	4(%esp)
      	faddp	%st(1)
      	movl	36(%esp), %eax
      	fstps	(%eax)
      	ret
      
      instead of:
      
      _foo:
      	subl	$4, %esp
      	fldt	24(%esp)
      	fldt	8(%esp)
      	faddp	%st(1)
      	fstps	(%esp)
      	movl	40(%esp), %eax
      	movss	(%esp), %xmm0
      	movss	%xmm0, (%eax)
      	addl	$4, %esp
      	ret
      
      llvm-svn: 46140
      1ea55cf8
  35. Jan 07, 2008
  36. Jan 06, 2008
    • Chris Lattner's avatar
      Change the 'isStore' inferrer to look for 'SDNPMayStore' · a348f55e
      Chris Lattner authored
      instead of "ISD::STORE".  This allows us to mark target-specific dag
      nodes as storing (such as ppc byteswap stores).  This allows us to remove
      more explicit isStore flags from the .td files.
      
      Finally, add a warning for when a .td file contains an explicit 
      isStore and tblgen is able to infer it.
      
      llvm-svn: 45654
      a348f55e
  37. Dec 29, 2007
Loading