Skip to content
  1. Feb 09, 2012
  2. Feb 08, 2012
  3. Feb 06, 2012
  4. Feb 05, 2012
  5. 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
    • Nick Lewycky's avatar
      Fix a leak! · 6024f9b5
      Nick Lewycky authored
      Andy, in a previous commit you made this into an ImmutablePass so that you could
      add it to the PassManager, then in the next commit you left it a Pass but
      removed the code that added it to the PM. If you do add it to the PM then the PM
      should take care of deleting it, but it's also true that nothing in codegen
      needs this object to exist after it's done its work here. It's not clear to me
      which design you want; this should likely either cease to be a Pass or be added
      to the PM where other parts of CodeGen will request it.
      
      llvm-svn: 149765
      6024f9b5
    • 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
    • Andrew Trick's avatar
      TargetPassConfig: confine the MC configuration to TargetMachine. · f8ea108c
      Andrew Trick authored
      Passes prior to instructon selection are now split into separate configurable stages.
      Header dependencies are simplified.
      The bulk of this diff is simply removal of the silly DisableVerify flags.
      
      Sorry for the target header churn. Attempting to stabilize them.
      
      llvm-svn: 149754
      f8ea108c
    • Andrew Trick's avatar
      Move TargetPassConfig implementation into Passes.cpp · de401d3c
      Andrew Trick authored
      llvm-svn: 149753
      de401d3c
    • Andrew Trick's avatar
      b7551336
    • Devang Patel's avatar
      Emit new property tag. · 403e8197
      Devang Patel authored
      llvm-svn: 149737
      403e8197
Loading