- 18 Mar, 2015 1 commit
-
-
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
-
- 17 Mar, 2015 2 commits
-
-
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
-
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
-
- 16 Mar, 2015 1 commit
-
-
Daniel Sanders authored
llvm-svn: 232369
-
- 13 Mar, 2015 1 commit
-
-
Daniel Sanders authored
r232083 added AsmPrinter::emitInlineAsmStart() before AsmPrinter::emitInlineAsmEnd(), changing the vtable in an incompatible way. This patch swaps the declaration order so that the new vtable entry is at the end of the vtable. llvm-svn: 232162
-
- 12 Mar, 2015 4 commits
-
-
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
-
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
-
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
-
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
-
- 06 Mar, 2015 9 commits
-
-
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
-
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
-
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
-
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
-
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
-
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
-
Daniel Sanders authored
The build fails after merging them due to two missing functions. llvm-svn: 231464
-
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
-
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
-
- 14 Jan, 2015 1 commit
-
-
Tom Stellard authored
llvm-svn: 225916
-
- 06 Jan, 2015 1 commit
-
-
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
-
- 31 Dec, 2014 18 commits
-
-
Tom Stellard authored
This branch will probably not be mantained. Its purpose is to mark the last commit that is compatible with LLVM 3.5. llvm-svn: 225040
-
Ted Kremenek authored
llvm-svn: 225039
-
Ted Kremenek authored
[analyzer] Change ccc-analyzer to mimick behavior on OSX Mavericks/Yosemite to automatically infer the SDK location. llvm-svn: 225038
-
Craig Topper authored
[X86] Update disassembler tests for absolute move instructions to check the encodings. This provides testing for r225036. 64-bit mode is still broken. llvm-svn: 225037
-
Craig Topper authored
[X86] Fix disassembly of absolute moves to work correctly in 16 and 32-bit modes with all 4 combinations of OpSize and AdSize prefixes being present or not. llvm-svn: 225036
-
Craig Topper authored
llvm-svn: 225035
-
David Majnemer authored
We are allowed to move the 'B' to the right hand side if we an prove there is no signed overflow and if the comparison itself is signed. llvm-svn: 225034
-
Andrew Wilkins authored
Summary: If a receive case in a select statement is not assigned to a named variable, then we can eliminate the alloca and copy at runtime. Test Plan: lit test added Reviewers: pcc Reviewed By: pcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6785 llvm-svn: 225033
-
Alexey Samsonov authored
This reverts commit r224611. This change causes crashes in X86 DAG->DAG Instruction Selection. llvm-svn: 225031
-
Peter Collingbourne authored
The new ABI is simpler for use cases such as dynamically loaded packages. The calling convention for import functions is similar to what go/ssa would produce if BareInits were cleared. However, simply clearing this flag causes two additional issues: 1) We would need to special case the 'init$guard' variable (see discussion in https://codereview.appspot.com/78780043/). 2) The call to __go_register_gc_roots needs to appear in the right place, i.e. after the guard check. Making this check appear in the right place with non-bare inits seems unreliable at best. So we keep BareInits set and generate the necessary code manually. It is still possible to get the old ABI by specifying a path to a gccgo installation. Differential Revision: http://reviews.llvm.org/D6804 llvm-svn: 225030 -
Peter Collingbourne authored
Differential Revision: http://reviews.llvm.org/D6803 llvm-svn: 225029
-
Peter Collingbourne authored
Differential Revision: http://reviews.llvm.org/D6802 llvm-svn: 225028
-
Peter Collingbourne authored
This is useful for clients that need to use llgo's mangling of the package path to look up a specific function within a given package. Differential Revision: http://reviews.llvm.org/D6801 llvm-svn: 225027
-
Peter Collingbourne authored
This change allows clients to generate IR using "files" received from locations other than the file system. The regular file parser is moved to a new library, "driver", which is intended to eventually contain much of the logic from the existing driver. Differential Revision: http://reviews.llvm.org/D6794 llvm-svn: 225026
-
Colin LeMahieu authored
[Hexagon] Adding accumulating add/sub, doubleword logic-not variants, doubleword bitfield extract, word parity, accumulating multiplies with saturation. llvm-svn: 225024
-
Zachary Turner authored
This patch updates the list of supported platforms to include Windows, and also provides some detailed getting started instructions for building LLDB on Windows. Differential Revision: http://reviews.llvm.org/D6805 llvm-svn: 225023
-
Zachary Turner authored
llvm-svn: 225022
-
David Blaikie authored
llvm-svn: 225021
-
- 30 Dec, 2014 2 commits
-
-
David Blaikie authored
Too many different comment characters - instead of trying to account for them all, instead disable the comments and just check for end-of-line instead. llvm-svn: 225020
-
David Blaikie authored
llvm-svn: 225019
-