summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [OpenCL] An error shall occur if any scalar operand has greater rank than ↵Egor Churaev2017-05-304-9/+47
| | | | | | | | | | | | | | | | | | | | the type of the vector element Summary: This is the fix for patch https://reviews.llvm.org/D33353 @uweigand, could you please verify that everything will be good on SystemZ? I added triple spir-unknown-unknown. Thank you in advance! Reviewers: uweigand Reviewed By: uweigand Subscribers: yaxunl, cfe-commits, bader, Anastasia, uweigand Differential Revision: https://reviews.llvm.org/D33648 llvm-svn: 304191
* Diagnose attempts to build a preprocessed module that defines an unavailable ↵Richard Smith2017-05-303-0/+32
| | | | | | | | | submodule. The errors we would otherwise get are incomprehensible, as we would enter the module but not make its contents visible to itself. llvm-svn: 304190
* [ELF] Filter out non InputSection members from InputSectionsPetr Hosek2017-05-302-0/+13
| | | | | | | | | InputSections may contain MergeInputSection members which trigger a segmentation fault when trying to cast them to InputSection. Differential Revision: https://reviews.llvm.org/D33628 llvm-svn: 304189
* [trivial] fix a typo in comment, NFCHiroshi Inoue2017-05-301-1/+1
| | | | llvm-svn: 304188
* Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC.Galina Kistanova2017-05-301-0/+2
| | | | llvm-svn: 304187
* Added missing line continuation to HANDLE_DIEVALUE_SMALL and ↵Galina Kistanova2017-05-301-2/+2
| | | | | | HANDLE_DIEVALUE_LARGE macros. llvm-svn: 304186
* [ELF] Use late evaluation for ALIGN in expressionPetr Hosek2017-05-305-5/+21
| | | | | | | | | | | | | | | | | | While the following expression is handled fine: PROVIDE_HIDDEN(newsym = oldsym + address); The following expression triggers an error because the expression is evaluated as absolute: PROVIDE_HIDDEN(newsym = ALIGN(oldsym, CONSTANT(MAXPAGESIZE)) + address); To avoid this error, we use late evaluation for ALIGN by making the alignment an attribute of the expression itself. Differential Revision: https://reviews.llvm.org/D33629 llvm-svn: 304185
* Reverted r303602, as it will be fixed in gtest.Galina Kistanova2017-05-301-8/+4
| | | | llvm-svn: 304184
* [modules] When we #include a local submodule header that we've already built,Richard Smith2017-05-306-20/+93
| | | | | | | | | | and it has an include guard, produce callbacks for a module import, not for a skipped non-modular header. Fixes -E output when preprocessing a module to list these cases as a module import, rather than suppressing the #include and losing the import side effect. llvm-svn: 304183
* Replace a few more uses of OutputSections.Rafael Espindola2017-05-301-3/+3
| | | | llvm-svn: 304182
* Keep a list of all OutputSectionCommands.Rafael Espindola2017-05-303-28/+21
| | | | | | | | | | Now that we are trying to use the linker script representation as the canonycal one, there are a few loops looking for just OutputSectionCommands. Create a vector with just the OutputSectionCommands once that is stable to simplify the rest of the code. llvm-svn: 304181
* Add missing 'requires coroutines' to module mapEric Fiselier2017-05-291-0/+1
| | | | llvm-svn: 304180
* Revert r303763, results in asserts i.e. while building Ruby.Joerg Sonnenberger2017-05-292-41/+6
| | | | llvm-svn: 304179
* [TableGen] Use StringMap instead of DenseMap<StringRef> to unique CodeInit ↵Craig Topper2017-05-291-16/+10
| | | | | | | | and StringInit objects. Override the allocator to keep using the BumpPtrAllocator. NFCI StringMap is better suited to mapping strings than a DenseMap. llvm-svn: 304178
* [TableGen] Introduce DagInit::getArgs that returns an ArrayRef. Use it to ↵Craig Topper2017-05-293-11/+11
| | | | | | fix 80 column violations in arg_begin/arg_end. Remove DagInit::args and use getArgs instead. NFC llvm-svn: 304177
* CGCoroutine.cpp: (NFC) clang-format misplaced braceGor Nishanov2017-05-291-2/+1
| | | | llvm-svn: 304176
* [ManagedStatic] Avoid putting function pointers in template args.Benjamin Kramer2017-05-293-14/+23
| | | | | | | | This is super awkward, but GCC doesn't let us have template visible when an argument is an inline function and -fvisibility-inlines-hidden is used. llvm-svn: 304175
* [GlobalIsel] Fix a warning with GCC 7 -Wpedantic. NFCI.Davide Italiano2017-05-291-1/+1
| | | | llvm-svn: 304174
* Fix <experimental/coroutine> in C++03Eric Fiselier2017-05-291-2/+2
| | | | llvm-svn: 304173
* [coroutines] Make coroutine_handle<T>::from_address ill-formed for ↵Eric Fiselier2017-05-293-2/+81
| | | | | | | | | | | | | everything but void*. from_address requires that the provided pointer refer to the suspended coroutine, which doesn't have a type, or at least not one knowable by the user. Therefore every use of `from_address` with a typed pointer is almost certainly a bug. This behavior is a part of the TS specification, but hopefully it will be in the future. llvm-svn: 304172
* [X86] Add tests for (ix bitcast (vxi1 and ...)). NFC.Zvi Rackover2017-05-292-0/+1558
| | | | | | To be improved by D33311. llvm-svn: 304171
* [analyzer] Fix immutable map factory lifetime for partial taint.Artem Dergachev2017-05-293-17/+12
| | | | | | | | | This should fix the leaks found by asan buildbot in r304162. Also don't store a reference to the factory with every map value, which is the only difference between ImmutableMap and ImmutableMapRef. llvm-svn: 304170
* [X86] Replace undef value in flaky testZvi Rackover2017-05-291-3/+62
| | | | | | | D33311 exposes the flakiness in this test. Replacing the undef placed by bugpoint, makes it more interesting and robust. llvm-svn: 304168
* Unbreak long test after r304127.Benjamin Kramer2017-05-291-1/+2
| | | | llvm-svn: 304167
* [ManagedStatic] Make object_creator/object_deleter visible again.Benjamin Kramer2017-05-291-8/+3
| | | | | | | They're now exposed as template args, which creates complications when ManagedStatics are used across .so boundaries. llvm-svn: 304166
* Don't destroy ManagedStatics in a unit test.Benjamin Kramer2017-05-291-6/+0
| | | | | | | Turns out this is very hostile towards other unit tests running in the same process, it unregisters all flags. llvm-svn: 304165
* [wasm] Fix test after r304117.Benjamin Kramer2017-05-291-1/+1
| | | | llvm-svn: 304164
* [X86] Don't fold away the memory operand of an xchg.Benjamin Kramer2017-05-292-1/+45
| | | | | | | | | | xchg with a mem operand has different locking semantics. If we unfold it into a xchg r,r we will loose the implicit lock. Likewise we never want to fold a register xchg into a memory one as it would be a lot slower. This triggers during LLVM selfhost. llvm-svn: 304163
* [analyzer] Support partially tainted records.Artem Dergachev2017-05-296-90/+167
| | | | | | | | | | | | | | | | The analyzer's taint analysis can now reason about structures or arrays originating from taint sources in which only certain sections are tainted. In particular, it also benefits modeling functions like read(), which may read tainted data into a section of a structure, but RegionStore is incapable of expressing the fact that the rest of the structure remains intact, even if we try to model read() directly. Patch by Vlad Tsyrklevich! Differential revision: https://reviews.llvm.org/D28445 llvm-svn: 304162
* [Docs] Add VectorizationPlan to docs/Proposals.Ayal Zaks2017-05-293-0/+196
| | | | | | | | Following the request made in https://reviews.llvm.org/D32871, the general documentation of the Vectorization Plan is hereby placed under docs/Proposals. llvm-svn: 304161
* [analyzer] Initial commit for the upcoming refactoring of the IteratorChecker.Artem Dergachev2017-05-298-1095/+1201
| | | | | | | | | | | | | | | The new checker currently contains the very core infrastructure for tracking the state of iterator-type objects in the analyzer: relating iterators to their containers, tracking symbolic begin and end iterator values for containers, and solving simple equality-type constraints over iterators. A single specific check over this infrastructure is capable of finding usage of out-of-range iterators in some simple cases. Patch by Ádám Balogh! Differential revision: https://reviews.llvm.org/D32592 llvm-svn: 304160
* [analyzer] PthreadLockChecker: model failed pthread_mutex_destroy() calls.Artem Dergachev2017-05-292-13/+212
| | | | | | | | | | | | | pthread_mutex_destroy() may fail, returning a non-zero error number, and keeping the mutex untouched. The mutex can be used on the execution branch that follows such failure, so the analyzer shouldn't warn on using a mutex that was previously destroyed, when in fact the destroy call has failed. Patch by Malhar Thakkar! Differential revision: https://reviews.llvm.org/D32449 llvm-svn: 304159
* Replace forward decl with include to unbreak the build.Benjamin Kramer2017-05-291-3/+1
| | | | llvm-svn: 304158
* Try to work around MSVC being buggy. Attempt #1.Benjamin Kramer2017-05-292-2/+4
| | | | | | error C2971: 'llvm::ManagedStatic': template parameter 'Creator': 'CreateDefaultTimerGroup': a variable with non-static storage duration cannot be used as a non-type argument llvm-svn: 304157
* [Timer] Move DefaultTimerGroup into a ManagedStatic.Benjamin Kramer2017-05-291-3/+4
| | | | | | | | | | | | | This used to be just leaked. r295370 made it use magic statics. This adds a global destructor, which is something we'd like to avoid. It also creates a weird situation where the mutex used by TimerGroup is re-created during global shutdown and leaked. Using a ManagedStatic here is also subtle as it relies on the mutex inside of ManagedStatic to be recursive. I've added a test for that in a previous change. llvm-svn: 304156
* [ManagedStatic] Add a way to pass custom creators/deleters.Benjamin Kramer2017-05-292-3/+46
| | | | | | Also add a test case verifying that nested ManagedStatics work correctly. llvm-svn: 304155
* [clang-tidy] Use getLocalOrGlobal for the StrictMode optionAlexander Kornienko2017-05-292-2/+4
| | | | llvm-svn: 304154
* [DAGCombiner] fix load narrowing transform to exclude loads with extensionSanjay Patel2017-05-292-1/+58
| | | | | | | | | | The extending load possibility was missed in: https://reviews.llvm.org/rL304072 We might want to handle this cases as a follow-up, but bailing out for now to avoid miscompiling. llvm-svn: 304153
* [SystemZ] Improve buildVector() in SystemZISelLowering.cpp.Jonas Paulsson2017-05-291-19/+41
| | | | | | | | Use VLREP when inserting one or more loads into a vector. This is more efficient than to first load and then use a VLVGP. Review: Ulrich Weigand llvm-svn: 304152
* [ScopInfo] Do not add terminator & synthesizable instructions to the output ↵Michael Kruse2017-05-292-7/+5
| | | | | | | | | | | instructions. Such instructions are generates on-demand by the CodeGenerator and thus do not need representation in a statement. Differential Revision: https://reviews.llvm.org/D33642 llvm-svn: 304151
* Test commit: fix typosMattias Eriksson2017-05-291-3/+3
| | | | | | Just fixing a few typos in comments to test commit access. llvm-svn: 304149
* Revert "[NFC] Fix formatting & typecast issue. Build succeeds."Siddharth Bhat2017-05-292-2/+2
| | | | | | | | Should not have 'fixed' the formatting issue, I did not have the most recent version of `clang-format`. This reverts commit 761b1268359e14e59142f253d77864a29d55c56c. llvm-svn: 304148
* Replaced StructuredData::Type with eStructuredDataType Abhishek Aggarwal2017-05-291-2/+3
| | | | | | ...missing from r304138 "Added new API to SBStructuredData class" llvm-svn: 304147
* [NFC] Fix formatting & typecast issue. Build succeeds.Siddharth Bhat2017-05-292-2/+2
| | | | | | | | | - Fix formatting in `RegisterPasses.cpp`. - `assert` tried to compare `isl::boolean` against `long`. Explicitly construct `bool` from `isl::boolean`. This allows the implicit cast of `bool` to `long. llvm-svn: 304146
* [Nios2] Target registrationNikolai Bozhenov2017-05-2921-0/+597
| | | | | | | | | | | | | Reviewers: craig.topper, hfinkel, joerg, lattner, zvi Reviewed By: craig.topper Subscribers: oren_ben_simhon, igorb, belickim, tvvikram, mgorny, llvm-commits, pavel.v.chupin, DavidKreitzer Differential Revision: https://reviews.llvm.org/D32669 Patch by AndreiGrischenko <andrei.l.grischenko@intel.com> llvm-svn: 304144
* [ARM] GlobalISel: Extract helper. NFCI.Diana Picus2017-05-291-29/+34
| | | | | | | | Create a helper to deal with the common code for merging incoming values together after they've been split during call lowering. There's likely more stuff that can be commoned up here, but we'll leave that for later. llvm-svn: 304143
* More StructuredData::Type::eTypeDictionary -> ↵Stephan Bergmann2017-05-292-7/+7
| | | | | | | | lldb::eStructuredDataTypeDictionary ...missing from previous r304138 "Added new API to SBStructuredData class" llvm-svn: 304142
* clang-format: [JS] do not clean up duplicated commas.Martin Probst2017-05-292-2/+14
| | | | | | | | | | | | | | | | Summary: In JavaScript, duplicated commas have semantic meaning. x = [a,,b]; The statement above creates an array with three entries, the middle being undefined. Because clang-format should not change semantics, disable this cleanup in JS. Reviewers: djasper Subscribers: klimek Differential Revision: https://reviews.llvm.org/D33641 llvm-svn: 304141
* [ELF] - Do not allow -r to eat comdats.George Rimar2017-05-295-7/+110
| | | | | | | | | | | | | This is PR33052, "Bug 33052 - -r eats comdats ". To fix it I stop removing group section from out when -r is given and fixing SHT_GROUP content when writing it just like we do some other fixup, e.g. for Rel[a]. (it needs fix for section indices that are in group). Differential revision: https://reviews.llvm.org/D33485 llvm-svn: 304140
* [trivial] fix a typo in comment, NFCHiroshi Inoue2017-05-291-1/+1
| | | | llvm-svn: 304139
OpenPOWER on IntegriCloud