Skip to content
  1. Mar 03, 2010
    • 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
    • Bill Wendling's avatar
      A much cleaner (and less code!) way of inserting the correct amount of padding · c3a93762
      Bill Wendling authored
      for alignment into the LSDA. If the TType base offset is emitted, then put the
      padding there. Otherwise, put it in the call site table length. There will be no
      conflict between the two sites when placing the padding in one place.
      
      llvm-svn: 97277
      c3a93762
    • Bill Wendling's avatar
      Comment typo. · fea6c4ef
      Bill Wendling authored
      llvm-svn: 97269
      fea6c4ef
    • Jakob Stoklund Olesen's avatar
      Use the right floating point load/store instructions in PPCInstrInfo::foldMemoryOperandImpl(). · ddbf7a85
      Jakob Stoklund Olesen authored
      The PowerPC floating point registers can represent both f32 and f64 via the
      two register classes F4RC and F8RC. F8RC is considered a subclass of F4RC to
      allow cross-class coalescing. This coalescing only affects whether registers
      are spilled as f32 or f64.
      
      Spill slots must be accessed with load/store instructions corresponding to the
      class of the spilled register. PPCInstrInfo::foldMemoryOperandImpl was looking
      at the instruction opcode which is wrong.
      
      X86 has similar floating point register classes, but doesn't try to fold
      memory operands, so there is no problem there.
      
      llvm-svn: 97262
      ddbf7a85
Loading