and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

  1. 18 Mar, 2015 1 commit
    • Tom Stellard's avatar
      Merging r230694: · 8d2c8a6d
      Tom Stellard authored
      ```---------------------------------------------------------------------
      r230694 | chaoren | 2015-02-26 14:15:16 -0800 (Thu, 26 Feb 2015) | 16 lines
      
      Fix Bug 20400
      
      Summary:
      http://llvm.org/bugs/show_bug.cgi?id=20400
      
      The default triple of i686-pc-linux-gnu for 32 bit linux targets is compatible
      but not necessarily identical to the inferior binaries.
      
      Applying Azat Khuzhin's solution of using ArchSpec::IsCompatibleMatch() instead
      of ArchSpec::IsExactMatch() when comparing ObjectFile and Modules architecture.
      
      Reviewers: vharron
      
      Subscribers: lldb-commits
      
      Differential Revision: http://reviews.llvm.org/D7897
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 232574
      8d2c8a6d
  2. 17 Mar, 2015 2 commits
    • Tom Stellard's avatar
      Merging r214336: · e0cba6fb
      Tom Stellard authored
      ```---------------------------------------------------------------------
      r214336 | rafael.espindola | 2014-07-30 17:04:00 -0400 (Wed, 30 Jul 2014) | 9 lines
      
      SimplifyCFG: Avoid miscompilations due to removed lifetime intrinsics.
      
      The lifetime intrinsics need some work in order to make it clear which
      optimizations are or are not valid.
      
      For now dropping this optimization avoids a miscompilation.
      
      Patch by Björn Steinbrink.
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 232544
      e0cba6fb
    • Tom Stellard's avatar
      Merging r229352: · a3a80c71
      Tom Stellard authored
      ```---------------------------------------------------------------------
      r229352 | david.majnemer | 2015-02-15 23:02:09 -0500 (Sun, 15 Feb 2015) | 9 lines
      
      IR: Properly return nullptr when getAggregateElement is out-of-bounds
      
      We didn't properly handle the out-of-bounds case for
      ConstantAggregateZero and UndefValue.  This would manifest as a crash
      when the constant folder was asked to fold a load of a constant global
      whose struct type has no operands.
      
      This fixes PR22595.
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 232512
      a3a80c71
  3. 16 Mar, 2015 1 commit
  4. 13 Mar, 2015 1 commit
  5. 12 Mar, 2015 4 commits
    • Daniel Sanders's avatar
      Merging r225521: · 4351822a
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r225521 | tomatabacu | 2015-01-09 15:00:30 +0000 (Fri, 09 Jan 2015) | 1 line
      
      [mips] Add comment which explains why we need to change the assembler options before and after inline asm blocks. NFC.
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 232084
      4351822a
    • Daniel Sanders's avatar
      Merging r224425: · 60d1be21
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r224425 | tomatabacu | 2014-12-17 10:56:16 +0000 (Wed, 17 Dec 2014) | 17 lines
      
      [mips] Set GCC-compatible MIPS asssembler options before inline asm blocks.
      
      Summary:
      When generating MIPS assembly, LLVM always overrides the default assembler options by emitting the '.set noreorder', '.set nomacro' and '.set noat' directives,
      while GCC uses the default options if an assembly-level function contains inline assembly code.
      
      This becomes a problem when the code generated by LLVM is interleaved with inline assembly which assumes GCC-like assembler options (from Linux, for example).
      
      This patch fixes these conflicts by setting the appropriate assembler options at the beginning of an inline asm block and popping them at the end.
      
      Reviewers: dsanders
      
      Reviewed By: dsanders
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D6637
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 232083
      60d1be21
    • Daniel Sanders's avatar
      Merging r217432: · af61ee82
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r217432 | tomatabacu | 2014-09-09 11:15:38 +0100 (Tue, 09 Sep 2014) | 12 lines
      
      [mips] Add assembler support for .set push/pop directive.
      
      Summary:
      These directives are used to save the current assembler options (in the case of ".set push") and restore the previously saved options (in the case of ".set pop").
      
      Contains work done by Matheus Almeida.
      
      Reviewers: dsanders
      
      Reviewed By: dsanders
      
      Differential Revision: http://reviews.llvm.org/D4821
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 232082
      af61ee82
    • Daniel Sanders's avatar
      Merging r217254: · fedffd76
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r217254 | tomatabacu | 2014-09-05 16:43:21 +0100 (Fri, 05 Sep 2014) | 9 lines
      
      [mips] Rename data members and member functions in MipsAssemblerOptions.
      
      Summary: Use the naming convention from the LLVM Coding Standards.
      
      Reviewers: dsanders
      
      Reviewed By: dsanders
      
      Differential Revision: http://reviews.llvm.org/D4972
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 232054
      fedffd76
  6. 06 Mar, 2015 9 commits
    • Daniel Sanders's avatar
      Merging r230235: · 101b70d6
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r230235 | dsanders | 2015-02-23 17:22:16 +0000 (Mon, 23 Feb 2015) | 16 lines
      
      [mips] Honour -mno-odd-spreg for vector insert/extract when MSA is enabled.
      
      Summary:
      -mno-odd-spreg prohibits the use of odd-numbered single-precision floating
      point registers. However, vector insert/extract was still using them when
      manipulating the subregisters of an MSA register. Fixed this by ensuring
      that insertion/extraction is only performed on even-numbered vector
      registers when -mno-odd-spreg is given.
      
      Reviewers: vmedic, sstankovic
      
      Reviewed By: sstankovic
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D7672
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 231472
      101b70d6
    • Daniel Sanders's avatar
      Merging r227089: · 77105d98
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r227089 | vkalintiris | 2015-01-26 12:33:22 +0000 (Mon, 26 Jan 2015) | 15 lines
      
      [mips] Enable arithmetic and binary operations for the i128 data type.
      
      Summary:
      This patch adds support for some operations that were missing from
      128-bit integer types (add/sub/mul/sdiv/udiv... etc.). With these
      changes we can support the __int128_t and __uint128_t data types
      from C/C++.
      
      Depends on D7125
      
      Reviewers: dsanders
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D7143
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 231471
      77105d98
    • Daniel Sanders's avatar
      Merging r227087: · 2a764cb0
      Daniel Sanders authored
      Except for the MIPS-II and MIPS-III cases since these targets were not
      supported in 3.5.1.
      ------------------------------------------------------------------------
      r227087 | vkalintiris | 2015-01-26 12:04:40 +0000 (Mon, 26 Jan 2015) | 7 lines
      
      [mips] Add tests for bitwise binary and integer arithmetic operators.
      
      Reviewers: dsanders
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D7125
      ------------------------------------------------------------------------
      
      llvm-svn: 231469
      2a764cb0
    • Daniel Sanders's avatar
      Partially merging r221686: · a35f06cc
      Daniel Sanders authored
      Only the testcase minus the MIPS-II and MIPS-IV cases have been merged.
      They are required to cleanly apply a subsequent patch.
      ------------------------------------------------------------------------
      r221686 | vkalintiris | 2014-11-11 11:43:55 +0000 (Tue, 11 Nov 2014) | 16 lines
      
      [mips] Add preliminary support for the MIPS II target.
      
      Summary:
      This patch enables code generation for the MIPS II target. Pre-Mips32
      targets don't have the MUL instruction, so we add the correspondent
      pattern that uses the MULT/MFLO combination in order to retrieve the
      product.
      
      This is WIP as we don't support code generation for select nodes due to
      the lack of conditional-move instructions.
      
      Reviewers: dsanders
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D6150
      ------------------------------------------------------------------------
      
      llvm-svn: 231468
      a35f06cc
    • Daniel Sanders's avatar
      Merging r226171: · ecdc943a
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r226171 | dsanders | 2015-01-15 15:41:03 +0000 (Thu, 15 Jan 2015) | 11 lines
      
      [mips] Fix a typo in the compare patterns for MIPS32r6/MIPS64r6.
      
      Summary: The patterns intended for the SETLE node were actually matching the SETLT node.
      
      Reviewers: atanasyan, sstankovic, vmedic
      
      Reviewed By: vmedic
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D6997
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 231467
      ecdc943a
    • Daniel Sanders's avatar
      Merging r225529: · c0ab938b
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r225529 | dsanders | 2015-01-09 17:21:30 +0000 (Fri, 09 Jan 2015) | 18 lines
      
      [mips] Add support for accessing $gp as a named register.
      
      Summary:
      Mips Linux uses $gp to hold a pointer to thread info structure and accesses it
      with a named register. This makes this work for LLVM.
      
      The N32 ABI doesn't quite work yet since the frontend generates incorrect IR
      for this case. It neglects to truncate the 64-bit GPR to a 32-bit value before
      converting to a pointer. Given correct IR (as in the testcase in this patch),
      it works correctly.
      
      Reviewers: sstankovic, vmedic, atanasyan
      
      Reviewed By: atanasyan
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D6893
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 231466
      c0ab938b
    • Daniel Sanders's avatar
      Revert r231463 and r231462. · 81155380
      Daniel Sanders authored
      The build fails after merging them due to two missing functions.
      
      llvm-svn: 231464
      81155380
    • Daniel Sanders's avatar
      Merging r225521: · 8f20452c
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r225521 | tomatabacu | 2015-01-09 15:00:30 +0000 (Fri, 09 Jan 2015) | 1 line
      
      [mips] Add comment which explains why we need to change the assembler options before and after inline asm blocks. NFC.
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 231463
      8f20452c
    • Daniel Sanders's avatar
      Merging r224425: · 84bc83fd
      Daniel Sanders authored
      ```---------------------------------------------------------------------
      r224425 | tomatabacu | 2014-12-17 10:56:16 +0000 (Wed, 17 Dec 2014) | 17 lines
      
      [mips] Set GCC-compatible MIPS asssembler options before inline asm blocks.
      
      Summary:
      When generating MIPS assembly, LLVM always overrides the default assembler options by emitting the '.set noreorder', '.set nomacro' and '.set noat' directives,
      while GCC uses the default options if an assembly-level function contains inline assembly code.
      
      This becomes a problem when the code generated by LLVM is interleaved with inline assembly which assumes GCC-like assembler options (from Linux, for example).
      
      This patch fixes these conflicts by setting the appropriate assembler options at the beginning of an inline asm block and popping them at the end.
      
      Reviewers: dsanders
      
      Reviewed By: dsanders
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D6637
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 231462
      84bc83fd
  7. 14 Jan, 2015 1 commit
  8. 06 Jan, 2015 1 commit
    • David Majnemer's avatar
      Merging r222856: · 385d0dd5
      David Majnemer authored
      ```---------------------------------------------------------------------
      r222856 | majnemer | 2014-11-26 15:00:38 -0800 (Wed, 26 Nov 2014) | 8 lines
      
      Revert "Added inst combine transforms for single bit tests from Chris's note"
      
      This reverts commit r210006, it miscompiled libapr which is used in who
      knows how many projects.
      
      A test has been added to ensure that we don't regress again.
      
      I'll work on a rewrite of what the optimization was trying to do later.
      ```
      
      ---------------------------------------------------------------------
      
      llvm-svn: 225255
      385d0dd5
  9. 31 Dec, 2014 18 commits
  10. 30 Dec, 2014 2 commits