Skip to content
  1. Mar 03, 2010
    • Bill Wendling's avatar
      Use APInt instead of zext value. · c8d3add0
      Bill Wendling authored
      llvm-svn: 97631
      c8d3add0
    • Evan Cheng's avatar
      - Change MachineInstr::isIdenticalTo to take a new option that determines... · e9c46c25
      Evan Cheng authored
      - Change MachineInstr::isIdenticalTo to take a new option that determines whether it should skip checking defs or at least virtual register defs. This subsumes part of the TargetInstrInfo::isIdentical functionality.
      - Eliminate TargetInstrInfo::isIdentical and replace it with produceSameValue. In the default case, produceSameValue just checks whether two machine instructions are identical (except for virtual register defs). But targets may override it to check for unusual cases (e.g. ARM pic loads from constant pools).
      
      llvm-svn: 97628
      e9c46c25
    • Evan Cheng's avatar
      Add an option to enable machine cse (it's not doing anything yet. · 68dabc70
      Evan Cheng authored
      llvm-svn: 97627
      68dabc70
    • Bill Wendling's avatar
      This test case: · af13d829
      Bill Wendling authored
      long test(long x) { return (x & 123124) | 3; }
      
      Currently compiles to:
      
      _test:
              orl     $3, %edi
              movq    %rdi, %rax
              andq    $123127, %rax
              ret
      
      This is because instruction and DAG combiners canonicalize
      
        (or (and x, C), D) -> (and (or, D), (C | D))
      
      However, this is only profitable if (C & D) != 0. It gets in the way of the
      3-addressification because the input bits are known to be zero.
      
      llvm-svn: 97616
      af13d829
  2. Mar 02, 2010
  3. Mar 01, 2010
  4. Feb 28, 2010
  5. Feb 27, 2010
  6. Feb 26, 2010
Loading