Skip to content
  1. Aug 05, 2015
  2. Aug 04, 2015
  3. Aug 03, 2015
    • Pete Cooper's avatar
      Convert some AArch64 code to foreach loops. NFC. · 7be8f8f0
      Pete Cooper authored
      Also converted a cast<> to dyn_cast while i was working on the same
      line of code.
      
      llvm-svn: 243894
      7be8f8f0
    • Tim Northover's avatar
      ARM: prefer allocating VFP regs at stride 4 on Darwin. · 910dde7a
      Tim Northover authored
      This is necessary for WatchOS support, where the compact unwind format assumes
      this kind of layout. For now we only want this on Swift-like CPUs though, where
      it's been the Xcode behaviour for ages. Also, since it can expand the prologue
      we don't want it at -Oz.
      
      llvm-svn: 243884
      910dde7a
    • John Brawn's avatar
      [ARM] Make GlobalMerge merge extern globals by default · f3324cf1
      John Brawn authored
      Enabling merging of extern globals appears to be generally either beneficial or
      harmless. On some benchmarks suites (on Cortex-M4F, Cortex-A9, and Cortex-A57)
      it gives improvements in the 1-5% range, but in the rest the overall effect is
      zero.
      
      Differential Revision: http://reviews.llvm.org/D10966
      
      llvm-svn: 243874
      f3324cf1
    • James Molloy's avatar
      Be less conservative about forming IT blocks. · 6967e5e4
      James Molloy authored
      In http://reviews.llvm.org/rL215382, IT forming was made more conservative under
      the belief that a flag-setting instruction was unpredictable inside an IT block on ARMv6M.
      
      But actually, ARMv6M doesn't even support IT blocks so that's impossible. In the ARMARM for
      v7M, v7AR and v8AR it states that the semantics of such an instruction changes inside an
      IT block - it doesn't set the flags. So actually it is fine to use one inside an IT block
      as long as the flags register is dead afterwards.
      
      This gives significant performance improvements in a variety of MPEG based workloads.
      
      Differential revision: http://reviews.llvm.org/D11680
      
      llvm-svn: 243869
      6967e5e4
    • JF Bastien's avatar
      WebAssembly: implement getScalarShiftAmountTy so we can shift by amount, with type · fda53373
      JF Bastien authored
      Summary: This currently sets the shift amount RHS to the same type as the LHS, and assumes that the LHS is a simple type. This isn't currently the case e.g. with weird integers sizes, but will eventually be true and will assert if not. That's what you get for having an experimental backend: break it and you get to keep both pieces. Most backends either set the RHS to MVT::i32 or MVT::i64, but WebAssembly is a virtual ISA and tries to have regular-looking binary operations where both operands are the same type (even if a 64-bit RHS shifter is slightly silly, hey it's free!).
      
      Subscribers: llvm-commits, sunfish, jfb
      
      Differential Revision: http://reviews.llvm.org/D11715
      
      llvm-svn: 243860
      fda53373
  4. Aug 02, 2015
  5. Aug 01, 2015
  6. Jul 31, 2015
  7. Jul 30, 2015
    • Sanjay Patel's avatar
      fix memcpy/memset/memmove lowering when optimizing for size · 1166f2ff
      Sanjay Patel authored
      Fixing MinSize attribute handling was discussed in D11363. 
      This is a prerequisite patch to doing that.
      
      The handling of OptSize when lowering mem* functions was broken
      on Darwin because it wants to ignore -Os for these cases, but the
      existing logic also made it ignore -Oz (MinSize).
      
      The Linux change demonstrates a widespread problem. The backend
      doesn't usually recognize the MinSize attribute by itself; it
      assumes that if the MinSize attribute exists, then the OptSize 
      attribute must also exist. 
      
      Fixing this more generally will be a follow-on patch or two.
      
      Differential Revision: http://reviews.llvm.org/D11568
      
      llvm-svn: 243693
      1166f2ff
    • Matt Arsenault's avatar
      AMDGPU: Set SubRegIndex size and offset · 7a0c3a92
      Matt Arsenault authored
      I'm not sure what reasons the comment here could have
      had for not setting these. Without these set, there is
      an assertion hit during DWARF emission.
      
      llvm-svn: 243661
      7a0c3a92
    • Matt Arsenault's avatar
      AMDGPU: Fix unreachable when emitting binary debug info · b39e8583
      Matt Arsenault authored
      Copy implementation of applyFixup from AArch64 with AArch64 bits
      ripped out.
      
      Tests will be included with a later commit. Several other
      problems must be fixed before binary debug info emission
      will work.
      
      llvm-svn: 243660
      b39e8583
Loading