summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Rename DEBUG macro to LLVM_DEBUG.Nicola Zaghen2018-05-14502-8807/+9320
| | | | | | | | | | | | | | | | The DEBUG() macro is very generic so it might clash with other projects. The renaming was done as follows: - git grep -l 'DEBUG' | xargs sed -i 's/\bDEBUG\s\?(/LLVM_DEBUG(/g' - git diff -U0 master | ../clang/tools/clang-format/clang-format-diff.py -i -p1 -style LLVM - Manual change to APInt - Manually chage DOCS as regex doesn't match it. In the transition period the DEBUG() macro is still present and aliased to the LLVM_DEBUG() one. Differential Revision: https://reviews.llvm.org/D43624 llvm-svn: 332240
* Fix Wdocumentation warnings. NFCI.Simon Pilgrim2018-05-142-2/+2
| | | | llvm-svn: 332239
* Fix "not all control paths return a value" MSVC warning. NFCI.Simon Pilgrim2018-05-141-0/+1
| | | | llvm-svn: 332238
* [clangd] Add helper for collecting #include directives in file.Eric Liu2018-05-145-80/+81
| | | | | | | | | | | | | | Summary: Separate unit tests for the new function will be added in followup patch which will further refactor Headers.h Reviewers: sammccall Reviewed By: sammccall Subscribers: klimek, ilya-biryukov, MaskRay, jkorous, cfe-commits Differential Revision: https://reviews.llvm.org/D46675 llvm-svn: 332237
* Redirect output to /dev/null in the tests added in r332160.Eric Liu2018-05-141-2/+2
| | | | llvm-svn: 332236
* Re-land r332230 "[llvm-exegesis]Fix a warning in r332221"Clement Courbet2018-05-141-1/+1
| | | | | | | | | comparison of integers of different signs: 'const unsigned long' and 'const int' [-Werror,-Wsign-compare] unittests/tools/llvm-exegesis/BenchmarkResultTest.cpp:60:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<unsigned long, int>' requested here ASSERT_EQ(FromDiskVector.size(), 1); llvm-svn: 332235
* [AArch64][SVE] Extend parsing of Prefetch operation for SVE.Sander de Smalen2018-05-147-10/+99
| | | | | | | | | | Reviewers: rengolin, fhahn, samparker, SjoerdMeijer, javed.absar Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D46681 llvm-svn: 332234
* [clangd] Fix warning after fully covered enum switch. NFC.Ilya Biryukov2018-05-141-0/+1
| | | | | | By adding llvm_unreachable. llvm-svn: 332233
* Revert "[CodeGen] Disable aggressive structor optimizations at -O0"Pavel Labath2018-05-143-16/+11
| | | | | | | | | It breaks the sanitizer build <http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/23739> This reverts commit r332228. llvm-svn: 332232
* [llvm-exegesis] Revert accidentally commited code.Clement Courbet2018-05-147-184/+41
| | | | llvm-svn: 332231
* [llvm-exegesis] Fix a warning in r332221Clement Courbet2018-05-142-17/+10
| | | | | | | | | comparison of integers of different signs: 'const unsigned long' and 'const int' [-Werror,-Wsign-compare] unittests/tools/llvm-exegesis/BenchmarkResultTest.cpp:60:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<unsigned long, int>' requested here ASSERT_EQ(FromDiskVector.size(), 1); llvm-svn: 332230
* [llvm-exegesis] Add an analysis mode.Clement Courbet2018-05-146-40/+190
| | | | | | | The analysis mode gives the user a clustered view of the measurement results and highlights any inconsistencies with the checked-in data. llvm-svn: 332229
* [CodeGen] Disable aggressive structor optimizations at -O0Pavel Labath2018-05-143-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Removing the full structor and replacing all usages with the base one can degrade debug quality as it will leave the debugger unable to locate the full object structor. This is apparent when evaluating an expression in the debugger which requires constructing an object of class which has had this optimization applied to it. When compiling the expression, we pretend that the class and its methods have been defined in another compilation unit, so the expression compiler assumes the structor definition must be available. This didn't use to be the case for structors with internal linkage. Less aggressive optimizations like emitting the full structor as an alias remain in place, as they do not cause the structor symbol to disappear completely. This improves debug quality on non-darwin platforms (darwin does not have -mconstructor-aliases on by default, so it is spared these problems) and enable us to remove some workarounds from LLDB which attempt to mitigate this issue. Reviewers: rjmccall, aprantl Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D46685 llvm-svn: 332228
* [mips] Correct the predicates of indexed floating point stores and loads.Simon Dardis2018-05-145-20/+18
| | | | | | | | | | Also, fix the register class for microMIPS. Reviewers: atanasyan, abeserminji, smaksimovic Differential Revision: https://reviews.llvm.org/D46689 llvm-svn: 332227
* [clangd] Don't query index when completing inside classesIlya Biryukov2018-05-142-3/+91
| | | | | | | | | | | | | | | | | Summary: We used to query the index when completing after class qualifiers, e.g. 'ClassName::^'. We should not do that for the same reasons we don't query the index for member access expressions. Reviewers: sammccall, ioeric Reviewed By: sammccall Subscribers: klimek, MaskRay, jkorous, cfe-commits Differential Revision: https://reviews.llvm.org/D46795 llvm-svn: 332226
* [clang-format] Continue after non-scope-closers in getLengthToMatchingParenKrasimir Georgiev2018-05-142-1/+15
| | | | | | | | | | | | | Summary: This fixes a regression introduced by `r331857` where we stop the search for the End token as soon as we hit a non-scope-closer, which prematurely stops before semicolons for example, which should otherwise be considered as part of the unbreakable tail. Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D46824 llvm-svn: 332225
* [ELF] Do not error for missing version when symbol has local version.Peter Smith2018-05-143-2/+43
| | | | | | | | | | | | | If a symbol with an undefined version in a DSO is not going to be exported into the dynamic symbol table then do not give an error message for the missing version. This can happen with the --exclude-libs option which implicitly gives all symbols in a static library the local version. This matches the behavior of ld.gold and is exploited by the Bionic dynamic linker on Arm. Differential Revision: https://reviews.llvm.org/D43126 llvm-svn: 332224
* [clang-tidy] Add terminating continue checkGabor Horvath2018-05-148-0/+177
| | | | | | | | Patch by: Daniel Kolozsvari! Differential Revision: https://reviews.llvm.org/D33844 llvm-svn: 332223
* [RISCV][NFC] Use more appropriate label for CHECK linesAlex Bradbury2018-05-141-19/+19
| | | | | | | 'CC1' was a misleading prefix. Committing so as to simplify the diff for a patch I'm about to put up for review. llvm-svn: 332222
* [llvm-exegesis] Allow lists of BenchmarkResults to be parsed as ↵Clement Courbet2018-05-143-3/+33
| | | | | | std::vector<BenchmarkResult>. llvm-svn: 332221
* Test commit access.Nicola Zaghen2018-05-141-1/+1
| | | | | | Remove trailing whitespace. llvm-svn: 332220
* [LLVM-C] Add Bindings For Module FlagsRobert Widmann2018-05-145-0/+235
| | | | | | | | | | | | | | | | | | | Summary: The first foray into merging debug info into the echo tests. - Add bindings to Module::getModuleFlagsMetadata() in the form of LLVMCopyModuleFlagsMetadata - Add the opaque type LLVMModuleFlagEntry to represent Module::ModuleFlagEntry - Add accessors for LLVMModuleFlagEntry's behavior, key, and metadata node. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: aprantl, JDevlieghere, llvm-commits, harlanhaskins Differential Revision: https://reviews.llvm.org/D46792 llvm-svn: 332219
* [llvm-ar] Make PositionalArgs static.Fangrui Song2018-05-141-1/+1
| | | | llvm-svn: 332216
* Correct compatibility with the GNU Assembler's handling of comparison opsBill Wendling2018-05-144-13/+41
| | | | | | | | GAS returns -1 for a comparison operator if the result is true and 0 if false. https://www.sourceware.org/binutils/docs-2.12/as.info/Infix-Ops.html#Infix%20Ops llvm-svn: 332215
* [X86] Add fast isel test cases for the clang output for 512-bit cvtps2pd ↵Craig Topper2018-05-141-0/+92
| | | | | | related intrinsics. llvm-svn: 332214
* [X86] Use select instrution and fpextend in the implementation of ↵Craig Topper2018-05-142-12/+12
| | | | | | _mm512_mask_cvtps_pd and _mm512_maskz_cvtps_pd. llvm-svn: 332213
* [XRay][compiler-rt] Relocate a DCHECK to the correct location.Dean Michael Berris2018-05-141-1/+2
| | | | | | | | | Fixes a bad DCHECK where the condition being checked is still valid (for iterators pointing to sentinels). Follow-up to D45756. llvm-svn: 332212
* [XRay][compiler-rt] Fixup: Use proper string comparison for DCHECKDean Michael Berris2018-05-141-1/+1
| | | | | | | | Fixes the sanitizer build. Follow-up to D46574. llvm-svn: 332211
* [X86] Use __builtin_convertvector to implement _mm512_cvtps_pd.Craig Topper2018-05-142-7/+3
| | | | | | | | If we're using default rounding mode we can let __builtin_convertvector to generate an fpextend. This matches 128 and 256 bit. If we're using the version that takes an explicit rounding mode argument we would need to look at the immediate to see if its CUR_DIRECTION. llvm-svn: 332210
* [XRay][compiler-rt] Fixup: Avoid C++11 narrowing in non-x86_64Dean Michael Berris2018-05-141-3/+4
| | | | | | | | This should fix non-x86_64 builds where size_t != atomic_uint64_t::Type. Follow-up to D46574. llvm-svn: 332209
* [XRay][compiler-rt] Support in-memory processing of FDR mode logsDean Michael Berris2018-05-145-61/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This change allows for handling the in-memory data associated with the FDR mode implementation through the new `__xray_log_process_buffers` API. With this change, we can now allow users to process the data in-memory of the process instead of through writing files. This for example allows users to stream the data of the FDR logging implementation through network sockets, or through other mechanisms instead of saving them to local files. We introduce an FDR-specific flag, for "no_file_flush" which lets the flushing logic skip opening/writing to files. This option can be defaulted to `true` when building the compiler-rt XRay runtime through the `XRAY_FDR_OPTIONS` preprocessor macro. Reviewers: kpw, echristo, pelikan, eizan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D46574 llvm-svn: 332208
* [X86] Cleanup a multiclass that doesn't need as many parameters after recent ↵Craig Topper2018-05-141-25/+12
| | | | | | intrinsic removals. llvm-svn: 332207
* [X86] Remove and autoupgrade the cvtusi2sd intrinsic. Use ↵Craig Topper2018-05-146-22/+16
| | | | | | uitofp+insertelement instead. llvm-svn: 332206
* [X86] Add patterns for combining movss+uint_to_fp into the intrinsic ↵Craig Topper2018-05-132-12/+46
| | | | | | | | instructions under AVX512. This matches what we do for sint_to_fp. llvm-svn: 332205
* [X86] Add fast-isel test cases for _mm_cvtu32_sd, _mm_cvtu64_sd, ↵Craig Topper2018-05-131-0/+98
| | | | | | _mm_cvtu32_ss, and _mm_cvtu64_ss. llvm-svn: 332204
* [X86] Emit better code for _mm_cvtu32_sd, _mm_cvtu64_sd, _mm_cvtu32_ss, and ↵Craig Topper2018-05-133-12/+16
| | | | | | | | | | _mm_cvtu64_ss. We can use direct C code for these that will use uitofp and insertelement instructions. For the versions that take an explicit rounding mode we can't do this. llvm-svn: 332203
* [X86] Extend instcombine folds for pclmuldq intrinsics to the 256 and 512 ↵Craig Topper2018-05-132-9/+198
| | | | | | bit version. llvm-svn: 332202
* Use const_iterator in DWARFUnitJan Kratochvil2018-05-131-3/+3
| | | | | | | Function DWARFUnit::GetDIE is using m_die_array only for reading so it can use DWARFDebugInfoEntry::const_iterator. llvm-svn: 332201
* Revert "Protect DWARFCompileUnit::m_die_array by a new mutex"Jan Kratochvil2018-05-132-18/+3
| | | | | | | | | Pavel Labath found this patch is incomplete and racy. I think there needs to be some more mutexes even before considering DW_TAG_partial_unit. This reverts commit 331229 which was: https://reviews.llvm.org/D40470 llvm-svn: 332200
* [X86] Add missing test for the InstCombines of pclmulqdq.Craig Topper2018-05-131-0/+80
| | | | | | Apparently this test was lost when r293151 was committed. It was present in the review, but not the commit. llvm-svn: 332199
* [X86] Remove and autoupgrade masked vpermd/vpermps intrinsics.Craig Topper2018-05-136-59/+53
| | | | llvm-svn: 332198
* Follow-up to rL332176 by adding a test case for PR37264.Dimitry Andric2018-05-131-0/+12
| | | | | | Noticed by Simon Pilgrim. llvm-svn: 332197
* AMDGPU: Rename OpenCL lowering pass to be R600 specific.Matt Arsenault2018-05-134-10/+11
| | | | | | | | | | | | | | | | | | This pass is a) broken. b) r600 specific. Fixing (a) is a bit more non-trivial, but fixing (b) is easy. Move this pass to being R600 only for now. This pass does pass all the unit tests, however clang no longer generates code that looks like the unit test input, so fixing the pass requires fixing the tests and the pass as one, and checking it works with clang still. Patch by Dave Airlie llvm-svn: 332196
* AMDGPU: Make undef legal for v2i16/v2f16Matt Arsenault2018-05-132-4/+4
| | | | | | | This is apparently necessary to stop undef from being turned into a build_vector of 0s. llvm-svn: 332195
* Added atomic_fetch_min, max, umin, umax intrinsics to clang.Elena Demikhovsky2018-05-138-3/+84
| | | | | | | | | These intrinsics work exactly as all other atomic_fetch_* intrinsics and allow to create *atomicrmw* with ordering. Updated the clang-extensions document. Differential Revision: https://reviews.llvm.org/D46386 llvm-svn: 332193
* Fixing build bot error: adding const qualifiers to std::sort lambda.Puyan Lotfi2018-05-131-1/+1
| | | | | | Errors were not reproducible on clang-6.0 on ubuntu 16.04. llvm-svn: 332192
* [NFC] MIR-Canon: switching to a stable string sorting of instructions.Puyan Lotfi2018-05-132-5/+12
| | | | llvm-svn: 332191
* [sanitizer] Replace #if SANITIZER_NETBSD with #if ↵Vitaly Buka2018-05-132-13/+22
| | | | | | SANITIZER_INTERCEPT___LIBC_MUTEX llvm-svn: 332190
* [X86] Add some load folding patterns for cvtsi2ss/sd into intrinsic ↵Craig Topper2018-05-133-1/+61
| | | | | | instructions. llvm-svn: 332189
* [X86] Remove some unused CHECK lines from tests.Craig Topper2018-05-132-12/+0
| | | | llvm-svn: 332188
OpenPOWER on IntegriCloud