Skip to content
  1. Jan 11, 2008
    • Chris Lattner's avatar
      Simplify the side effect stuff a bit more and make licm/sinking · c8226f32
      Chris Lattner authored
      both work right according to the new flags.
      
      This removes the TII::isReallySideEffectFree predicate, and adds
      TII::isInvariantLoad. 
      
      It removes NeverHasSideEffects+MayHaveSideEffects and adds
      UnmodeledSideEffects as machine instr flags.  Now the clients
      can decide everything they need.
      
      I think isRematerializable can be implemented in terms of the
      flags we have now, though I will let others tackle that.
      
      llvm-svn: 45843
      c8226f32
  2. Jan 10, 2008
  3. Jan 09, 2008
  4. Jan 07, 2008
  5. Jan 06, 2008
  6. Jan 05, 2008
  7. Jan 02, 2008
  8. Jan 01, 2008
  9. Dec 31, 2007
  10. Dec 30, 2007
    • Chris Lattner's avatar
      Use MachineOperand::getImm instead of MachineOperand::getImmedValue. Likewise... · 5c463781
      Chris Lattner authored
      Use MachineOperand::getImm instead of MachineOperand::getImmedValue.  Likewise setImmedValue -> setImm
      
      llvm-svn: 45453
      5c463781
    • Bill Wendling's avatar
      If we have a load of a global address that's not modified during the · 7749a901
      Bill Wendling authored
      function, then go ahead and hoist it out of the loop. This is the result:
      
      $ cat a.c
      volatile int G;
      
      int A(int N) {
        for (; N > 0; --N)
          G++;
      }
      $ llc -o - -relocation-model=pic
      _A:
      ...
      LBB1_2: # bb
              movl    L_G$non_lazy_ptr-"L1$pb"(%eax), %esi
              incl    (%esi)
              incl    %edx
              cmpl    %ecx, %edx
              jne     LBB1_2  # bb
      ...
      $ llc -o - -relocation-model=pic -machine-licm
      _A:
      ...
              movl    L_G$non_lazy_ptr-"L1$pb"(%eax), %eax
      LBB1_2: # bb
              incl    (%eax)
              incl    %edx
              cmpl    %ecx, %edx
              jne     LBB1_2  # bb
      ...
      
      I'm limiting this to the MOV32rm x86 instruction for now.
      
      llvm-svn: 45444
      7749a901
  11. Dec 29, 2007
  12. Dec 18, 2007
  13. Dec 09, 2007
  14. Dec 08, 2007
    • Bill Wendling's avatar
      Renaming: · 2b07d8c5
      Bill Wendling authored
        isTriviallyReMaterializable -> hasNoSideEffects
        isReallyTriviallyReMaterializable -> isTriviallyReMaterializable
      
      llvm-svn: 44702
      2b07d8c5
  15. Oct 11, 2007
  16. Oct 09, 2007
  17. Oct 08, 2007
  18. Oct 06, 2007
  19. Oct 05, 2007
  20. Sep 29, 2007
Loading