Skip to content
  1. Dec 23, 2008
    • Dan Gohman's avatar
      Rename BuildSchedUnits to BuildSchedGraph, and refactor the · 04543e71
      Dan Gohman authored
      code in ScheduleDAGSDNodes' BuildSchedGraph into separate functions.
      
      llvm-svn: 61376
      04543e71
    • Dan Gohman's avatar
      Use isTerminator() instead of isBranch()||isReturn() in · 072e52f1
      Dan Gohman authored
      several places. isTerminator() returns true for a superset
      of cases, and includes things like FP_REG_KILL, which are
      nither return or branch but aren't safe to move/remat/etc.
      
      llvm-svn: 61373
      072e52f1
    • Dan Gohman's avatar
      Avoid an unnecessary call to allnodes_size(), which is linear. · 92cf280d
      Dan Gohman authored
      llvm-svn: 61372
      92cf280d
    • Dan Gohman's avatar
      Minor code simplifications. · 3a57213e
      Dan Gohman authored
      llvm-svn: 61371
      3a57213e
    • Zhongxing Xu's avatar
      revert r61368. · ae503aee
      Zhongxing Xu authored
      llvm-svn: 61369
      ae503aee
    • Zhongxing Xu's avatar
      Remove dead code. · 1dffb5bd
      Zhongxing Xu authored
      llvm-svn: 61368
      1dffb5bd
    • Mon P Wang's avatar
      Fixed code generation for v8i16 and v16i8 splats on X86. · ec95070c
      Mon P Wang authored
      Fixed lowering of v8i16 shuffles for v8i16 when we fall back to extract/insert.
      
      llvm-svn: 61365
      ec95070c
    • Dale Johannesen's avatar
      Fix the time regression I introduced in 464.h264ref with · 93b9aa87
      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.  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.
      
      Also, the mechanism for keeping SCEV's corresponding to GEP's
      no longer works, as the GEP might change after its SCEV
      is remembered, invalidating the SCEV, and we might get a bad
      SCEV value when looking up the GEP again for a later loop.  
      This also couldn't happen before, as we weren't recursing
      into GEP's outside the loop.
      
      I owe some testcases for this, want to get it in for nightly runs.
      
      llvm-svn: 61362
      93b9aa87
    • Dale Johannesen's avatar
      One more permutation of subtracting off a base value. · d2a46858
      Dale Johannesen authored
      llvm-svn: 61361
      d2a46858
    • Owen Anderson's avatar
    • Dan Gohman's avatar
      Make the fuse-failed debug output human-readable. · d72358cb
      Dan Gohman authored
      llvm-svn: 61356
      d72358cb
  2. Dec 22, 2008
  3. Dec 21, 2008
  4. Dec 20, 2008
  5. Dec 19, 2008
  6. Dec 18, 2008
Loading