summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a comment to clarify the contract for LLVMGetErrorMessage in the c-bindingsLang Hames2018-09-291-0/+2
| | | | | | for Error. llvm-svn: 343394
* [PDB] Better native API support for pointers.Zachary Turner2018-09-298-56/+212
| | | | | | | | | | | | We didn't properly detect when a pointer was a member pointer, and when that was the case we were not properly returning class parent info. This caused member pointers to render incorrectly in pretty mode. However, we didn't even have pretty tests for pointers in native mode, so those are also added now to ensure this. llvm-svn: 343393
* [DAGCombiner][NFC] Tests for X div/rem Y single bit foldDavid Bolvansky2018-09-294-0/+675
| | | | llvm-svn: 343392
* [X86][AVX2] Cleanup shuffle combining tests - add common prefixesSimon Pilgrim2018-09-291-567/+278
| | | | llvm-svn: 343391
* [X86] SimplifyDemandedVectorEltsForTargetNode - remove identity target ↵Simon Pilgrim2018-09-293-23/+21
| | | | | | | | shuffles before simplifying inputs By removing demanded target shuffles that simplify to zero/undef/identity before simplifying its inputs we improve chances of further simplification, as only the immediate parent user of the combined is added back to the work list - this still doesn't help us if its passed through other ops though (bitcasts....). llvm-svn: 343390
* [X86] Add fast-isel test cases for unaligned load/store intrinsics recently ↵Craig Topper2018-09-291-0/+277
| | | | | | | | | | | | | | added to clang This adds tests for: _mm_loadu_si16 _mm_loadu_si32 _mm_loadu_si16 _mm_storeu_si64 _mm_storeu_si32 _mm_storeu_si16 llvm-svn: 343389
* [X86] Add more of the icc unaligned load/store to/from 128 bit vector intrinsicsCraig Topper2018-09-292-1/+154
| | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds _mm_loadu_si32 _mm_loadu_si16 _mm_storeu_si64 _mm_storeu_si32 _mm_storeu_si16 We already had _mm_load_si64. Reviewers: spatel, RKSimon Reviewed By: RKSimon Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D52665 llvm-svn: 343388
* [X86][SSE] LowerScalarImmediateShift - remove 32-bit vXi64 special case ↵Simon Pilgrim2018-09-291-129/+65
| | | | | | | | handling. This is all handled generally by getTargetConstantBitsFromNode now llvm-svn: 343387
* Fix signed/unsigned mismatch warning. NFCI.Simon Pilgrim2018-09-291-1/+1
| | | | llvm-svn: 343385
* [X86] getTargetConstantBitsFromNode - add support for rearranging constant ↵Simon Pilgrim2018-09-296-86/+109
| | | | | | | | bits via shuffles Exposed an issue that recursive calls to getTargetConstantBitsFromNode don't handle changes to EltSizeInBits yet. llvm-svn: 343384
* [X86][SSE] LowerScalarImmediateShift - use getTargetConstantBitsFromNode to ↵Simon Pilgrim2018-09-291-64/+74
| | | | | | | | | | get immediate data Don't just attempt to find a splat build vector. First step towards getting rid of all the 32-bit special case code. llvm-svn: 343383
* [libomptarget-nvptx] Add tests for nested parallelismJonas Hahnfeld2018-09-292-0/+141
| | | | | | | | | Clang trunk will serialize nested parallel regions. Check that this is correctly reflected in various API methods. Differential Revision: https://reviews.llvm.org/D51786 llvm-svn: 343382
* [libomptarget-nvptx] Ignore calls to dynamic APIJonas Hahnfeld2018-09-293-37/+44
| | | | | | | | | | | | | | | There is no support and according to the OpenMP 4.5, p238:7-9: For implementations that do not support dynamic adjustment of the number of threads this routine has no effect: the value of dyn-var remains false. Add a test that cancellation and nested parallelism aren't supported either. Differential Revision: https://reviews.llvm.org/D51785 llvm-svn: 343381
* [libomptarget-nvptx] Fix number of threads in parallelJonas Hahnfeld2018-09-293-84/+147
| | | | | | | | | | | | If there is no num_threads() clause we must consider the nthreads-var ICV. Its value is set by omp_set_num_threads() and can be queried using omp_get_max_num_threads(). The rewritten code now closely resembles the algorithm given in the OpenMP standard. Differential Revision: https://reviews.llvm.org/D51783 llvm-svn: 343380
* [InstCombine] fix formatting in vector evaluators; NFCSanjay Patel2018-09-292-14/+13
| | | | | | We need to alter the functionality as shown in D52548. llvm-svn: 343379
* [InstCombine] add test for vector widening of insertelements; NFCSanjay Patel2018-09-291-0/+15
| | | | | | The test shows a potential overreach with the fix from D52548. llvm-svn: 343378
* [X86] getTargetConstantBitsFromNode - fix self-move assertions from gcc ↵Simon Pilgrim2018-09-291-2/+6
| | | | | | builds due to rL343375 llvm-svn: 343377
* [X86] Regenerate fma comments.Simon Pilgrim2018-09-292-233/+233
| | | | llvm-svn: 343376
* [X86] getTargetConstantBitsFromNode - add support for peeking through ↵Simon Pilgrim2018-09-293-10/+24
| | | | | | ISD::EXTRACT_SUBVECTOR llvm-svn: 343375
* Attempt to fix a -Wdocumentation-html warning. NFCI.Simon Pilgrim2018-09-291-1/+1
| | | | llvm-svn: 343374
* [X86][SSE] Fixed issue with v2i64 variable shifts on 32-bit targetsSimon Pilgrim2018-09-293-22/+39
| | | | | | The shift amount might have peeked through a extract_subvector, altering the number of vector elements in the 'Amt' variable - so we were incorrectly calculating the ratio when peeking through bitcasts, resulting in incorrectly detecting splats. llvm-svn: 343373
* [clang][www] Fix typo. NFCKristina Brooks2018-09-291-3/+3
| | | | | | | | | | | Fix a one letter typo in diagnostics.html. (Wanted to try it with arcanist). Patch by king6cong Differential Revision: https://reviews.llvm.org/D52511 llvm-svn: 343372
* Fix comment indentation in addLandingPadHeejin Ahn2018-09-291-3/+2
| | | | | | rL343018 messed up the comment indentation while moving it. llvm-svn: 343371
* Switch sanitizer_procmaps_bsd to internal_sysctlKamil Rytarowski2018-09-291-4/+4
| | | | | | | | | | | | | | | | | | | | Summary: Stop using directly sysctl(3) routines in sanitizer_procmaps_bsd and replace it with internal_sysctl(). This will allow to install interceptors for sysctl(3). Reviewers: joerg, vitalybuka Reviewed By: vitalybuka Subscribers: kubamracek, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D52646 llvm-svn: 343370
* [cxx2a] Fix warning triggered by r343285Vitaly Buka2018-09-2911-16/+6
| | | | llvm-svn: 343369
* [SBAPI/Target] Expose SetStatistics(bool enable)/GetStatistics().Davide Italiano2018-09-284-0/+53
| | | | | | <rdar://problem/44875808> llvm-svn: 343368
* [ORC] Make MaterializationResponsibility::getRequestedSymbols() const.Lang Hames2018-09-282-5/+6
| | | | | | | | This makes it available for use in IRTransformLayer2::TransformFunction instances (since a const MaterializationResponsibility& parameter was added in r343365). llvm-svn: 343367
* [LLD][COFF] Fix pdb loading when the path points to a removable deviceAlexandre Ganea2018-09-281-0/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D52666 llvm-svn: 343366
* [ORC] Add more utilities to aid debugging output.Lang Hames2018-09-285-10/+23
| | | | | | | | | | | | | (1) A const accessor for the LLVMContext held by a ThreadSafeContext. (2) A const accessor for the ThreadSafeModules held by an IRMaterializationUnit. (3) A const MaterializationResponsibility reference to IRTransformLayer2's transform function. This makes IRTransformLayer2 useful for JIT debugging (since it can inspect JIT state through the responsibility argument) as well as program transformations. llvm-svn: 343365
* [ValueTracking] Allow select patterns to work on FP vectorsThomas Lively2018-09-282-0/+80
| | | | | | | | | | | | | | | | | | | | Summary: This CL allows constant vectors of floats to be recognized as non-NaN and non-zero in select patterns. This change makes `matchSelectPattern` more powerful generally, but was motivated specifically because I wanted fminnan and fmaxnan to be created for vector versions of the scalar patterns they are created for. Tested with check-all on all targets. A testcase in the WebAssembly backend that tests the non-nan codepath is in an upcoming CL. Reviewers: aheejin, dschuff Subscribers: sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D52324 llvm-svn: 343364
* [LLVM-C] Add an accessor for the "value type" of a globalRobert Widmann2018-09-282-0/+12
| | | | | | | | | | | | | | Summary: Before this, there was no reasonable way to retrieve the type of a global value (most notably, a function) that was created with the C API. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52659 llvm-svn: 343363
* [WebAssembly] Fix memory leak on WasmEHFuncInfoHeejin Ahn2018-09-281-0/+5
| | | | | | | | | | | | Summary: WasmEHFuncInfo objects were not being properly deleted. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D52582 llvm-svn: 343362
* [ARM] Fix correctness checks in promoteToConstantPool.Eli Friedman2018-09-283-62/+38
| | | | | | | | | | | | | | | | | Correctly check for relocations in the constant to promote. And don't allow promoting a constant multiple times. This partially fixes https://bugs.llvm.org//show_bug.cgi?id=32780 ; it's not a complete fix because we also need to prevent ARMConstantIslands from cloning the constant. (-arm-promote-constant is currently off by default, and it stays off with this patch. I'll look into turning it on again when all the known issues are fixed.) Differential Revision: https://reviews.llvm.org/D51472 llvm-svn: 343361
* Support enums with a fixed underlying type in all language modes.Erik Pilkington2018-09-285-15/+40
| | | | | | | | | | Previously we supported these in C++, ObjC, and C with -fms-extensions. rdar://43831380 Differential revision: https://reviews.llvm.org/D52339 llvm-svn: 343360
* [ARM] Use preferred alignment for constants in promoteToConstantPool.Eli Friedman2018-09-282-1/+12
| | | | | | | | | | | | | | | This mostly affects IR generated by non-clang frontends because clang generally sets the alignment of globals explicitly. Fixes https://bugs.llvm.org//show_bug.cgi?id=32394 . (-arm-promote-constant is currently off by default, and it stays off with this patch. I'll look into turning it on again when all the known issues are fixed.) Differential Revision: https://reviews.llvm.org/D51469 llvm-svn: 343359
* [ORC] Narrow a cast: the block guarded by the condition only handlesLang Hames2018-09-281-1/+1
| | | | | | GlobalVariables, not all GlobalValues. llvm-svn: 343358
* [Driver] Remove unused declarations and "include" directivesTatyana Krasnukha2018-09-282-9/+1
| | | | llvm-svn: 343357
* [OPENMP]Fix PR39084: Check datasharing attributes of reduction variables only.Alexey Bataev2018-09-283-68/+66
| | | | | | | | According to OpenMP, the reduction item must be shared in parent region. But the item can be an array section or array subscript. In this case, we should not check for the datasharing of the base declaration. llvm-svn: 343356
* [X86] Add test cases for failures to use narrow test with immediate ↵Craig Topper2018-09-281-0/+236
| | | | | | | | instructions when a truncate is beteen the CMP and the AND and the sign flag is used. The code in X86ISelDAGToDAG only looks through truncates if the sign flag isn't used, but that is overly restrictive. A future patch will improve this. llvm-svn: 343355
* [AArch64] Split zero cycle feature more granularlyEvandro Menezes2018-09-286-54/+200
| | | | | | | | | | Split the `zcz` feature into specific ones got GP and FP registers, `zcz-gp` and `zcz-fp`, respectively, while retaining the original feature option to mean both. Differential revision: https://reviews.llvm.org/D52621 llvm-svn: 343354
* [analyzer] [NFC] Remove unused parameters, as found by -Wunused-parameterGeorge Karpenkov2018-09-2835-207/+120
| | | | | | Differential Revision: https://reviews.llvm.org/D52640 llvm-svn: 343353
* [analyzer] Provide an option to dump generated exploded graphs to a given file.George Karpenkov2018-09-287-5/+67
| | | | | | | | | | | Dumping graphs instead of opening them is often very useful, e.g. for transfer or converting to SVG. Basic sanity check for generated exploded graphs. Differential Revision: https://reviews.llvm.org/D52637 llvm-svn: 343352
* GraphWriter: Provide an API for writing a graph into a specified fileGeorge Karpenkov2018-09-281-2/+21
| | | | | | | | Always generating a temporary file is not always suitable, especially for tests Differential Revision: https://reviews.llvm.org/D52636 llvm-svn: 343351
* [cxx2a] P0614R1: Support init-statements in range-based for loops.Richard Smith2018-09-2833-141/+651
| | | | | | | We don't yet support this for the case where a range-based for loop is implicitly rewritten to an ObjC for..in statement. llvm-svn: 343350
* [DAGCombiner] [NFC] Improve X div/rem 1 foldDavid Bolvansky2018-09-281-8/+5
| | | | | | | | | | | | Reviewers: spatel Reviewed By: spatel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52661 llvm-svn: 343349
* Clean-up usage of OptionDefinition arraysTatyana Krasnukha2018-09-285-103/+61
| | | | | | Differential Revision: https://reviews.llvm.org/D52604 llvm-svn: 343348
* make lit builtins a packageChris Matthews2018-09-281-0/+0
| | | | | | | cat.py is not being installed when lit is installed from source. So tests that use the internal shell fail when using cat. llvm-svn: 343347
* [llvm-mca] Add a test for zero-idiom VPERM2F128rr. NFCAndrea Di Biagio2018-09-281-0/+75
| | | | | | | | | | | We don't correctly model the latency and resource usage information for zero-idiom VPERM2F128rr on Jaguar. This is demonstrated by the incorrect numbers in the resource pressure view, and the timeline view. A follow up patch will fix this problem. llvm-svn: 343346
* [bindings/go] Add Go bindings to the Token typewhitequark2018-09-281-0/+2
| | | | | | | | | | | | | | Summary: This type is necessary for implementing coroutines. Reviewers: whitequark Reviewed By: whitequark Subscribers: modocache, llvm-commits Differential Revision: https://reviews.llvm.org/D47684 llvm-svn: 343345
* [OPENMP] Add the test to check that the libomptarget does not causeAlexey Bataev2018-09-281-1/+7
| | | | | | | | | | infinite loop on removing non-mapped pointer-with-object. Added test to check that libomptarget does not cause infinite loop when trying to unmap the pointer-with-object data that was not previously mapped. llvm-svn: 343344
OpenPOWER on IntegriCloud