Skip to content
  1. Mar 15, 2004
    • Chris Lattner's avatar
      Fix several bugs in the loop extractor. In particular, subloops were never · 2f155d87
      Chris Lattner authored
      extracted, and a function that contained a single top-level loop never had
      the loop extracted, regardless of how much non-loop code there was.
      
      llvm-svn: 12403
      2f155d87
    • Chris Lattner's avatar
      No correctness fixes here, just minor qoi fixes: · 5b2072ec
      Chris Lattner authored
      * Don't insert a branch to the switch instruction after the call, just
        make it a single block.
      * Insert the new alloca instructions in the entry block of the original
        function instead of having them execute dynamically
      * Don't make the default edge of the switch instruction go back to the switch.
        The loop extractor shouldn't create new loops!
      * Give meaningful names to the alloca slots and the reload instructions
      * Some minor code simplifications
      
      llvm-svn: 12402
      5b2072ec
    • Chris Lattner's avatar
      Simplify code a bit, and fix bug CodeExtractor/2004-03-14-NoSwitchSupport.ll · b4d8bf36
      Chris Lattner authored
      This also implements a two minor improvements:
        * Don't insert live-out stores IN the region, insert them on the code path
          that exits the region
        * If the region is exited to the same block from multiple paths, share the
          switch statement entry, live-out store code, and the basic block.
      
      llvm-svn: 12401
      b4d8bf36
  2. Mar 14, 2004
  3. Mar 13, 2004
    • Chris Lattner's avatar
      This little patch speeds up the loop used to update the dominator set analysis. · 797cb2f6
      Chris Lattner authored
      On the testcase from GCC PR12440, which has a LOT of loops (1392 of which require
      preheaders to be inserted), this speeds up the loopsimplify pass from 1.931s to
      0.1875s.  The loop in question goes from 1.65s -> 0.0097s, which isn't bad. All of
      these times are a debug build.
      
      This adds a dependency on DominatorTree analysis that was not there before, but
      we always had dominatortree available anyway, because LICM requires both loop
      simplify and DT, so this doesn't add any extra analysis in practice.
      
      llvm-svn: 12362
      797cb2f6
Loading