Skip to content
  1. May 19, 2013
  2. May 18, 2013
    • Hal Finkel's avatar
      Check InlineAsm clobbers in PPCCTRLoops · 2f474f0e
      Hal Finkel authored
      We don't need to reject all inline asm as using the counter register (most does
      not). Only those that explicitly clobber the counter register need to prevent
      the transformation.
      
      llvm-svn: 182191
      2f474f0e
    • Tim Northover's avatar
      AArch64: add CMake dependency to fix very parallel builds · fd2639f7
      Tim Northover authored
      llvm-svn: 182190
      fd2639f7
    • David Majnemer's avatar
      X86: Bad peephole interaction between adc, MOV32r0 · 5ba473af
      David Majnemer authored
      The peephole tries to reorder MOV32r0 instructions such that they are
      before the instruction that modifies EFLAGS.
      
      The problem is that the peephole does not consider the case where the
      instruction that modifies EFLAGS also depends on the previous state of
      EFLAGS.
      
      Instead, walk backwards until we find an instruction that has a def for
      EFLAGS but does not have a use.
      If we find such an instruction, insert the MOV32r0 before it.
      If it cannot find such an instruction, skip the optimization.
      
      llvm-svn: 182184
      5ba473af
    • Matt Arsenault's avatar
      Add LLVMContext argument to getSetCCResultType · 75865923
      Matt Arsenault authored
      llvm-svn: 182180
      75865923
    • JF Bastien's avatar
      Support unaligned load/store on more ARM targets · 97b08c40
      JF Bastien authored
      This patch matches GCC behavior: the code used to only allow unaligned
      load/store on ARM for v6+ Darwin, it will now allow unaligned load/store
      for v6+ Darwin as well as for v7+ on Linux and NaCl.
      
      The distinction is made because v6 doesn't guarantee support (but LLVM
      assumes that Apple controls hardware+kernel and therefore have
      conformant v6 CPUs), whereas v7 does provide this guarantee (and
      Linux/NaCl behave sanely).
      
      The patch keeps the -arm-strict-align command line option, and adds
      -arm-no-strict-align. They behave similarly to GCC's -mstrict-align and
      -mnostrict-align.
      
      I originally encountered this discrepancy in FastIsel tests which expect
      unaligned load/store generation. Overall this should slightly improve
      performance in most cases because of reduced I$ pressure.
      
      llvm-svn: 182175
      97b08c40
    • Rafael Espindola's avatar
      Fix the build in c++11 mode. · 5986ce0e
      Rafael Espindola authored
      The errors were:
      
      non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') in initializer list
      
      and
      
      non-constant-expression cannot be narrowed from type 'long' to 'uint32_t' (aka 'unsigned int') in initializer list
      
      llvm-svn: 182168
      5986ce0e
  3. May 17, 2013
  4. May 16, 2013
Loading