Skip to content
  1. Dec 30, 2007
    • 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
  2. Dec 29, 2007
  3. Dec 18, 2007
  4. Dec 09, 2007
  5. Dec 08, 2007
    • Bill Wendling's avatar
      Renaming: · 2b07d8c5
      Bill Wendling authored
        isTriviallyReMaterializable -> hasNoSideEffects
        isReallyTriviallyReMaterializable -> isTriviallyReMaterializable
      
      llvm-svn: 44702
      2b07d8c5
  6. Oct 11, 2007
  7. Oct 09, 2007
  8. Oct 08, 2007
  9. Oct 06, 2007
  10. Oct 05, 2007
  11. Sep 29, 2007
  12. Sep 25, 2007
  13. Sep 17, 2007
  14. Sep 15, 2007
  15. Sep 14, 2007
  16. Sep 07, 2007
  17. Sep 06, 2007
  18. Aug 10, 2007
  19. Jul 26, 2007
  20. Jul 07, 2007
  21. Jul 04, 2007
  22. Jul 03, 2007
  23. Jun 26, 2007
  24. Jun 19, 2007
    • Dan Gohman's avatar
      Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoad · 9e820649
      Dan Gohman authored
      with a general target hook to identify rematerializable instructions. Some
      instructions are only rematerializable with specific operands, such as loads
      from constant pools, while others are always rematerializable. This hook
      allows both to be identified as being rematerializable with the same
      mechanism.
      
      llvm-svn: 37644
      9e820649
  25. Jun 15, 2007
  26. Jun 14, 2007
  27. Jun 13, 2007
  28. Jun 08, 2007
  29. May 21, 2007
  30. May 18, 2007
  31. Apr 25, 2007
  32. Apr 24, 2007
  33. Apr 04, 2007
  34. Apr 03, 2007
  35. Mar 28, 2007
Loading