summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Replace __make_tuple_indices implementation with superior implementation.Eric Fiselier2016-06-302-77/+81
| | | | | | | | | | | | | | | | | The previous __make_tuple_indices implementation caused O(N) instantiations and was pretty inefficient. The C++14 __make_integer_sequence implementation is much better, since it either uses a builtin to generate the sequence or a very nice Log8(N) implementation provided by richard smith. This patch moves the __make_integer_sequence implementation into __tuple and uses it to implement __make_tuple_indices. Since libc++ can't expose the name 'integer_sequence' in C++11 this patch also introduces a dummy type '__integer_sequence' which is used when generating the sequence. One the sequence is generated '__integer_sequence' can be converted into the required type; either '__tuple_indices' or 'integer_sequence'. llvm-svn: 274286
* Fix static assert problem on gcc; remove XFAILs that I put in in r274250Marshall Clow2016-06-308-18/+6
| | | | llvm-svn: 274285
* Test commit.David L Kreitzer2016-06-301-1/+1
| | | | llvm-svn: 274284
* [OpenMP] Use fopenmp prefix for all options introduced by the offloading ↵Samuel Antao2016-06-3023-411/+411
| | | | | | | | | | | | | | implementation. Summary: This patch changes the options used by offloading to start with -fopenmp instead of -fomp. This makes the option naming more consistent and materializes a suggestion by Richard Smith in http://reviews.llvm.org/D9888. Reviewers: hfinkel, carlo.bertolli, arpith-jacob, ABataev Subscribers: kkwli0, cfe-commits, caomhin Differential Revision: http://reviews.llvm.org/D21841 llvm-svn: 274283
* Don't use unchecked dyn_castMatt Arsenault2016-06-301-1/+1
| | | | llvm-svn: 274282
* SLPVectorizer: Move propagateMetadata to VectorUtilsMatt Arsenault2016-06-305-69/+83
| | | | | | | | This will be re-used by the LoadStoreVectorizer. Fix handling of range metadata and testcase by Justin Lebar. llvm-svn: 274281
* fix typo; NFCSanjay Patel2016-06-301-1/+1
| | | | llvm-svn: 274278
* Fix for Windows builds.Adrian McCarthy2016-06-301-0/+6
| | | | llvm-svn: 274277
* ScopInfo: Add array_begin() and array_end() iteratorsTobias Grosser2016-06-301-2/+16
| | | | | | | | These iterators are provided to complete the interface with non-range iterators and are useful for external users of ScopInfo. To ensure they are tested we use them to implement the existing range iterators. llvm-svn: 274276
* AMDGPU: Add m0 vgpr load loop block as successorMatt Arsenault2016-06-301-0/+1
| | | | | | | This shows up as a verifier error when I move this earlier, not sure why it didn't before. llvm-svn: 274275
* Fix C++03 build.Eric Fiselier2016-06-305-1/+16
| | | | llvm-svn: 274274
* [libFuzzer] Let user specify extra stats file.Mike Aizatsky2016-06-303-4/+208
| | | | | | | | | | | | Summary: If AFL_DRIVER_EXTRA_STATS_FILENAME is set and valid, write to it peak_rss_mb and slowest_unit_time_sec. These are both stats that libFuzzer can print but afl cannot. Reviewers: kcc, aizatsky, metzman Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21742 llvm-svn: 274273
* Propagate on-error statusTobias Grosser2016-06-302-2/+5
| | | | | | | | | | | | | | | | This ensures that the error status set with -polly-on-isl-error-abort is maintained even after running DependenceInfo and ScheduleOptimizer. Both passes temporarily set the error status to CONTINUE as the dependence analysis uses a compute-out and the scheduler may not be able to derive a schedule. In both cases we want to not abort, but to handle the error gracefully. Before this commit, we always set the error reporting to ABORT after these passes. After this commit, we use the error reporting mode that was active earlier. This comes without a test case as this would require us to introduce (memory) errors which would trigger the isl errors. llvm-svn: 274272
* Simplify: get isl_ctx only once [NFC]Tobias Grosser2016-06-301-10/+11
| | | | | | ... instead of call S.getIslCtx() many times. llvm-svn: 274271
* [CMake] Module builds depend on target intrinsics_gen to be built first.Vassil Vassilev2016-06-301-0/+9
| | | | | | | | | | | | | | When compiling with modules, header A and B can be in the same module M. B depends on intrinsics_gen and A doesn't. Compiling a source file #include-ing header A, we implicitly request module M to be built. It puts header A and B in the same TU and tries to build them. Since B depends on intrinsics_gen (which might not be built yet) we run into build failures. This should fix our modules buildbot. Patch reviewed by Chris Bieneman. llvm-svn: 274270
* Fix ASTMatchersNodeTest to work on Windows.Justin Lebar2016-06-301-7/+5
| | | | | | | | | | | It was failing because it had an explicit check for whether we're on Windows. There are a few other similar explicit checks in this file which I didn't remove because they serve as reasonable documentation that the test doesn't work with a Windows triple. llvm-svn: 274269
* Introduce a *draft* of a code of conduct for the LLVM community and theChandler Carruth2016-06-303-0/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | associated reporting guide. I want to emphasize that at this point these are just drafts! This is the result of very extended discussion on the mailing lists on several different threads: http://lists.llvm.org/pipermail/llvm-dev/2015-October/091218.html http://lists.llvm.org/pipermail/llvm-dev/2016-May/099120.html http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151019/307070.html The reporting guide in particular I anticipate will be shaped somewhat by the advisory committee when they are selected. But hopefully this serves as a good starting point and good guidance while the advisory committee is being sorted out. I'd like to thank all the folks who contributed to this. Many, *many* people worked to help with drafting, wording, suggestions, and edits. Also, this is based on widely used existing codes of coduct as mentioned in the text, and the original authors of those deserve many thanks as well. Differential Revision: http://reviews.llvm.org/D13741 llvm-svn: 274268
* Fix typo-correction crash if a typo occurs within the operand of aRichard Smith2016-06-304-5/+16
| | | | | | | | | function-style cast to a non-dependent type which is then used in an invalid way. We'd lose the "type dependent" bit here, and downstream Sema processing would then discard the expression if it was used in a context where its type rendered it invalid. llvm-svn: 274267
* [compiler-rt] Re-active unittest previously broken on windows.Etienne Bergeron2016-06-301-4/+0
| | | | | | | | | | | | Summary: These tests are working fine. Reviewers: rnk Subscribers: kubabrecka, wang0109, llvm-commits, chrisha Differential Revision: http://reviews.llvm.org/D21905 llvm-svn: 274265
* [compiler-rt] Fix TLS resource leaking in unittestEtienne Bergeron2016-06-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The thread specific key wasn't not released. Running the unittest in loop will fail after 1024 iteraions. ``` ./projects/compiler-rt/lib/sanitizer_common/tests/Sanitizer-i386-Test --gtest_filter=SanitizerCommon.PthreadDestructorIterations --gtest_repeat=2000 --gtest_break_on_failure ``` ``` Repeating all tests (iteration 1023) . . . Note: Google Test filter = SanitizerCommon.PthreadDestructorIterations [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from SanitizerCommon [ RUN ] SanitizerCommon.PthreadDestructorIterations /usr/local/google/home/etienneb/llvm/llvm/projects/compiler-rt/lib/sanitizer_common/tests/sanitizer_posix_test.cc:54: Failure Value of: pthread_key_create(&key, &destructor) Actual: 11 Expected: 0 Aborted (core dumped) ``` Reviewers: rnk Subscribers: kubabrecka, llvm-commits, chrisha Differential Revision: http://reviews.llvm.org/D21902 llvm-svn: 274264
* Add an artificial line-0 debug location when the compiler emits a call toYunzhong Gao2016-06-302-0/+26
| | | | | | | | __stack_chk_fail(). This avoids a compiler crash. Differential Revision: http://reviews.llvm.org/D21818 llvm-svn: 274263
* Refine the set of UniformAfterVectorization instructions.Wei Mi2016-06-302-26/+121
| | | | | | | | | | Except the seed uniform instructions (conditional branch and consecutive ptr instructions), dependencies to be added into uniform set should only be used by existing uniform instructions or intructions outside of current loop. Differential Revision: http://reviews.llvm.org/D21755 llvm-svn: 274262
* [CUDA] Give templated device functions internal linkage, templated kernels ↵Justin Lebar2016-06-302-5/+14
| | | | | | | | | | | | | | | | | external linkage. Summary: This lets LLVM perform IPO over these functions. In particular, it allows LLVM to emit ld.global.nc for loads to __restrict pointers in kernels that are never written to. Reviewers: rsmith Subscribers: cfe-commits, tra Differential Revision: http://reviews.llvm.org/D21337 llvm-svn: 274261
* PR28373: fix crash-on-invalid if the condition of an if-statement fails ↵Richard Smith2016-06-302-1/+10
| | | | | | typo-correction. llvm-svn: 274260
* CodeGen: Add the other BuildMI overload for MachineInstr&Justin Bogner2016-06-301-7/+11
| | | | | | The change in r274193 missed this variant. llvm-svn: 274259
* Delete MCCodeGenInfo.Rafael Espindola2016-06-3023-354/+59
| | | | | | | MC doesn't really care about CodeGen stuff, so this was just complicating target initialization. llvm-svn: 274258
* Don't instantiate a full host toolchain in ASTMatchersTest.Justin Lebar2016-06-301-15/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This test was stat()'ing large swaths of /usr/lib hundreds of times, as every invocation of matchesConditionally*() created a new Linux toolchain. In addition to being slow, perf indicated this was causing substantial contention in the kernel. Something is...interesting in the kernel, as without this patch I sometimes see ~11m spent in the kernel, and sometimes ~5m. This corresponds to bimodal ninja check-clang times of ~30s and ~20s. It's not clear to me exactly what causes the bimodality. In any case, this change makes this test run in 2.5s, down from 17s, and it seems to cause us to get the 20s ninja check-clang time unconditionally. Reviewers: chandlerc Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D21810 llvm-svn: 274257
* Improve ADB utilization within Android platform.Oleksiy Vyalov2016-06-305-188/+242
| | | | | | http://reviews.llvm.org/D21770 llvm-svn: 274256
* Mark issues 2550, 2551, 2555, 2685, 2698 as complete. These issues are ↵Marshall Clow2016-06-301-7/+7
| | | | | | wording clarifications; no code changes required. llvm-svn: 274255
* Removed the redundant "%d errors parsing expression" error. Nobody keeps score.Sean Callanan2016-06-303-7/+2
| | | | | | <rdar://problem/24306284> llvm-svn: 274254
* Mark issues 2667, 2669, 2670, 2671, 2673 as complete. These issues are ↵Marshall Clow2016-06-301-5/+5
| | | | | | wording clarifications; no code changes required. llvm-svn: 274253
* Implement LWG#2688: 'clamp misses preconditions and has extraneous condition ↵Marshall Clow2016-06-303-5/+136
| | | | | | on result'. We already did this, just added tests llvm-svn: 274252
* revert http://reviews.llvm.org/D21101Etienne Bergeron2016-06-302-55/+0
| | | | llvm-svn: 274251
* Temporarily XFAIL the incomplete type tests for GCC while I figure out why ↵Marshall Clow2016-06-306-0/+12
| | | | | | adding a static_assert in r274235 broken them llvm-svn: 274250
* [Support] Fix a bug in ErrorList::join / joinErrors.Lang Hames2016-06-302-1/+47
| | | | | | | | When concatenating two error lists the ErrorList::join method (which is called by joinErrors) was failing to set the checked bit on the second error, leading to a 'failure to check error' assertion. llvm-svn: 274249
* [pdb] Re-add code to write PDB files.Zachary Turner2016-06-3012-76/+153
| | | | | | | | | Somehow all the functionality to write PDB files got removed, probably accidentally when uploading the patch perhaps the wrong one got uploaded. This re-adds all the code, as well as the corresponding test. llvm-svn: 274248
* Update llvm-pdbdump to use subcommands.Zachary Turner2016-06-3021-479/+414
| | | | llvm-svn: 274247
* [codeview] Emit qualified display names if -gline-tables-only is onReid Kleckner2016-06-302-19/+49
| | | | | | | | | | | | | | | | | | When -gmlt is on, we don't emit namespace or class scope information, and the CodeView emission code in LLVM can't compute the fully qualified name. If we know LLVM won't be able to get the name right, go ahead and emit the qualified name in the frontend. We could change our -gmlt emission strategy to include those scopes when emitting codeview, but that would increase memory usage and slow down LTO and add more complexity to debug info emission. The same problem exists when you debug a -gmlt binary with GDB, so we should consider removing '&& EmitCodeView' from the condition here at some point in the future after evaluating the impact on object file size. llvm-svn: 274246
* Port some more debug info tests on WindowsReid Kleckner2016-06-303-10/+2
| | | | llvm-svn: 274245
* [CMake] Add an LLVM_ENABLE_MODULE_DEBUGGING flag for building with -gmodules.Adrian Prantl2016-06-302-0/+7
| | | | | | | | | This flag is only effective in builds with debug info and modules. The default is On for Darwin only. rdar://problem/27019000 llvm-svn: 274244
* Implement LWG#2684: 'priority_queue lacking comparator typedef'. We already ↵Marshall Clow2016-06-302-1/+5
| | | | | | did this, just added tests llvm-svn: 274243
* Revert "[CMake] Move the -Xclang option before -fmodules-cache-path"Adrian Prantl2016-06-301-2/+2
| | | | | | | | | This reverts commit 3db82f646a0890eb7664d0351b5a3c79622e8bef. Vassil already fixed this and I mechanically undid his fix without looking too close at what I'm actually doing. Need more coffee. llvm-svn: 274242
* Implement LWG#2596: 'vector::data() should use addressof'Marshall Clow2016-06-303-4/+42
| | | | llvm-svn: 274241
* [CMake] Move the -Xclang option before -fmodules-cache-pathAdrian Prantl2016-06-301-2/+2
| | | | | | | | | | This fixes a typo introduced in r274196. Thanks to Vassil Vassilev for noticing! http://reviews.llvm.org/D21827 rdar://problem/27019000 llvm-svn: 274240
* [exceptions] Upgrade exception handlers when stack protector is usedEtienne Bergeron2016-06-302-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: MSVC provide exception handlers with enhanced information to deal with security buffer feature (/GS). To be more secure, the security cookies (GS and SEH) are validated when unwinding the stack. The following code: ``` void f() {} void foo() { __try { f(); } __except(1) { f(); } } ``` Reviewers: majnemer, rnk Subscribers: thakis, llvm-commits, chrisha Differential Revision: http://reviews.llvm.org/D21101 llvm-svn: 274239
* fix formatting, add TODO; NFCSanjay Patel2016-06-301-1/+2
| | | | llvm-svn: 274238
* [DSE] Fix bug in partial overwrite trackingJun Bum Lim2016-06-302-7/+53
| | | | | | | | | | | | | | Summary: Found cases where DSE incorrectly add partially-overwritten intervals. Please see the test case for details. Reviewers: mcrosier, eeckstein, hfinkel Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D21859 llvm-svn: 274237
* Implement LWG#2441: 'Exact-width atomic typedefs should be provided'Marshall Clow2016-06-305-1/+70
| | | | llvm-svn: 274236
* Implement LWG#2436: 'Comparators for associative containers should always be ↵Marshall Clow2016-06-3015-1/+355
| | | | | | CopyConstructible' llvm-svn: 274235
* [compiler-rt] Fix broken (flaky) unittests based on FlagParser.Etienne Bergeron2016-06-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The FlagParser is populating a static global class with the unrecognized flags when parsing. That global class has a dcheck that limit the number of unrecognized flag to 20. ``` class UnknownFlags { static const int kMaxUnknownFlags = 20; const char *unknown_flags_[kMaxUnknownFlags]; int n_unknown_flags_; [...] void Report() { if (!n_unknown_flags_) return; Printf("WARNING: found %d unrecognized flag(s):\n", n_unknown_flags_); for (int i = 0; i < n_unknown_flags_; ++i) Printf(" %s\n", unknown_flags_[i]); n_unknown_flags_ = 0; } }; UnknownFlags unknown_flags; ``` Unittests based on that class must reset the counter 'n_unknown_flags_' or the next usage of that class may fail arbitrary. This can be done by reporting the pending unknown flags. Reviewers: rnk Subscribers: llvm-commits, wang0109, kubabrecka, chrisha Differential Revision: http://reviews.llvm.org/D21896 llvm-svn: 274234
OpenPOWER on IntegriCloud