summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [mips] Show warning in case of mixing -mlong-calls and -mabicalls optionsSimon Atanasyan2017-08-104-4/+26
| | | | | | | | | | While we do not support `-mshared / -mno-shared` properly, show warning and ignore `-mlong-calls` option in case of implicitly or explicitly provided `-mabicalls` option. Differential revision: https://reviews.llvm.org/D36551 llvm-svn: 310614
* [mips] Notify user that `-mabicalls` is ignored on non-PIC N64 ABISimon Atanasyan2017-08-104-3/+27
| | | | | | | | | | The -mabicalls option does not make sense in the case of non position independent code for the N64 ABI. After this change the driver shows a warning that -mabicalls is ignored in that case. Differential revision: https://reviews.llvm.org/D36550 llvm-svn: 310613
* Add missing license text to two headers. NFC.Philip Pfaffe2017-08-102-0/+22
| | | | llvm-svn: 310612
* [InstCombine] add memcpy expansion tests with potential DL dependency; NFCSanjay Patel2017-08-101-12/+79
| | | | | | | | | Current behavior is to transform these independently of the datalayout. There's a proposal to change this in D35035: https://reviews.llvm.org/D35035 llvm-svn: 310611
* [unittests] Adding a unittest for ChangeTaTargetIndex. NFCMarcello Maggioni2017-08-102-0/+41
| | | | | | Differential Revision: https://reviews.llvm.org/D36565 llvm-svn: 310610
* [Parse] Document PrintStats, SkipFunctionBodiesBrian Gesiak2017-08-101-2/+5
| | | | | | | | | | | | | | Summary: Add documentation for `clang::ParseAST` parameters `PrintStats` and `SkipFunctionBodies`. Also, remove a tiny bit of trailing whitespace. Reviewers: craig.topper, doug.gregor, erikjv Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D36530 llvm-svn: 310609
* [DAG] Rewrite expression. NFC.Nirav Dave2017-08-101-2/+2
| | | | llvm-svn: 310608
* [ELF, LinkerScript] Support ! operator in linker script.Hafiz Abid Qadeer2017-08-103-4/+19
| | | | | | | | | | | | | | Summary: This small patch adds the support for ! operator in linker scripts. Reviewers: ruiu, rafael Reviewed By: ruiu Subscribers: meadori, grimar, emaste, llvm-commits Differential Revision: https://reviews.llvm.org/D36451 llvm-svn: 310607
* [CostModel][X86] Added v2f64/v2i64 single src shuffle model testsSimon Pilgrim2017-08-101-4/+21
| | | | | | Fixed label checks for all prefixes llvm-svn: 310606
* [Modules] Prevent #import to reenter header if not building a module.Bruno Cardoso Lopes2017-08-103-1/+15
| | | | | | | | | | When non-modular headers are imported while not building a module but in -fmodules mode, be conservative and preserve the default #import semantic: do not reenter headers. rdar://problem/33745031 llvm-svn: 310605
* [X86] Keep dependencies when constructing loads in combineStoreNirav Dave2017-08-104-11/+61
| | | | | | | | | | | | | | | | Summary: Preserve chain dependecies between old and new loads constructed to prevent loads from reordering below later stores. Fixes PR34088. Reviewers: craig.topper, spatel, RKSimon, efriedma Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36528 llvm-svn: 310604
* [InstCombine] regenerate test checks; NFCSanjay Patel2017-08-103-14/+20
| | | | llvm-svn: 310603
* Compute isPreemtible only once.Rafael Espindola2017-08-104-38/+44
| | | | | | | | This is probably a small optimization, but the main motivation is having a way of fixing pr34053 that doesn't require a hash lookup in isPreempitible. llvm-svn: 310602
* [Hexagon] Use isMetaInstruction instead of isDebugValueKrzysztof Parzyszek2017-08-103-3/+4
| | | | llvm-svn: 310601
* [sanitizer-coverage] Change cmp instrumentation to distinguish const operandsAlexander Potapenko2017-08-103-5/+112
| | | | | | | | | | | | | | | | | | | | | This implementation of SanitizerCoverage instrumentation inserts different callbacks depending on constantness of operands: 1. If both operands are non-const, then a usual __sanitizer_cov_trace_cmp[1248] call is inserted. 2. If exactly one operand is const, then a __sanitizer_cov_trace_const_cmp[1248] call is inserted. The first argument of the call is always the constant one. 3. If both operands are const, then no callback is inserted. This separation comes useful in fuzzing when tasks like "find one operand of the comparison in input arguments and replace it with the other one" have to be done. The new instrumentation allows us to not waste time on searching the constant operands in the input. Patch by Victor Chibotaru. llvm-svn: 310600
* [JSON] Make the failure to parse a jscop file a hard errorPhilip Pfaffe2017-08-1025-32/+33
| | | | | | | | | | | | | | | | | | Summary: Before, if we fail to parse a jscop file, this will be reported as an error and importing is aborted. However, this isn't actually strong enough, since although the import is aborted, the scop has already been modified and is very likely broken. Instead, make this a hard failure and throw an LLVM error. This new behaviour requires small changes to the tests for the legacy pass, namely using `not` to verify the error. Further, fixed the jscop file for the base_pointer_load_is_inst_inside_invariant_1 testcase. Reviewed By: Meinersbur Split out of D36578. llvm-svn: 310599
* [InstCombine] regenerate test checks, add comments; NFCSanjay Patel2017-08-101-13/+23
| | | | llvm-svn: 310598
* [JSON][PM] Port json import/export over to new pmPhilip Pfaffe2017-08-104-97/+149
| | | | | | | | | | | | | | | | Summary: I pulled out all functionality into static functions, and use those both in the legacy passes and in the new ones. Reviewers: grosser, Meinersbur, bollu Reviewed By: Meinersbur Subscribers: llvm-commits, pollydev Differential Revision: https://reviews.llvm.org/D36578 llvm-svn: 310597
* [sanitizer_common] Update sanitizers w.r.t. the new comparisons ↵Alexander Potapenko2017-08-104-0/+20
| | | | | | | | | | | instrumentation API Added declarations of __sanitizer_cov_trace_const_cmp[1248] callbacks. For more details, please see https://reviews.llvm.org/D36465. Patch by Victor Chibotaru. llvm-svn: 310596
* Fix 310555: Require pollyacc instead of assertsPhilip Pfaffe2017-08-101-1/+1
| | | | llvm-svn: 310595
* [NewGVN] Add CL option to control the generation of phi-of-ops (disable by ↵Chad Rosier2017-08-104-4/+10
| | | | | | | | default). Differential Revision: https://reviews.llvm.org/D36478539 llvm-svn: 310594
* [SelectionDAG] Allow constant folding for implicitly truncating BUILD_VECTOR ↵Guy Blank2017-08-102-4/+16
| | | | | | | | | | | | | nodes. In FoldConstantArithmetic, handle BUILD_VECTOR nodes that do implicit truncation on the elements. This is similar to what is done in FoldConstantVectorArithmetic. Differential Revision: https://reviews.llvm.org/D36506 llvm-svn: 310593
* [libFuzzer] Update LibFuzzer w.r.t. the new comparisons instrumentation APIAlexander Potapenko2017-08-101-0/+35
| | | | | | | | | | Added the _sanitizer_cov_trace_const_cmp[1248] callbacks. For now they are implemented the same way as _sanitizer_cov_trace_cmp[1248]. For more details, please see https://reviews.llvm.org/D36465. Patch by Victor Chibotaru. llvm-svn: 310592
* Report inferior signals as signals, not exceptions, on FreeBSDEd Maste2017-08-107-63/+16
| | | | | | | | | | | | | | | | | | | | | This is the FreeBSD equivalent of r238549. This serves 2 purposes: * LLDB should handle inferior process signals SIGSEGV/SIGILL/SIGBUS/ SIGFPE the way it is suppose to be handled. Prior to this fix these signals will neither create a coredump, nor exit from the debugger or work for signal handling scenario. * eInvalidCrashReason need not report "unknown crash reason" if we have a valid si_signo llvm.org/pr23699 Patch by Karnajit Wangkhem Differential Revision: https://reviews.llvm.org/D35223 llvm-svn: 310591
* [CMake][LLVM] Remove duplicated library mask. Broken clang linking against ↵Oleg Ranevskyy2017-08-101-6/+3
| | | | | | | | | | | | | | | | | | | clangShared Summary: The `LLVM${c}Info` mask is listed twice in LLVM-Config.cmake. This results in the libraries such as LLVMARMInfo, LLVMAArch4Info, etc appearing twice in `extract_symbols.py` command line while building `clangShared`. `Extract_symbols.py` does not work well in such a case and completely ignores the symbols from the duplicated libraries. Thus, the LLVM(...)Info symbols do not get exported from `clangShared` and linking clang against it fails with unresolved dependencies. Seems to be a mere copy-paste mistake. Reviewers: beanz, chapuni Reviewed By: chapuni Subscribers: chapuni, aemerson, mgorny, kristof.beyls, llvm-commits, asl Differential Revision: https://reviews.llvm.org/D36119 llvm-svn: 310590
* [clang-tidy] Add integer division checkGabor Horvath2017-08-108-0/+273
| | | | | | | | Patch by: Reka Nikolett Kovacs Differential Revision: https://reviews.llvm.org/D35932 llvm-svn: 310589
* [compiler-rt][ARM] Fix filtering of ARM targetsOleg Ranevskyy2017-08-101-2/+6
| | | | | | | | | | | | | | | | | Summary: Similarly to i686, the ARM build target has multiple names, such as armhf, armv7 and so on. Currently we get duplicated symbol definitions for these targets while compiling the library. Each duplicated definition has its generic version from `lib/builtins` and an ARM-specialized version from `lib/builtins/arm`. This patch fixes filtering for ARM to ignore the generic definitions if they have their ARM specializations. Reviewers: compnerd Reviewed By: compnerd Subscribers: aemerson, dberris, llvm-commits, mgorny, asl, kristof.beyls Differential Revision: https://reviews.llvm.org/D35336 llvm-svn: 310588
* [clang-tidy] Updated docs and release notes for r310584Alexander Kornienko2017-08-102-4/+19
| | | | llvm-svn: 310587
* [clang-tidy] Add a test.Alexander Kornienko2017-08-101-3/+9
| | | | llvm-svn: 310586
* [clang-tidy] Enable test for http://llvm.org/PR26228Alexander Kornienko2017-08-101-6/+7
| | | | llvm-svn: 310585
* [clang-tidy] Add modernize-use-emplace.IgnoreImplicitConstructors optionAlexander Kornienko2017-08-103-8/+137
| | | | llvm-svn: 310584
* [ValueTracking] Enabling ValueTracking patch by default (recommit). Part 2.Nikolai Bozhenov2017-08-102-9/+27
| | | | | | | | | | | | | | | The original patch was an improvement to IR ValueTracking on non-negative integers. It has been checked in to trunk (D18777, r284022). But was disabled by default due to performance regressions. Perf impact has improved. The patch would be enabled by default. Reviewers: reames, hfinkel Differential Revision: https://reviews.llvm.org/D34101 Patch by: Olga Chupina <olga.chupina@intel.com> llvm-svn: 310583
* [ValueTracking] Enabling ValueTracking patch by default (recommit). Part 1.Nikolai Bozhenov2017-08-101-1/+1
| | | | | | | | | | | | | | | The original patch was an improvement to IR ValueTracking on non-negative integers. It has been checked in to trunk (D18777, r284022). But was disabled by default due to performance regressions. Perf impact has improved. The patch would be enabled by default. Reviewers: reames, hfinkel Differential Revision: https://reviews.llvm.org/D34101 Patch by: Olga Chupina <olga.chupina@intel.com> llvm-svn: 310582
* Fix r310304: Fix the lit testcases.Philip Pfaffe2017-08-103-5/+5
| | | | | | In opt, Polly passes are only available after -load. llvm-svn: 310581
* Revert r310489 and follow-up commits r310505, r310519, r310537 and r310549Alex Lorenz2017-08-104-46/+7
| | | | | | | | | | Commit r310489 caused 'openmp-offload.c' test failures on Darwin and other platforms: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/39230/testReport/junit/Clang/Driver/openmp_offload_c/ The follow-up commits tried to fix the test, but the test is still failing. llvm-svn: 310580
* [mips][microMIPS] Extending size reduction pass with XOR16Zoran Jovanovic2017-08-102-5/+57
| | | | | | | | | | Author: milena.vujosevic.janicic Reviewers: sdardis The patch extends size reduction pass for MicroMIPS. XOR instruction is transformed into 16-bit instruction XOR16, if possible. Differential Revision: https://reviews.llvm.org/D34239 llvm-svn: 310579
* [clang-tidy] Fix an error in the doc.Haojian Wu2017-08-101-1/+2
| | | | llvm-svn: 310578
* [clang-tidy] add forwarders in the aliased checks from hicpp moduleHaojian Wu2017-08-1013-24/+48
| | | | | | | | | | | | | | | | Summary: Adds redirections notes and the actual redirections in the documentation for hicpp Patch by: Jonas Toth Reviewers: aaron.ballman, hokein, alexfh Reviewed By: aaron.ballman, hokein Subscribers: JDevlieghere, xazax.hun Differential Revision: https://reviews.llvm.org/D36355 llvm-svn: 310577
* [Lexer] Finding beginning of token with escaped new lineAlexander Kornienko2017-08-103-28/+101
| | | | | | | | | | | | | | | | | | | | Summary: Lexer::GetBeginningOfToken produced invalid location when backtracking across escaped new lines. This fixes PR26228 Reviewers: akyrtzi, alexfh, rsmith, doug.gregor Reviewed By: alexfh Subscribers: alexfh, cfe-commits Patch by Paweł Żukowski! Differential Revision: https://reviews.llvm.org/D30748 llvm-svn: 310576
* [AArch64] Assembler support for v8.3 RCpcSam Parker2017-08-106-1/+77
| | | | | | | | | | Added assembler and disassembler support for the new Release Consistent processor consistent instructions, introduced with ARM v8.3-A for AArch64. Differential Revision: https://reviews.llvm.org/D36522 llvm-svn: 310575
* [ARM][AArch64] ARMv8.3-A enablementSam Parker2017-08-1011-0/+44
| | | | | | | | | | | | | | | | | The beta ARMv8.3 ISA specifications have been released for AArch64 and AArch32, these can be found at: https://developer.arm.com/products/architecture/a-profile/exploration-tools An introduction to this architecture update can be found at: https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions This patch is the first in a series which will add ARM v8.3-A support in LLVM and Clang. It adds the necessary changes that create targets for both the ARM and AArch64 backends. Differential Revision: https://reviews.llvm.org/D36514 llvm-svn: 310561
* [clang-tidy] Fix a check-fixes lineGabor Horvath2017-08-101-1/+1
| | | | llvm-svn: 310560
* [clang-tidy] Minor documentation improvementGabor Horvath2017-08-102-1/+2
| | | | | | Patch by: Lilla Barancsuk llvm-svn: 310559
* [clang-tidy] Add missing doc in ↵Haojian Wu2017-08-102-0/+10
| | | | | | cppcoreguidelines-c-copy-assignment-signature check. llvm-svn: 310558
* [ELF] - Add a test for --gc-sections --undefined=foo combination.George Rimar2017-08-101-0/+10
| | | | | | | | | | | | | | GC code contains following logic uncovered by tests: for (StringRef S : Config->Undefined) MarkSymbol(Symtab->find(S)); As far I can tell we never had test for that before, patch fixes it. Differential revision: https://reviews.llvm.org/D36519 llvm-svn: 310556
* Add missing 'REQUIRES' lineTobias Grosser2017-08-101-0/+2
| | | | llvm-svn: 310555
* [ELF] - Linkerscript: disallow discarding COMMON.George Rimar2017-08-102-2/+9
| | | | | | | | | | | | This patch restricts following construction: /DISCARD/ : { *(COMMON) } Previously LLD would crash. Differential revision: https://reviews.llvm.org/D36468 llvm-svn: 310554
* [GPGPU] Make the ast_build available to block generatorTobias Grosser2017-08-103-0/+97
| | | | | | This is necessary for partial writes (as used by delicm) to work. llvm-svn: 310553
* [SelectionDAG] When scalarizing vselect, don't assert onElad Cohen2017-08-103-2/+123
| | | | | | | | | | | | | | | | | | | | | | | a legal cond operand. When scalarizing the result of a vselect, the legalizer currently expects to already have scalarized the operands. While this is true for the true/false operands (which have the same type as the result), it is not case for the condition operand. On X86 AVX512, v1i1 is legal - this leads to operations such as '< N x type> vselect < N x i1> < N x type> < N x type>' where < N x type > is illegal to hit an assertion during the scalarization. The handling is similar to r205625. This also exposes the fact that (v1i1 extract_subvector) should be legal and selectable on AVX512 - We do this by custom lowering to vector_extract_elt. This still leaves us in some cases with redundant dag nodes which will be combined in a separate soon to come patch. This fixes pr33349. Differential revision: https://reviews.llvm.org/D36511 llvm-svn: 310552
* [Polly][PM] Improve invalidation in the Scop-PipelinePhilip Pfaffe2017-08-105-21/+77
| | | | | | | | | | | | | | | | | | | | | Summary: During code generation for a Scop we modify the IR of a function. While this shouldn't affect a Scop in the formal sense, the implementation caches various information about the IR such as SCEV expressions for bounds or parameters. This cached information needs to be updated or invalidated. To this end, SPMUpdater allows passes to report when they've invalidated a Scop to the PassManager, which will then flush and recompute all Scops. This in turn invalidates all iterators, so references to Scops shouldn't be held. Reviewers: grosser, Meinersbur, bollu Reviewed By: grosser Subscribers: llvm-commits, pollydev Differential Revision: https://reviews.llvm.org/D36524 llvm-svn: 310551
OpenPOWER on IntegriCloud