Skip to content
  1. Nov 20, 2012
  2. Nov 14, 2012
  3. Nov 13, 2012
  4. Nov 06, 2012
  5. Nov 01, 2012
  6. Oct 24, 2012
  7. Oct 19, 2012
  8. Oct 18, 2012
    • Bob Wilson's avatar
      Temporarily revert the TargetTransform changes. · d6d9ccca
      Bob Wilson authored
      The TargetTransform changes are breaking LTO bootstraps of clang.  I am
      working with Nadav to figure out the problem, but I am reverting it for now
      to get our buildbots working.
      
      This reverts svn commits: 165665 165669 165670 165786 165787 165997
      and I have also reverted clang svn 165741
      
      llvm-svn: 166168
      d6d9ccca
  9. Oct 11, 2012
    • Nadav Rotem's avatar
      · e1032873
      Nadav Rotem authored
      Add a new interface to allow IR-level passes to access codegen-specific information.
      
      llvm-svn: 165665
      e1032873
  10. Oct 10, 2012
  11. Oct 09, 2012
  12. Oct 08, 2012
  13. Oct 04, 2012
  14. Sep 25, 2012
    • Sebastian Pop's avatar
      TargetLowering interface to set/get minimum block entries for jump tables. · edb31faf
      Sebastian Pop authored
      Provide interface in TargetLowering to set or get the minimum number of basic
      blocks whereby jump tables are generated for switch statements rather than an
      if sequence.
      
          getMinimumJumpTableEntries() defaults to 4.
          setMinimumJumpTableEntries() allows target configuration.
      
          This patch changes the default for the Hexagon architecture to 5
          as it improves performance on some benchmarks.
      
      llvm-svn: 164628
      edb31faf
  15. Sep 14, 2012
  16. Sep 11, 2012
    • Andrew Trick's avatar
      Reorganize MachineScheduler interfaces and publish them in the header. · 7a8e1004
      Andrew Trick authored
      The Hexagon target decided to use a lot of functionality from the
      target-independent scheduler. That's fine, and other targets should be
      able to do the same. This reorg and API update makes that easy.
      
      For the record, ScheduleDAGMI was not meant to be subclassed. Instead,
      new scheduling algorithms should be able to implement
      MachineSchedStrategy and be done. But if need be, it's nice to be
      able to extend ScheduleDAGMI, so I also made that easier. The target
      scheduler is somewhat more apt to break that way though.
      
      llvm-svn: 163580
      7a8e1004
  17. Sep 10, 2012
  18. Sep 07, 2012
    • Benjamin Kramer's avatar
      Fix alignment of .comm and .lcomm on mingw32. · 68b9f058
      Benjamin Kramer authored
      For some reason .lcomm uses byte alignment and .comm log2 alignment so we can't
      use the same setting for both. Fix this by reintroducing the LCOMM enum.
      I verified this against mingw's gcc.
      
      llvm-svn: 163420
      68b9f058
    • Benjamin Kramer's avatar
      MC: Overhaul handling of .lcomm · 47f9ec92
      Benjamin Kramer authored
      - Darwin lied about not supporting .lcomm and turned it into zerofill in the
        asm parser. Push the zerofill-conversion down into macho-specific code.
      - This makes the tri-state LCOMMType enum superfluous, there are no targets
        without .lcomm.
      - Do proper error reporting when trying to use .lcomm with alignment on a target
        that doesn't support it.
      - .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2.
      - Fixes PR13755 (.lcomm crashes on ELF).
      
      llvm-svn: 163395
      47f9ec92
  19. Sep 05, 2012
  20. Sep 04, 2012
  21. Aug 29, 2012
  22. Aug 22, 2012
  23. Aug 20, 2012
  24. Aug 13, 2012
  25. Aug 09, 2012
    • Jakob Stoklund Olesen's avatar
      Don't use getNextOperandForReg(). · 978c1280
      Jakob Stoklund Olesen authored
      This way of using getNextOperandForReg() was unlikely to work as
      intended. We don't give any guarantees about the order of operands in
      the use-def chains, so looking only at operands following a given
      operand in the chain doesn't make sense.
      
      llvm-svn: 161542
      978c1280
  26. Jul 19, 2012
  27. Jul 13, 2012
  28. Jul 07, 2012
    • Andrew Trick's avatar
      I'm introducing a new machine model to simultaneously allow simple · 87255e34
      Andrew Trick authored
      subtarget CPU descriptions and support new features of
      MachineScheduler.
      
      MachineModel has three categories of data:
      1) Basic properties for coarse grained instruction cost model.
      2) Scheduler Read/Write resources for simple per-opcode and operand cost model (TBD).
      3) Instruction itineraties for detailed per-cycle reservation tables.
      
      These will all live side-by-side. Any subtarget can use any
      combination of them. Instruction itineraries will not change in the
      near term. In the long run, I expect them to only be relevant for
      in-order VLIW machines that have complex contraints and require a
      precise scheduling/bundling model. Once itineraries are only actively
      used by VLIW-ish targets, they could be replaced by something more
      appropriate for those targets.
      
      This tablegen backend rewrite sets things up for introducing
      MachineModel type #2: per opcode/operand cost model.
      
      llvm-svn: 159891
      87255e34
  29. Jul 02, 2012
  30. Jun 26, 2012
    • Jack Carter's avatar
      There are a number of generic inline asm operand modifiers that · 5e69cffe
      Jack Carter authored
      up to r158925 were handled as processor specific. Making them 
      generic and putting tests for these modifiers in the CodeGen/Generic
      directory caused a number of targets to fail. 
      
      This commit addresses that problem by having the targets call 
      the generic routine for generic modifiers that they don't currently
      have explicit code for.
      
      For now only generic print operands 'c' and 'n' are supported.vi
      
      
      Affected files:
      
          test/CodeGen/Generic/asm-large-immediate.ll
          lib/Target/PowerPC/PPCAsmPrinter.cpp
          lib/Target/NVPTX/NVPTXAsmPrinter.cpp
          lib/Target/ARM/ARMAsmPrinter.cpp
          lib/Target/XCore/XCoreAsmPrinter.cpp
          lib/Target/X86/X86AsmPrinter.cpp
          lib/Target/Hexagon/HexagonAsmPrinter.cpp
          lib/Target/CellSPU/SPUAsmPrinter.cpp
          lib/Target/Sparc/SparcAsmPrinter.cpp
          lib/Target/MBlaze/MBlazeAsmPrinter.cpp
          lib/Target/Mips/MipsAsmPrinter.cpp
          
      MSP430 isn't represented because it did not even run with
      the long existing 'c' modifier and it was not apparent what
      needs to be done to get it inline asm ready.
      
      Contributer: Jack Carter
      llvm-svn: 159203
      5e69cffe
  31. Jun 24, 2012
  32. Jun 22, 2012
  33. Jun 18, 2012
  34. Jun 13, 2012
Loading