1. Jan 09, 2015
  2. Jan 08, 2015
    • Justin Hibbits's avatar
      Add saving and restoring of r30 to the prologue and epilogue, respectively · 98a532dd
      Justin Hibbits authored
      Summary: The PIC additions didn't update the prologue and epilogue code to save and restore r30 (PIC base register).  This does that.
      
      Test Plan: Tests updated.
      
      Reviewers: hfinkel
      
      Reviewed By: hfinkel
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D6876
      
      llvm-svn: 225450
      98a532dd
    • Rafael Espindola's avatar
      bec6af62
    • Rafael Espindola's avatar
      Update naming style and clang-format. NFC. · 7b4b2dcd
      Rafael Espindola authored
      llvm-svn: 225448
      7b4b2dcd
    • Manuel Klimek's avatar
      Improve clang-format.el. · 295b7b68
      Manuel Klimek authored
      - includes header/footer as required by MELPA
      - correctly handles buffers that are not associated with a file
      - displays stderr and exit code of clang-format process
      - customizable via the emacs customization interface and file-/directory-
        local variables
      
      Patch by Johann Klähn.
      
      llvm-svn: 225447
      295b7b68
    • Kristof Beyls's avatar
      Fix large stack alignment codegen for ARM and Thumb2 targets · 933de7aa
      Kristof Beyls authored
      This partially fixes PR13007 (ARM CodeGen fails with large stack
      alignment): for ARM and Thumb2 targets, but not for Thumb1, as it
      seems stack alignment for Thumb1 targets hasn't been supported at
      all.
      
      Producing an aligned stack pointer is done by zero-ing out the lower
      bits of the stack pointer. The BIC instruction was used for this.
      However, the immediate field of the BIC instruction only allows to
      encode an immediate that can zero out up to a maximum of the 8 lower
      bits. When a larger alignment is requested, a BIC instruction cannot
      be used; llvm was silently producing incorrect code in this case.
      
      This commit fixes code generation for large stack aligments by
      using the BFC instruction instead, when the BFC instruction is
      available.  When not, it uses 2 instructions: a right shift,
      followed by a left shift to zero out the lower bits.
      
      The lowering of ARM::Int_eh_sjlj_dispatchsetup still has code
      that unconditionally uses BIC to realign the stack pointer, so it
      very likely has the same problem. However, I wasn't able to
      produce a test case for that. This commit adds an assert so that
      the compiler will fail the assert instead of silently generating
      wrong code if this is ever reached.
      
      llvm-svn: 225446
      933de7aa
    • Tom Stellard's avatar
      R600/SI: Remove SIISelLowering::legalizeOperands() · 654d669e
      Tom Stellard authored
      Its functionality has been replaced by calling
      SIInstrInfo::legalizeOperands() from
      SIISelLowering::AdjstInstrPostInstrSelection() and running the
      SIFoldOperands and SIShrinkInstructions passes.
      
      llvm-svn: 225445
      654d669e
    • Daniel Jasper's avatar
      clang-format: Force line break between "endl" and "<<". · d05d3a89
      Daniel Jasper authored
      This makes piped output easier to read in many instances.
      
      Before:
        llvm::errs() << aaaa << std::endl << bbbb << std::endl;
      
      After:
        llvm::errs() << aaaa << std::endl
                     << bbbb << std::endl;
      
      Also fix a few instance of "don't use else after return" as per the
      coding standards.
      
      llvm-svn: 225444
      d05d3a89
    • Viktor Kutuzov's avatar
      [Sanitizers] Fix internal_lseek() to work on FreeBSD · e01a595d
      Viktor Kutuzov authored
      Differential Revision: http://reviews.llvm.org/D6825
      
      llvm-svn: 225443
      e01a595d
    • Logan Chien's avatar
      Frontend: Fix SourceColumnMap assertion failure on non-ascii characters. · d3d385d6
      Logan Chien authored
      If there are some non-ascii character in the input source code, the
      column index might be smallar than the byte index.  This will result
      in two possible assertion failures.  This CL fixes the computation of
      the column index and byte index.
      
      1. The assertion in startOfNextColumn() and startOfPreviousColumn()
         should not be raised when the byte index is greater than the column
         index since the non-ascii characters may use more than one bytes to
         store a character in a column.
      
      2. The length of the caret line should be equal to the number of columns
         of source line, instead of the length of the source line.  Otherwise,
         the assertion in selectInterestingSourceRegion will be raised because
         the removed columns plus the kept columns are not greater than the max
         column, which means that we should not remove any column at all.
      
      llvm-svn: 225442
      d3d385d6
    • Elena Demikhovsky's avatar
      Masked Load/Store - fixed a bug in type legalization. · 285fbd55
      Elena Demikhovsky authored
      llvm-svn: 225441
      285fbd55