Skip to content
  1. Apr 15, 2013
  2. Apr 14, 2013
    • Nico Rieck's avatar
      Use object file specific section type for initial text section · 334c7bc7
      Nico Rieck authored
      llvm-svn: 179494
      334c7bc7
    • David Majnemer's avatar
      Reorders two transforms that collide with each other · 1fae1955
      David Majnemer authored
      One performs: (X == 13 | X == 14) -> X-13 <u 2
      The other: (A == C1 || A == C2) -> (A & ~(C1 ^ C2)) == C1
      
      The problem is that there are certain values of C1 and C2 that
      trigger both transforms but the first one blocks out the second,
      this generates suboptimal code.
      
      Reordering the transforms should be better in every case and
      allows us to do interesting stuff like turn:
        %shr = lshr i32 %X, 4
        %and = and i32 %shr, 15
        %add = add i32 %and, -14
        %tobool = icmp ne i32 %add, 0
      
      into:
        %and = and i32 %X, 240
        %tobool = icmp ne i32 %and, 224
      
      llvm-svn: 179493
      1fae1955
Loading