Skip to content
  1. Mar 13, 2006
  2. Mar 12, 2006
    • Chris Lattner's avatar
      Several big changes: · 51348c5f
      Chris Lattner authored
      1. Use flags on the instructions in the .td file to indicate the PPC970 unit
         type instead of a table in the .cpp file.  Much cleaner.
      2. Change the hazard recognizer to build d-groups according to the actual
         algorithm used, not my flawed understanding of it.
      3. Model "must be in the first slot" and "must be the only instr in a group"
         accurately.
      
      llvm-svn: 26719
      51348c5f
    • Chris Lattner's avatar
      Don't advance the hazard recognizer when there are no hazards and no instructions · a767dbf1
      Chris Lattner authored
      to be emitted.
      
      Don't add one to the latency of a completed instruction if the latency of the
      op is 0.
      
      llvm-svn: 26718
      a767dbf1
    • Chris Lattner's avatar
      Chain operands aren't real uses: they don't require the full latency of the · 86a9b60a
      Chris Lattner authored
      predecessor to finish before they can start.
      
      llvm-svn: 26717
      86a9b60a
    • Chris Lattner's avatar
      As a pending queue data structure to keep track of instructions whose · 572003ca
      Chris Lattner authored
      operands have all issued, but whose results are not yet available.  This
      allows us to compile:
      
      int G;
      int test(int A, int B, int* P) {
         return (G+A)*(B+1);
      }
      
      to:
      
      _test:
              lis r2, ha16(L_G$non_lazy_ptr)
              addi r4, r4, 1
              lwz r2, lo16(L_G$non_lazy_ptr)(r2)
              lwz r2, 0(r2)
              add r2, r2, r3
              mullw r3, r2, r4
              blr
      
      instead of this, which has a stall between the lis/lwz:
      
      _test:
              lis r2, ha16(L_G$non_lazy_ptr)
              lwz r2, lo16(L_G$non_lazy_ptr)(r2)
              addi r4, r4, 1
              lwz r2, 0(r2)
              add r2, r2, r3
              mullw r3, r2, r4
              blr
      
      llvm-svn: 26716
      572003ca
  3. Mar 11, 2006
  4. Mar 10, 2006
Loading