Skip to content
  1. Dec 18, 2008
    • Dan Gohman's avatar
      Give MachineLICM a name, for -time-passes etc. · 83682a94
      Dan Gohman authored
      llvm-svn: 61184
      83682a94
    • Dan Gohman's avatar
      Move post-RA scheduling before branch folding for now, because branch · b0ef9140
      Dan Gohman authored
      folding's tail merging doesn't currently preserve liveness information
      which post-RA scheduling requires.
      
      llvm-svn: 61183
      b0ef9140
    • Owen Anderson's avatar
      Re-apply r61158 in a form that no longer breaks tests. · ad4d2ab1
      Owen Anderson authored
      llvm-svn: 61182
      ad4d2ab1
    • Dale Johannesen's avatar
      Revert previous patch, appears to break bootstrap. · 3e5843b9
      Dale Johannesen authored
      llvm-svn: 61181
      3e5843b9
    • Dan Gohman's avatar
      Mark the x86 fp stack registers as "reserved". This tells LiveVariables · 49c44fa0
      Dan Gohman authored
      and the RegisterScavenger not to expect traditional liveness 
      techniques are applicable to these registers, since we don't fully
      modify the effects of push and pop after stackification.
      
      llvm-svn: 61179
      49c44fa0
    • Dale Johannesen's avatar
      Fix the time regression I introduced in 464.h264ref with · 12d031b7
      Dale Johannesen authored
      my last patch to this file.
      
      The issue there was that all uses of an IV inside a loop
      are actually references to Base[IV*2], and there was one
      use outside that was the same but LSR didn't see the base
      or the scaling because it didn't recurse into uses outside
      the loop; thus, it used base+IV*scale mode inside the loop
      instead of pulling base out of the loop.  This was extra bad
      because register pressure later forced both base and IV into
      memory.  Doing that recursion, at least enough
      to figure out addressing modes, is a good idea in general;
      the change in AddUsersIfInteresting does this.  However,
      there were side effects....
      
      It is also possible for recursing outside the loop to
      introduce another IV where there was only 1 before (if
      the refs inside are not scaled and the ref outside is).
      I don't think this is a common case, but it's in the testsuite.
      It is right to be very aggressive about getting rid of
      such introduced IVs (CheckForIVReuse and the handling of
      nonzero RewriteFactor in StrengthReduceStridedIVUsers).
      In the testcase in question the new IV produced this way
      has both a nonconstant stride and a nonzero base, neither
      of which was handled before.  (This patch does not handle 
      all the cases where this can happen.)  And when inserting 
      new code that feeds into a PHI, it's right to put such 
      code at the original location rather than in the PHI's 
      immediate predecessor(s) when the original location is outside 
      the loop (a case that couldn't happen before)
      (RewriteInstructionToUseNewBase); better to avoid making
      multiple copies of it in this case.
      
      Everything above is exercised in
      CodeGen/X86/lsr-negative-stride.ll (and ifcvt4 in ARM which is
      the same IR).
      
      llvm-svn: 61178
      12d031b7
    • Chris Lattner's avatar
      reapply this hunk from Bill's reversion in r61169, it is conservative · b6372933
      Chris Lattner authored
      and safe and orthogonal from turning off load pre.
      
      llvm-svn: 61177
      b6372933
    • Bill Wendling's avatar
      XFAIL on Linux. · 7ecf7742
      Bill Wendling authored
      llvm-svn: 61176
      7ecf7742
    • Chris Lattner's avatar
      c1c6404b
    • Bill Wendling's avatar
      Do not XFAIL. · ede2f809
      Bill Wendling authored
      llvm-svn: 61174
      ede2f809
    • Bill Wendling's avatar
      Temporarily revert r61027. It was causing a bootstrap failure in "release" mode · be4fb8a2
      Bill Wendling authored
      with everyone's favorite error messages:
      
      Comparing stages 2 and 3
      warning: ./cc1-checksum.o differs
      warning: ./cc1plus-checksum.o differs
      Bootstrap comparison failure!
      ./c-decl.o differs
      ./cp/decl.o differs
      ./df-core.o differs
      ./gcc.o differs
      ./i386.o differs
      ./stor-layout.o differs
      ./tree-pretty-print.o differs
      ./tree.o differs
      make[2]: *** [compare] Error 1
      make[1]: *** [stage3-bubble] Error 2
      
      See PR3227.
      
      llvm-svn: 61169
      be4fb8a2
  2. Dec 17, 2008
  3. Dec 16, 2008
Loading