Skip to content
  1. Jul 18, 2011
  2. Jun 21, 2011
  3. Jun 09, 2011
  4. Jun 08, 2011
  5. May 31, 2011
  6. May 26, 2011
  7. May 25, 2011
  8. May 23, 2011
    • Akira Hatanaka's avatar
      Fix MipsAsmPrinter::printSavedRegsBitmaskChange. Remove functions and variables · 90d96f44
      Akira Hatanaka authored
      in MipsFunctionInfo that are no longer used.
      
      llvm-svn: 131917
      90d96f44
    • Akira Hatanaka's avatar
      Change StackDirection from StackGrowsUp to StackGrowsDown. · f9e5750f
      Akira Hatanaka authored
      The following improvements are accomplished as a result of applying this patch:
      - Fixed frame objects' offsets (relative to either the virtual frame pointer or
        the stack pointer) are set before instruction selection is completed. There is
        no need to wait until Prologue/Epilogue Insertion is run to set them.
      - Calculation of final offsets of fixed frame objects is straightforward. It is
        no longer necessary to assign negative offsets to fixed objects for incoming
        arguments in order to distinguish them from the others.
      - Since a fixed object has its relative offset set during instruction
        selection, there is no need to conservatively set its alignment to 4.
      - It is no longer necessary to reorder non-fixed frame objects in 
        MipsFrameLowering::adjustMipsStackFrame.
      
      llvm-svn: 131915
      f9e5750f
  9. May 20, 2011
  10. Apr 15, 2011
  11. Sep 28, 2010
  12. Apr 17, 2010
  13. Nov 09, 2009
  14. 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
  15. Jun 03, 2009
    • Dan Gohman's avatar
      Convert Alpha and Mips to use a MachineFunctionInfo subclass to · d5ca7064
      Dan Gohman authored
      carry GlobalBaseReg, and GlobalRetAddr too in Alpha's case. This
      eliminates the need for them to search through the
      MachineRegisterInfo livein list in order to identify these
      virtual registers. EmitLiveInCopies is now the only user of the
      virtual register portion of MachineRegisterInfo's livein data.
      
      llvm-svn: 72802
      d5ca7064
  16. Jan 05, 2009
  17. 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
  18. 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
  19. Dec 29, 2007
  20. Nov 05, 2007
  21. Oct 09, 2007
    • Bruno Cardoso Lopes's avatar
      Position Independent Code (PIC) support [2] · 35d86e60
      Bruno Cardoso Lopes authored
      - Added a function to hold the stack location 
        where GP must be stored during LowerCALL
      - AsmPrinter now emits directives based on
        relocation type
      - PIC_ set to default relocation type (same as GCC)
      
      llvm-svn: 42779
      35d86e60
  22. Aug 28, 2007
  23. Jul 12, 2007
Loading