summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use %t as the output file name to avoid repetition. NFC.Sean Silva2016-03-091-5/+5
| | | | llvm-svn: 263071
* [lto] Add saving the LTO .o file to -save-temps.Sean Silva2016-03-092-3/+15
| | | | | | | | | | | | | | | | Summary: This implements another part of -save-temps. After this, the only remaining part is dumping the optimized bitcode. But currently LLD's LTO doesn't have a non-intrusive place to put this. Eventually we probably will and it will make sense to add it then. Reviewers: ruiu, rafael Subscribers: joker.eph, Bigcheese, llvm-commits Differential Revision: http://reviews.llvm.org/D18009 llvm-svn: 263070
* [x86] fix cost model inaccuracy for vector memory opsSanjay Patel2016-03-092-6/+6
| | | | | | | | | | | The irony of this patch is that one CPU that is affected is AMD Jaguar, and Jaguar has a completely double-pumped AVX implementation. But getting the cost model to reflect that is a much bigger problem. The small goal here is simply to improve on the lie that !AVX2 == SandyBridge. Differential Revision: http://reviews.llvm.org/D18000 llvm-svn: 263069
* [WebAssembly] Update known gcc test failuresDerek Schuff2016-03-091-3/+0
| | | | llvm-svn: 263068
* [x86, AVX] optimize masked loads with constant masksSanjay Patel2016-03-092-25/+121
| | | | | | | | Instead of a variable-blend instruction, form a blend with immediate because those are always cheaper. Differential Revision: http://reviews.llvm.org/D17899 llvm-svn: 263067
* Fix "ninja check-lldb" crash in IRExecutionUnit.cppTed Woodward2016-03-091-6/+16
| | | | | | | | | | | | | | | Summary: From Adrian McCarthy: "Running ninja check-lldb now has one crash in a Python process, due to deferencing a null pointer in IRExecutionUnit.cpp: candidate_sc.symbol is null, which leads to a call with a null this pointer." Reviewers: zturner, spyffe, amccarth Subscribers: ted, jingham, lldb-commits Differential Revision: http://reviews.llvm.org/D17860 llvm-svn: 263066
* Fix test failure on darwin-i386Xinliang David Li2016-03-091-1/+2
| | | | llvm-svn: 263065
* ELF: link with BitWriter moduleJan Vesely2016-03-091-0/+1
| | | | | | Fixes build broken by r263055. llvm-svn: 263064
* ELF: Remove non-standard ELF features from AMDGPU target.Rafael Espindola2016-03-095-42/+16
| | | | | | Patch by Tom Stellard! llvm-svn: 263063
* [ValueTracking] Extract isKnownPositive [NFCI]Philip Reames2016-03-093-2/+21
| | | | | | Extract out a generic interface from a recently landed patch and document a TODO in case compile time becomes a problem. llvm-svn: 263062
* Simplify. NFC.Rui Ueyama2016-03-091-2/+1
| | | | | | In this context, MBRef.getBufferIdentifier() == Path. llvm-svn: 263061
* [modules] Simplify code logic. NFC.Davide Italiano2016-03-091-6/+2
| | | | llvm-svn: 263060
* [InstCombine] (icmp sgt smin(PosA, B) 0) -> (icmp sgt B 0)Philip Reames2016-03-092-0/+47
| | | | | | | | When checking whether an smin is positive, we can move the comparison to one of the inputs if the other is known positive. If the known positive one is the min, then the other can't be negative. If the other is the min, then we compute the min. Differential Revision: http://reviews.llvm.org/D17873 llvm-svn: 263059
* [LLE] Add missing check for unit strideAdam Nemet2016-03-093-6/+58
| | | | | | | | | | I somehow missed this. The case in GCC (global_alloc) was similar to the new testcase except it had an array of structs rather than a two dimensional array. Fixes RP26885. llvm-svn: 263058
* Update for Rui's comments on D18006Sean Silva2016-03-091-3/+5
| | | | | | Somehow I missed them. llvm-svn: 263057
* ARM & AArch64: fix IR-converted tests.Tim Northover2016-03-098-2331/+2331
| | | | | | | My script was converting %a0 to [[A]]0 if it had seen %a defined before %a0. Oops. llvm-svn: 263056
* [lto] Add beginning of -save-temps option.Sean Silva2016-03-096-0/+37
| | | | | | | | | | | | | | | | | | | | | Summary: This is useful for debugging issues with LTO. The option follows the analogous option in ld64 and the gold plugin (per Rafael's suggestion). For starters, this only dumps the combined bitcode file. In a future patch I will add dumping for the .o file. The naming of the output follows ld64's convention which is slightly more consistent IMO (consistent `.lto.<extension>` for all the files). Reviewers: rafael, ruiu Subscribers: joker.eph, Bigcheese, llvm-commits Differential Revision: http://reviews.llvm.org/D18006 llvm-svn: 263055
* [AArch64] Minor reformatting (NFC).Evandro Menezes2016-03-091-8/+6
| | | | llvm-svn: 263054
* NFC fix documentation build by rL263015Dmitry Polukhin2016-03-092-6/+12
| | | | | | This time I hope it will fix the build for real. llvm-svn: 263052
* [PPC] FE support for generating VSX [negated] absolute value instructionsKit Barton2016-03-096-12/+51
| | | | | | | | | | Includes new built-in, conversion of built-in to target-independent intrinsic and update in the header file. Tests are also updated. There is a second part in the backend for which I will post a separate code-review. BACKEND PART SHOULD BE COMMITTED FIRST. Phabricator: http://reviews.llvm.org/D17816 llvm-svn: 263051
* [llvm-readobj] Enable GNU style section group printHemant Kulkarni2016-03-092-34/+100
| | | | | | Differential Revision: http://reviews.llvm.org/D17822 llvm-svn: 263050
* Add an "offset" option to "break set -n" and "break set -f -l". Jim Ingham2016-03-0921-56/+256
| | | | | | | | | | | | That way you can set offset breakpoints that will move as the function they are contained in moves (which address breakpoints can't do...) I don't align the new address to instruction boundaries yet, so you have to get this right yourself for now. <rdar://problem/13365575> llvm-svn: 263049
* ARM & AArch64: convert asm tests to LLVM IR and restrict optimizations.Tim Northover2016-03-0939-11755/+48443
| | | | | | | | | | | | | | | This is mostly a one-time autoconversion of tests that checked assembly after "-Owhatever" compiles to only run "opt -mem2reg" and check the assembly. This should make them much more stable to changes in LLVM so they won't break on unrelated changes. "opt -mem2reg" is a compromise designed to increase the readability of tests that check dataflow, while minimizing dependency on LLVM. Hopefully mem2reg is stable enough that no surpises will come along. Should address http://llvm.org/PR26815. llvm-svn: 263048
* InstCombine: Restrict computeKnownBits() on all Values to OptLevel > 2Matthias Braun2016-03-098-40/+66
| | | | | | | | | | | | | | | | | | As part of r251146 InstCombine was extended to call computeKnownBits on every value in the function to determine whether it happens to be constant. This increases typical compiletime by 1-3% (5% in irgen+opt time) in my measurements. On the other hand this case did not trigger once in the whole llvm-testsuite. This patch introduces the notion of ExpensiveCombines which are only enabled for OptLevel > 2. I removed the check in InstructionSimplify as that is called from various places where the OptLevel is not known but given the rarity of the situation I think a check in InstCombine is enough. Differential Revision: http://reviews.llvm.org/D16835 llvm-svn: 263047
* MachineRegisterInfo: Correct commentMatthias Braun2016-03-091-2/+2
| | | | llvm-svn: 263046
* [lto] Don't lazy load metadata for now.Sean Silva2016-03-092-1/+14
| | | | | | | | | | | | | | | | | | | | | Summary: At the very least we hit Assertion failed: (((Flags & RF_HaveUnmaterializedMetadata) || Node->isResolved()) && "Unexpected unresolved node"), function MapMetadataImpl, file /Users/Sean/pg/llvm/lib/Transforms/Utils/ValueMapper.cpp, line 375. on the included test case. We currently do things like parse the module twice to keep the implementation minimal. I think it makes sense to add start with eager loading for similar reasons. Reviewers: rafael Subscribers: ruiu, Bigcheese, llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D17982 llvm-svn: 263045
* This change adds co-processor condition branching and conditional traps to ↵Chris Dewhurst2016-03-0913-50/+1079
| | | | | | | | | | | | | | | | the Sparc back-end. This will allow inline assembler code to utilize these features, but no automatic lowering is provided, except for the previously provided @llvm.trap, which lowers to "ta 5". The change also separates out the different assembly language syntaxes for V8 and V9 Sparc. Previously, only V9 Sparc assembly syntax was provided. The change also corrects the selection order of trap disassembly, allowing, e.g. "ta %g0 + 15" to be rendered, more readably, as "ta 15", ignoring the %g0 register. This is per the sparc v8 and v9 manuals. Check-in includes many extra unit tests to check this works correctly on both V8 and V9 Sparc processors. Code Reviewed at http://reviews.llvm.org/D17960. llvm-svn: 263044
* Update status to mark 2579 completeMarshall Clow2016-03-091-2/+2
| | | | llvm-svn: 263043
* Implement LWG#2579: Inconsistency wrt Allocators in basic_string assignment ↵Marshall Clow2016-03-092-11/+35
| | | | | | vs. basic_string::assign llvm-svn: 263042
* Use an explicit instantiation to work around delayed template parsing for ↵Aaron Ballman2016-03-091-3/+3
| | | | | | MSVC-built bots. llvm-svn: 263041
* Fixed "not all control paths return a value" warning. NFC.George Rimar2016-03-091-0/+1
| | | | llvm-svn: 263040
* [ELF] - Issue an error if trying to link object that uses splitstacks.George Rimar2016-03-092-0/+14
| | | | | | | | | | | Each object file compiled in split stack mode will have an empty section with a special name: .note.GNU-split-stack We don't support this in linker now, so patch just adds an error out for that. Differential revision: http://reviews.llvm.org/D17918 llvm-svn: 263039
* AArch64: remove a couple more tests already covered elsewhere.Tim Northover2016-03-092-590/+0
| | | | llvm-svn: 263038
* add a test RUN to show unexpected behaviorSanjay Patel2016-03-091-7/+10
| | | | llvm-svn: 263037
* Implement LWG#2583: There is no way to supply an allocator for ↵Marshall Clow2016-03-093-5/+46
| | | | | | basic_string(str, pos) llvm-svn: 263036
* [PPC] backend changes to generate xvabs[s,d]p and xvnabs[s,d]p instructionsKit Barton2016-03-092-0/+82
| | | | | | | This has to be committed before the FE changes Phabricator: http://reviews.llvm.org/D17837 llvm-svn: 263035
* Speculative fix for this test case (the test doesn't run on my typical build ↵Aaron Ballman2016-03-091-1/+1
| | | | | | environment). llvm-svn: 263034
* Don't crash when compiling inline assembler containing .file directives.Adrian Prantl2016-03-092-3/+68
| | | | | | | | | | Removing the assertion is safe to do because any module level inline assembly is always emitted first via AsmPrinter::doInitialization(). http://reviews.llvm.org/D16101 rdar://22690666 llvm-svn: 263033
* [AArch64] Move helper functions into TII, so they can be reused elsewhere. NFC.Chad Rosier2016-03-093-47/+56
| | | | llvm-svn: 263032
* ReleaseNotes: update 'you may prefer' link to 3.8Hans Wennborg2016-03-091-2/+2
| | | | llvm-svn: 263031
* ReleaseNotes: update 'you may prefer' link to 3.8Hans Wennborg2016-03-091-1/+1
| | | | llvm-svn: 263030
* Add some more tests for the containers type requirementsMarshall Clow2016-03-096-19/+112
| | | | llvm-svn: 263029
* Fix a minor bug in testXinliang David Li2016-03-091-1/+1
| | | | llvm-svn: 263028
* Adding new AST matchers for: addrLabelExpr, atomicExpr, ↵Aaron Ballman2016-03-097-101/+616
| | | | | | | | binaryConditionalOperator, designatedInitExpr, designatorCountIs, hasSyntacticForm, implicitValueInitExpr, labelDecl, opaqueValueExpr, parenListExpr, predefinedExpr, requiresZeroInitialization, and stmtExpr. Patch by Aleksei Sidorin. llvm-svn: 263027
* [AMDGPU] add AMDGPU target support to ELFObjectFile.h headerValery Pykhtin2016-03-095-0/+38
| | | | | | Differential Revision: http://reviews.llvm.org/D17144 llvm-svn: 263026
* Implement support for [[maybe_unused]] in C++1z that is based off existing ↵Aaron Ballman2016-03-0913-17/+128
| | | | | | support for unused, and treat it as an extension pre-C++1z. This also means extending the existing unused attribute so that it can be placed on an enum and enumerator, in addition to the other subjects. llvm-svn: 263025
* [AArch64] Minor cleanup/remove redundant code. NFC.Chad Rosier2016-03-092-12/+8
| | | | llvm-svn: 263024
* NFC fix documentation build by rL263015Dmitry Polukhin2016-03-091-0/+1
| | | | llvm-svn: 263023
* SelectionDAG: Fix a crash on inline asm when output register supports ↵Tom Stellard2016-03-092-3/+19
| | | | | | | | | | | | | | | | multiple types Summary: The code in SelectionDAG did not handle the case where the register type and output types were different, but had the same size. Reviewers: arsenm, echristo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17940 llvm-svn: 263022
* [TII] Allow getMemOpBaseRegImmOfs() to accept negative offsets. NFC.Chad Rosier2016-03-0912-22/+23
| | | | | | http://reviews.llvm.org/D17967 llvm-svn: 263021
OpenPOWER on IntegriCloud