Skip to content
  1. Feb 06, 2012
  2. Feb 05, 2012
  3. Feb 04, 2012
    • Sean Callanan's avatar
      Modified the Enhanced Disassembler to create and · bdce3885
      Sean Callanan authored
      cache disassemblers according to the string value
      of the target triple, not according to the enum
      of the triple CPU.  The reason for this is that
      certain attributes of the instruction set are not
      reflected in the enum, but only in the string.
      
      llvm-svn: 149773
      bdce3885
    • 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
    • Hal Finkel's avatar
      Boost the effective chain depth of loads and stores. · 135cac92
      Hal Finkel authored
      By default, boost the chain depth contribution of loads and stores. This will allow a load/store pair to vectorize even when it would not otherwise be long enough to satisfy the chain depth requirement.
      
      llvm-svn: 149761
      135cac92
    • Qirun Zhang's avatar
      remove the blank line from previous ci. · e788fac6
      Qirun Zhang authored
      llvm-svn: 149758
      e788fac6
    • Qirun Zhang's avatar
      test commit. · dabce3f4
      Qirun Zhang authored
      add a blank line.
      
      llvm-svn: 149757
      dabce3f4
    • 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
Loading