Skip to content
  1. Feb 19, 2012
  2. Feb 18, 2012
  3. Feb 17, 2012
  4. Feb 16, 2012
  5. Feb 15, 2012
  6. Feb 14, 2012
  7. Feb 13, 2012
  8. Feb 10, 2012
    • Andrew Trick's avatar
      RegAlloc superpass: includes phi elimination, coalescing, and scheduling. · d3f8fe81
      Andrew Trick authored
      Creates a configurable regalloc pipeline.
      
      Ensure specific llc options do what they say and nothing more: -reglloc=... has no effect other than selecting the allocator pass itself. This patch introduces a new umbrella flag, "-optimize-regalloc", to enable/disable the optimizing regalloc "superpass". This allows for example testing coalscing and scheduling under -O0 or vice-versa.
      
      When a CodeGen pass requires the MachineFunction to have a particular property, we need to explicitly define that property so it can be directly queried rather than naming a specific Pass. For example, to check for SSA, use MRI->isSSA, not addRequired<PHIElimination>.
      
      CodeGen transformation passes are never "required" as an analysis
      
      ProcessImplicitDefs does not require LiveVariables.
      
      We have a plan to massively simplify some of the early passes within the regalloc superpass.
      
      llvm-svn: 150226
      d3f8fe81
    • Lang Hames's avatar
      Remove unused 'isAlias' parameter. · 351fc56a
      Lang Hames authored
      llvm-svn: 150224
      351fc56a
    • Jakob Stoklund Olesen's avatar
      Constrain the regmask search space for local live ranges. · 9ef50bd6
      Jakob Stoklund Olesen authored
      When checking a local live range for interference, restrict the binary
      search to the single block.
      
      llvm-svn: 150220
      9ef50bd6
    • Jakob Stoklund Olesen's avatar
      Cache basic block boundaries for faster RegMaskSlots access. · 25c4195e
      Jakob Stoklund Olesen authored
      Provide API to get a list of register mask slots and bits in a basic
      block.
      
      llvm-svn: 150219
      25c4195e
    • Jakob Stoklund Olesen's avatar
      Optimize LiveIntervals::intervalIsInOneMBB(). · aa06de24
      Jakob Stoklund Olesen authored
      No looping and binary searches necessary.
      
      Return a pointer to the containing block instead of just a bool.
      
      llvm-svn: 150218
      aa06de24
  9. Feb 09, 2012
  10. Feb 08, 2012
  11. Feb 04, 2012
    • Jakob Stoklund Olesen's avatar
      Drop the REDEF_BY_EC VNInfo flag. · abb26bae
      Jakob Stoklund Olesen authored
      A live range that has an early clobber tied redef now looks like a
      normal tied redef, except the early clobber def uses the early clobber
      slot.
      
      This is enough to handle any strange interference problems.
      
      llvm-svn: 149769
      abb26bae
    • Jakob Stoklund Olesen's avatar
      Correctly terminate a physreg redefined by an early clobber. · e3865781
      Jakob Stoklund Olesen authored
      I don't have a test that fails because of this, but a test case like
      CodeGen/X86/2009-12-01-EarlyClobberBug.ll exposes the problem.  EAX is
      redefined by a tied early clobber operand on inline asm, and the live
      range should look like this:
      
        %EAX,inf = [48r,64e:0)[64e,80r:1)  0@48r 1@64e
      
      Previously, the two values got merged:
      
        %EAX,inf = [48r,80r:0)  0@48r
      
      With this bug fixed, the REDEF_BY_EC VNInfo flag is no longer needed.
      
      llvm-svn: 149768
      e3865781
    • Jakob Stoklund Olesen's avatar
      Don't store COPY pointers in VNInfo. · ad6b22eb
      Jakob Stoklund Olesen authored
      If a value is defined by a COPY, that instuction can easily and cheaply
      be found by getInstructionFromIndex(VNI->def).
      
      This reduces the size of VNInfo from 24 to 16 bytes, and improves
      llc compile time by 3%.
      
      llvm-svn: 149763
      ad6b22eb
    • Jakob Stoklund Olesen's avatar
      Trim headers. · 22e490d9
      Jakob Stoklund Olesen authored
      llvm-svn: 149722
      22e490d9
  12. Feb 03, 2012
  13. Jan 30, 2012
  14. Jan 28, 2012
  15. Jan 27, 2012
  16. Jan 25, 2012
Loading