Skip to content
  1. May 02, 2013
  2. May 01, 2013
  3. Apr 30, 2013
    • Akira Hatanaka's avatar
      [mips] Simplify code. · 9da442f5
      Akira Hatanaka authored
      No intended functionality changes.
      
      llvm-svn: 180807
      9da442f5
    • Nadav Rotem's avatar
      Fix a typo · 9feda607
      Nadav Rotem authored
      llvm-svn: 180806
      9feda607
    • Jim Grosbach's avatar
      InstCombine: Fold more shuffles of shuffles. · 0b914fe8
      Jim Grosbach authored
      Always fold a shuffle-of-shuffle into a single shuffle when there's only one
      input vector in the first place. Continue to be more conservative when there's
      multiple inputs.
      
      rdar://13402653
      PR15866
      
      llvm-svn: 180802
      0b914fe8
    • Akira Hatanaka's avatar
      84d6d9bd
    • Hal Finkel's avatar
      LocalStackSlotAllocation improvements · 7153251a
      Hal Finkel authored
      First, taking advantage of the fact that the virtual base registers are allocated in order of the local frame offsets, remove the quadratic register-searching behavior. Because of the ordering, we only need to check the last virtual base register created.
      
      Second, store the frame index in the FrameRef structure, and get the frame index and the local offset from this structure at the top of the loop iteration. This allows us to de-nest the loops in insertFrameReferenceRegisters (and I think makes the code cleaner). I also moved the needsFrameBaseReg check into the first loop over instructions so that we don't bother pushing FrameRefs for instructions that don't want a virtual base register anyway.
      
      Lastly, and this is the only functionality change, avoid the creation of single-use virtual base registers. These are currently not useful because, in general, they end up replacing what would be one r+r instruction with an add and a r+i instruction. Committing this removes the XFAIL in CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll
      
      Jim has okayed this off-list.
      
      llvm-svn: 180799
      7153251a
    • Rafael Espindola's avatar
      Text files should not be marked executable. · 789a1c8a
      Rafael Espindola authored
      Patch by Oliver Pinter.
      
      llvm-svn: 180797
      789a1c8a
    • Adrian Prantl's avatar
      Spelling. Thanks, Eric. · 8beccf9e
      Adrian Prantl authored
      llvm-svn: 180794
      8beccf9e
    • Adrian Prantl's avatar
      Set debug locations for branch instructions created during inlining, even · 0941638a
      Adrian Prantl authored
      the inlined function has multiple returns.
      
      rdar://problem/12415623
      
      llvm-svn: 180793
      0941638a
    • Rafael Espindola's avatar
      Change getSlotIndex to return unsigned. · dd27530a
      Rafael Espindola authored
      The actual storage was already using unsigned, but the interface was using
      uint64_t. This is wasteful on 32 bits and looks to be the root causes of
      a miscompilation on Windows where a value was being sign extended to 64bits
      to compare with the result of getSlotIndex.
      
      Patch by Pasi Parviainen!
      
      llvm-svn: 180791
      dd27530a
    • Rafael Espindola's avatar
      Fix Addend computation for non external relocations on Macho. · 52501033
      Rafael Espindola authored
      llvm-svn: 180790
      52501033
    • David Majnemer's avatar
      Fix a bug in foldSelectICmpAndOr. · d73f37bb
      David Majnemer authored
      Differences in bitwidth between X and Y could exist even if C1 and C2 have
      the same Log2 representation.
      
      llvm-svn: 180779
      d73f37bb
    • Mihai Popa's avatar
      s tightens up the encoding description for ARM post-indexed ldr instructions.... · af22d91a
      Mihai Popa authored
      s tightens up the encoding description for ARM post-indexed ldr instructions. All instructions in this class have bit 4 cleared. It turns out that there is a test case for this, but it was marked XFAIL.
      
      llvm-svn: 180778
      af22d91a
    • David Majnemer's avatar
      Fix "Combine bit test + conditional or into simple math" · 8d048d04
      David Majnemer authored
      This fixes the optimization introduced in r179748 and reverted in r179750.
      
      While the optimization was sound, it did not properly respect differences in
      bit-width.
      
      llvm-svn: 180777
      8d048d04
    • Stepan Dyatkovskiy's avatar
      Refactoring patch. · f5aa83db
      Stepan Dyatkovskiy authored
      1. VarArgStyleRegisters: functionality that emits "store" instructions for byval regs moved out into separated method "StoreByValRegs". Before this patch VarArgStyleRegisters had confused use-cases. It was used for both variadic functions and for regular functions with byval parameters. In last case it created new stack-frame and registered it as VarArg frame, that is wrong.
      
      This patch replaces VarArgsStyleRegisters usage for byval parameters with StoreByValRegs method.
      
      2. In ARMMachineFunctionInfo, "get/setVarArgsRegSaveSize" was renamed to "get/setArgRegsSaveSize". By the same reason. Sometimes it was used for variadic functions, and sometimes for byval parameters in regular functions. Actually, this property means the size of registers, that keeps arguments, and thats why it was renamed.
      
      3. In ARMISelLowering.cpp, ARMTargetLowering class, in methods computeRegArea and StoreByValRegs, VARegXXXXXX was renamed to ArgRegsXXXXXX still by the same reasons.
      
      llvm-svn: 180774
      f5aa83db
Loading