Skip to content
  1. Mar 17, 2007
  2. Mar 16, 2007
  3. Mar 15, 2007
  4. Mar 14, 2007
    • Evan Cheng's avatar
      Estimate a cost using the possible number of scratch registers required and use · b9e3db67
      Evan Cheng authored
      it as a late BURR scheduling tie-breaker.
      Intuitively, it's good to push down instructions whose results are liveout so
      their long live ranges won't conflict with other values which are needed inside
      the BB. Further prioritize liveout instructions by the number of operands which
      are calculated within the BB.
      
      llvm-svn: 35109
      b9e3db67
    • Evan Cheng's avatar
      Try schedule def + use closer whne Sethi-Ullman numbers are the same. · 28748553
      Evan Cheng authored
      e.g.
      t1 = op t2, c1
      t3 = op t4, c2
      and the following instructions are both ready.
      t2 = op c3
      t4 = op c4
      
      Then schedule t2 = op first.
      i.e.
      t4 = op c4
      t2 = op c3
      t1 = op t2, c1
      t3 = op t4, c2
      
      This creates more short live intervals which work better with the register
      allocator.
      
      llvm-svn: 35089
      28748553
  5. Mar 13, 2007
  6. Mar 09, 2007
  7. Mar 08, 2007
  8. Mar 07, 2007
  9. Mar 06, 2007
  10. Mar 05, 2007
  11. Mar 04, 2007
  12. Mar 03, 2007
    • Chris Lattner's avatar
      Add an expand action for ISD label which just deletes the label. · 567b9254
      Chris Lattner authored
      This "fixes" PR1238.
      
      llvm-svn: 34890
      567b9254
    • Evan Cheng's avatar
      Only propagate IsKill if the last use is a kill. · d74cb0e1
      Evan Cheng authored
      llvm-svn: 34878
      d74cb0e1
    • Nate Begeman's avatar
      http://llvm.org/bugs/show_bug.cgi?id=1237 · 323cf8f6
      Nate Begeman authored
      llvm-svn: 34875
      323cf8f6
    • Evan Cheng's avatar
      Watch out for cases like this: · 3fd72859
      Evan Cheng authored
      entry (0x8b056f0, LLVM BB @0x8b01b30, ID#0):
      Live Ins: %r0 %r1 %r2 %r3
              %reg1032 = tMOVrr %r3<kill>
              %reg1033 = tMOVri8 1
              %reg1034 = tMOVri8 0
              tCMPi8 %reg1029<kill>, 0
              tBcc mbb<entry,0x8b06a10>, 0
          Successors according to CFG: 0x8b06980 0x8b06a10
      
      entry (0x8b06980, LLVM BB @0x8b01b30, ID#12):
          Predecessors according to CFG: 0x8b056f0
              %reg1036 = tMOVrr %reg1034<kill>
          Successors according to CFG: 0x8b06a10
      
      entry (0x8b06a10, LLVM BB @0x8b01b30, ID#13):
          Predecessors according to CFG: 0x8b056f0 0x8b06980
              %reg1024<dead> = tMOVrr %reg1030<kill>
              ...
      
      reg1030 and r1 have already been joined. When reg1024 and reg1030 are joined,
      r1 live range from function entry to the tMOVrr instruction are dead. Eliminate
      r1 from the livein set of the entry BB, not the BB where the copy is.
      
      llvm-svn: 34866
      3fd72859
  13. Mar 02, 2007
Loading