Skip to content
  1. Jul 23, 2008
  2. Jul 21, 2008
  3. 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
  4. Jul 09, 2008
  5. 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
  6. Jun 06, 2008
  7. Jun 04, 2008
  8. Mar 15, 2008
  9. 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
  10. Jan 07, 2008
  11. 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
  12. Dec 29, 2007
  13. Dec 13, 2007
  14. Nov 13, 2007
  15. Nov 12, 2007
  16. Nov 05, 2007
  17. Oct 26, 2007
  18. Oct 09, 2007
  19. Sep 24, 2007
  20. Sep 11, 2007
  21. Aug 18, 2007
    • Bruno Cardoso Lopes's avatar
      MipsHi now has ouput flag · 9fbef510
      Bruno Cardoso Lopes authored
      MipsAdd SDNode created to add support to an Add opcode which supports input flag
      Added an instruction itinerary to all instruction classes
      Added branches with zero cond codes
      Now call clobbers all non-callee saved registers
      Call w/ register support added
      Added DelaySlot to branch and load instructions
      Added patterns to handle all setcc, brcond/setcc and MipsAdd instructions
      
      llvm-svn: 41161
      9fbef510
  22. Jul 21, 2007
  23. Jul 19, 2007
    • Evan Cheng's avatar
      Change instruction description to split OperandList into OutOperandList and · 94b5a80b
      Evan Cheng authored
      InOperandList. This gives one piece of important information: # of results
      produced by an instruction.
      An example of the change:
      def ADD32rr  : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2),
                       "add{l} {$src2, $dst|$dst, $src2}",
                       [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
      =>
      def ADD32rr  : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2),
                       "add{l} {$src2, $dst|$dst, $src2}",
                       [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
      
      llvm-svn: 40033
      94b5a80b
  24. Jul 12, 2007
  25. Jun 06, 2007
    • Bruno Cardoso Lopes's avatar
      Initial Mips support, here we go! =) · 35e43c49
      Bruno Cardoso Lopes authored
      - Modifications from the last patch included
        (issues pointed by Evan Cheng are now fixed).
      - Added more MipsI instructions.
      - Added more patterns to match branch instructions.
      
      llvm-svn: 37461
      35e43c49
Loading