summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Split locale management out of locale_win32. NFCIBen Craig2016-03-092-18/+35
| | | | | | | | | | | | | | | | | | For the locale refactor, the locale management functions (newlocale, freelocale, uselocale) are needed in a separate header from the various _l functions. This is because some platforms implement the _l functions in terms of a locale switcher RAII helper, and the locale switcher RAII helper needs the locale management functions. This patch helps pave the way by getting all the functions in the right files, so that later diffs aren't completely horrible. Unfortunately, the Windows, Cygwin, and MinGW builds seemed to have bit-rotted, so I wasn't able to test this completely. I don't think I made things any worse than they already are though. http://reviews.llvm.org/D17419 llvm-svn: 263020
* [OpenMP] Add support for multidimensional array sections in map clause SEMA.Samuel Antao2016-03-093-27/+268
| | | | | | | | | | | | Summary: In some cases it can be proved statically that multidimensional array section refer to contiguous storage and can therefore be allowed in a map clause. This patch adds support for those cases in SEMA. Reviewers: hfinkel, carlo.bertolli, arpith-jacob, kkwli0, ABataev Subscribers: cfe-commits, fraggamuffin, caomhin Differential Revision: http://reviews.llvm.org/D17547 llvm-svn: 263019
* [test/sanitizer-common] Linux/sanitizer_set_death_callback_test.cc -> ↵Filipe Cabecinhas2016-03-091-0/+0
| | | | | | Posix/sanitizer_set_death_callback_test.cc llvm-svn: 263018
* [test/sanitizer-common] Move getpass.cc from Linux into PosixFilipe Cabecinhas2016-03-091-0/+4
| | | | llvm-svn: 263017
* Reorganize _LIBCPP_LOCALE__L_EXTENSIONSBen Craig2016-03-094-438/+230
| | | | | | | | | | | | | | | | Instead of checking _LIBCPP_LOCALE_L_EXTENSIONS all over, instead check it once, and define the various *_l symbols once. The private redirector symbol names are all prefixed with _libcpp_* so that they won't conflict with user symbols, and so they won't conflict with future C library symbols. In particular, glibc likes providing private symbols such as __locale_t, so we should follow a different naming pattern (like _libcpp_*) to avoid problems on that front. Tested on Linux with glibc. Hoping for the best on OSX and the various BSDs. http://reviews.llvm.org/D17456 llvm-svn: 263016
* [GCC] PR23529 Sema part of attrbute abi_tag supportDmitry Polukhin2016-03-098-2/+233
| | | | | | | | | | | | | | | | | Original patch by Stefan Bühler http://reviews.llvm.org/D12834 Difference between original and this one: - fixed all comments in original code review - added more tests, all new diagnostics now covered by tests - moved abi_tag on re-declaration checks to Sema::mergeDeclAttributes where they actually may work as designed - clang-format + other stylistic changes Mangle part will be sent for review as a separate patch. Differential Revision: http://reviews.llvm.org/D17567 llvm-svn: 263015
* Fix build error due to unsigned compare >= 0 in r263008 (NFC)Teresa Johnson2016-03-091-1/+1
| | | | | | | | | | | | Fixes error from building with clang: /usr/local/google/home/tejohnson/llvm/llvm_15/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp:407:12: error: comparison of unsigned expression >= 0 is always true [-Werror,-Wtautological-compare] if ((Imm >= 0x000) && (Imm <= 0x0ff)) { ~~~ ^ ~~~~~ llvm-svn: 263014
* Simplify: SHN_ABS is >= SHN_LORESERVE.Rafael Espindola2016-03-091-1/+1
| | | | llvm-svn: 263012
OpenPOWER on IntegriCloud