summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add #include <system_error>Zachary Turner2017-06-071-0/+2
| | | | | | Hopefully this unbreaks the bots. llvm-svn: 304865
* Move Object format code to lib/BinaryFormat.Zachary Turner2017-06-07282-3640/+3785
| | | | | | | | | | | | This creates a new library called BinaryFormat that has all of the headers from llvm/Support containing structure and layout definitions for various types of binary formats like dwarf, coff, elf, etc as well as the code for identifying a file from its magic. Differential Revision: https://reviews.llvm.org/D33843 llvm-svn: 304864
* Fixed warning: 'virtual void ↵Galina Kistanova2017-06-071-0/+2
| | | | | | clang::ExternalASTSource::CompleteType(clang::ObjCInterfaceDecl*)' was hidden. llvm-svn: 304863
* Fix a couple of class template argument deduction crashes with libc++'s tuple.Richard Smith2017-06-076-5/+78
| | | | | | | | | | | | | | | | RecursiveASTVisitor was not properly recursing through a SubstTemplateTypeParmTypes, resulting in crashes in pack expansion where we couldn't always find an unexpanded pack within a pack expansion. We also have an issue where substitution of deduced template arguments for an implicit deduction guide creates the "impossible" case of naming a non-dependent member of the current instantiation, but within a specialization that is actually instantiated from a different (partial/explicit) specialization of the template. We resolve this by declaring that constructors that do so can only be used to deduce specializations of the primary template. I'm running this past CWG to see if people agree this is the right thing to do. llvm-svn: 304862
* Move clearOutputSections earlier. NFC.Rafael Espindola2017-06-071-5/+8
| | | | | | This now just requires not calling assignOffsets after it. llvm-svn: 304861
* Use assignAddresses with -r.Rafael Espindola2017-06-071-13/+15
| | | | | | | | Before this patch in -r we compute the OutputSection sizes early in the various calls to assignOffsets. With this change we can remove most of those calls. llvm-svn: 304860
* [WebAssembly] Set MaxAtomicInlineWidth to 64.Dan Gohman2017-06-072-3/+3
| | | | | | | | The WebAssembly threads proposal has changed such that C++ implementations can now declare that atomics up to 64 bits are "lock free" in C++'s terms. llvm-svn: 304859
* [tsan]: Fix GNU version of strerror_r interceptorVitaly Buka2017-06-074-1/+51
| | | | | | | | | | GNU version of strerror_r returns a result pointer that doesn't match the input buffer. The result pointer is in fact a pointer to some internal storage. TSAN was recording a write to this location, which was incorrect. Fixed https://github.com/google/sanitizers/issues/696 llvm-svn: 304858
* [LazyValueInfo] Remove redundant calls to ConstantRange::contains. The same ↵Craig Topper2017-06-071-2/+2
| | | | | | exact call was made in the if above and we already know it returned true. NFC llvm-svn: 304857
* [Constants] Use isUIntN/isIntN from MathExtras instead of reimplementing the ↵Craig Topper2017-06-071-9/+2
| | | | | | same code. NFC llvm-svn: 304856
* [Constants] Use APInt::isNullValue/isOneValue/uge to simplify some code and ↵Craig Topper2017-06-072-4/+4
| | | | | | take advantage of APInt optimizations. NFC llvm-svn: 304855
* [APInt] Add a isOneValue method that can determine if a number is 1 by only ↵Craig Topper2017-06-071-0/+6
| | | | | | | | | | using getActiveBits/countLeadingZeros Previously you would have to use operator==(uint64_t) which does the getActiveBits call and a uint64_t comparison. But we can get all we need to know from the getActiveBits call. This method will be used in another commit. llvm-svn: 304854
* Try to work around possible bugs in version of Shpinx on buildserver.Tony Tye2017-06-071-6/+6
| | | | | | | | Builds sucessfully with Sphinx v1.5.5 Differential Revision: https://reviews.llvm.org/D33736 llvm-svn: 304853
* Improve error recovery for missing 'template' keyword in contexts where theRichard Smith2017-06-072-0/+48
| | | | | | | | | | | | | | template is valid with or without it (with different meanings). If we see "dependent.x<...", and what follows the '<' is a valid expression, we must parse the '<' as a comparison rather than a template angle bracket. When we later come to instantiate, if we find that the LHS of the '<' actually names an overload set containing function templates, produce a diagnostic suggesting that the 'template' keyword was missed rather than producing a mysterious diagnostic saying that the function must be called (and pointing at what looks to already be a function call!). llvm-svn: 304852
* Introduce the new feature "abi-breaking-checks" to satisfy -reverse-iterate ↵NAKAMURA Takumi2017-06-074-2/+6
| | | | | | | | | | | | | in llvm/test/Transforms/Util/PredicateInfo/ A few tests in llvm/test/Transforms/Util/PredicateInfo/ are using -reverse-iterate. The option -reverse-iterate is enabled with +Asserts in usual cases, but it can be turned on/off regardless of LLVM_ENABLE_ASSERTIONS. I wonder if this were incompatible to https://reviews.llvm.org/D33908 (r304757). Differential Revision: https://reviews.llvm.org/D33854 llvm-svn: 304851
* [InlineSpiller] Only account for real spills in the hoisting logicQuentin Colombet2017-06-071-3/+6
| | | | | | | Spills of undef values shouldn't impact the placement of the relevant spills. Drive by review. llvm-svn: 304850
* [CGP / PowerPC] use direct compares if there's only one load per block in ↵Sanjay Patel2017-06-072-31/+33
| | | | | | | | | | | | | | | | | memcmp() expansion I'd like to enable CGP memcmp expansion for x86, but the output from CGP would regress the special cases (memcmp(x,y,N) != 0 for N=1,2,4,8,16,32 bytes) that we already handle. I'm not sure if we'll actually be able to produce the optimal code given the block-at-a-time limitation in the DAG. We might have to just avoid those special-cases here in CGP. But regardless of that, I think this is a win for the more general cases. http://rise4fun.com/Alive/cbQ Differential Revision: https://reviews.llvm.org/D33963 llvm-svn: 304849
* Add documentation for various aspects of the AMDGPU backend.Tony Tye2017-06-071-1/+1
| | | | | | | | | Remove extra tabs. Builds sucessfully with Sphinx v1.5.5 Differential Revision: https://reviews.llvm.org/D33736 llvm-svn: 304848
* [test] Test changes to accommodate LWG 2904 "Make variant move-assignment ↵Casey Carter2017-06-0710-719/+714
| | | | | | | | | | more exception safe" Also: Move constexpr / triviality extension tests into the std tree and make them conditional on _LIBCPP_VERSION / _MSVC_STL_VERSION. https://reviews.llvm.org/D32671 llvm-svn: 304847
* Fix uninitialized read.Zachary Turner2017-06-063-9/+14
| | | | llvm-svn: 304846
* [SCCIterator] Garbage collect dead code. NFC.Davide Italiano2017-06-061-10/+0
| | | | llvm-svn: 304845
* Introduce -brief command line option to llvm-dwarfdumpAdrian Prantl2017-06-069-22/+165
| | | | | | | | | | | | | This patch introduces a new command line option, called brief, to llvm-dwarfdump. When -brief is used, the attribute forms for the .debug_info section will not be emitted to output. Patch by Spyridoula Gravani! rdar://problem/21474365 Differential Revision: https://reviews.llvm.org/D33867 llvm-svn: 304844
* Fix the includes in lib/Fuzzer on Windows that have orderingChandler Carruth2017-06-062-2/+6
| | | | | | | dependencies and add comments to tell future maintainers about those requirements. llvm-svn: 304843
* [CFLAA] Remove unused include. NFCI.Davide Italiano2017-06-061-1/+0
| | | | llvm-svn: 304842
* [ScopInfo] Translate getNonHoistableCtx to C++ [NFC]Tobias Grosser2017-06-062-38/+25
| | | | llvm-svn: 304841
* [DOXYGEN] Corrected several typos and incorrect parameters description that ↵Ekaterina Romanova2017-06-064-9/+35
| | | | | | | | | Sony's techinical writer found during review. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. llvm-svn: 304840
* [CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use ↵Eugene Zelenko2017-06-0614-144/+339
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 304839
* [PowerPC] auto-generate full checks and increase test coverageSanjay Patel2017-06-061-77/+160
| | | | | | | 3 of the tests were testing exactly the same thing: memcmp(x, y, 16) != 0. I changed that to test 4, 7, and 16 bytes, so we can see how those differ. llvm-svn: 304838
* Adjust SetVersionPrinter call for D33899Dimitry Andric2017-06-061-3/+3
| | | | | | | | | | | | | | | Summary: In D33899, I'm adding a `raw_ostream &` parameter to the function objects passed to `cl::SetVersionPrinter`. Adjust the call in clang-apply-replacements for this. Reviewers: klimek, alexfh Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D33959 llvm-svn: 304837
* Print registered targets in clang's version informationDimitry Andric2017-06-063-4/+7
| | | | | | | | | | | | | | | | | | | | | Summary: Other llvm tools display their registered targets when showing version information, but for some reason clang has never done this. To support this, D33899 adds the llvm parts, which make it possible to print version information to arbitrary raw_ostreams. This change adds a call to printRegisteredTargetsForVersion in clang's PrintVersion, and adds a raw_ostream parameter to two other PrintVersion functions. Reviewers: beanz, chandlerc, dberris, mehdi_amini, zturner Reviewed By: mehdi_amini Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D33900 llvm-svn: 304836
* Allow VersionPrinter to print to arbitrary raw_ostreamsDimitry Andric2017-06-064-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | Summary: I would like to add printing of registered targets to clang's version information. For this to work correctly, the VersionPrinter logic in CommandLine.cpp should support printing to arbitrary raw_ostreams, instead of always defaulting to outs(). Add a raw_ostream& parameter to the function pointer type used for VersionPrinter, and while doing so, introduce a typedef for convenience. Note that VersionPrinter::print() will still default to using outs(), the clang part will necessarily go into a separate review. Reviewers: beanz, chandlerc, dberris, mehdi_amini, zturner Reviewed By: mehdi_amini Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D33899 llvm-svn: 304835
* Added tests for X86InterleavedStore.Evgeny Stupachenko2017-06-062-1/+153
| | | | | | | | | | Reviewers: RKSimon, DavidKreitzer Differential Revision: https://reviews.llvm.org/D33684 Patch by: Aleen Farhana <Farhana.aleen@gmail.com> llvm-svn: 304834
* GlobalsModRef+OptNone: Don't prove readnone/other properties from an optnone ↵David Blaikie2017-06-063-3/+56
| | | | | | | | | | | | | | | | | | | | function Seems like at least one reasonable interpretation of optnone is that the optimizer never "looks inside" a function. This fix is consistent with that interpretation. Specifically this came up in the situation: f3 calls f2 calls f1 f2 is always_inline f1 is optnone The application of readnone to f1 (& thus to f2) caused the inliner to kill the call to f2 as being trivially dead (without even checking the cost function, as it happens - not sure if that's also a bug). llvm-svn: 304833
* Use exact equality for category language matching, for all languages, except ↵Vadim Chugunov2017-06-061-18/+3
| | | | | | those specifically mentioned. llvm-svn: 304832
* Add documentation for various aspects of the AMDGPU backend.Tony Tye2017-06-064-172/+3468
| | | | | | Differential Revision: https://reviews.llvm.org/D33736 llvm-svn: 304831
* [CGP] fix formatting/typos in MemCmpExpansion; NFCSanjay Patel2017-06-061-36/+34
| | | | llvm-svn: 304830
* [SLP] Change extension of the test, NFC.Alexey Bataev2017-06-061-0/+0
| | | | llvm-svn: 304829
* Fix static initializers for locks.Jonathan Peyton2017-06-061-4/+5
| | | | | | | | | | | Fix static initializers to use the proper unlocked value for the poll field of the tas and futex locks. Patch by Terry Wilmarth Differential Revision: https://reviews.llvm.org/D33794 llvm-svn: 304828
* Avoid using OutputSection::Sections. NFC.Rafael Espindola2017-06-061-19/+22
| | | | | | | | We now used the InputSectionDescriptions in OutputSectionCommand::finalize. This will allow moving clearOutputSections earlier. llvm-svn: 304827
* [SLP] Add a test for fix of PR32164, NFC.Alexey Bataev2017-06-061-0/+138
| | | | llvm-svn: 304826
* llc: Add ability to parse mir from stdinMatthias Braun2017-06-063-2/+32
| | | | | | | | - Add -x <language> option to switch between IR and MIR inputs. - Change MIR parser to read from stdin when filename is '-'. - Add a simple mir roundtrip test. llvm-svn: 304825
* Fix PR23384 (part 3 of 3)Evgeny Stupachenko2017-06-0616-90/+107
| | | | | | | | | | | | | Summary: The patch makes instruction count the highest priority for LSR solution for X86 (previously registers had highest priority). Reviewers: qcolombet Differential Revision: http://reviews.llvm.org/D30562 From: Evgeny Stupachenko <evstupac@gmail.com> llvm-svn: 304824
* [clang] Remove double semicolons. NFC.Mandeep Singh Grang2017-06-062-2/+2
| | | | | | | | | | | | | | Reviewers: rsmith, craig.topper, efriedma Reviewed By: efriedma Subscribers: efriedma, cfe-commits Tags: #clang-c Differential Revision: https://reviews.llvm.org/D33926 llvm-svn: 304823
* [DAG] remove duplicated code for isOnlyUsedInZeroEqualityComparison(); NFCISanjay Patel2017-06-061-15/+1
| | | | llvm-svn: 304822
* Move finalize to OutputSectionCommands. NFC.Rafael Espindola2017-06-065-80/+79
| | | | | | | This removes a mapping from OutputSection to OutputSectionCommand and is another step in moving clearOutputSections earlier. llvm-svn: 304821
* Convert a use of OutputSections. NFC.Rafael Espindola2017-06-061-2/+2
| | | | llvm-svn: 304820
* [LVI Printer] Rely on the LVI analysis functions rather than the LVI cacheAnna Thomas2017-06-063-91/+137
| | | | | | | | | | | | | | | | | | | | | | | Summary: LVIPrinter pass was previously relying on the LVICache. We now directly call the the LVI functions which solves the value if the LVI information is not already available in the cache. This has 2 benefits over the printing of LVI cache: 1. higher coverage (i.e. catches errors) in LVI code when cache value is invalidated. 2. relies on the core functions, and not dependent on the LVI cache (which may be scrapped at some point). It would still catch any cache invalidation errors, since we first go through the cache. Reviewers: reames, dberlin, sanjoy Reviewed by: reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32135 llvm-svn: 304819
* [CMake] Retire Polly's FindCUDA.cmake in favour of CMake's default ↵Philip Pfaffe2017-06-064-29/+6
| | | | | | | | | | | | | | | | | | FindCUDA.cmake script. Patch by: Singapuram Sanjay Reviewers: grosser, philip.pfaffe Reviewed By: philip.pfaffe Subscribers: pollydev, mgorny Tags: #polly Differential Revision: https://reviews.llvm.org/D33669 llvm-svn: 304818
* [JScop] Emit error messages on error.Michael Kruse2017-06-061-3/+9
| | | | | | In importArrays instead of silently ignoring the file. llvm-svn: 304817
* [WebAssembly] MC: Refactor relocation handlingSam Clegg2017-06-064-161/+112
| | | | | | | | | | | | | The change cleans up and unifies the handling of relocation entries in WasmObjectWriter. Type index relocation no longer need to be handled separately. The only externally visible change should be that type index relocations are no longer grouped at the end. Differential Revision: https://reviews.llvm.org/D33918 llvm-svn: 304816
OpenPOWER on IntegriCloud