summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [LoopReroll] Reroll loops with unordered atomic memory accessesSanjoy Das2016-07-192-7/+138
| | | | | | | | | | Reviewers: hfinkel, jfb, reames Subscribers: mcrosier, mzolotukhin, llvm-commits Differential Revision: https://reviews.llvm.org/D22385 llvm-svn: 275932
* Append clang system include path for offloading tool chains.Samuel Antao2016-07-191-1/+19
| | | | | | | | | | | | | | | Summary: This patch adds clang system include path when offloading tool chains, e.g. CUDA, are used in the current compilation. This fixes an issue detected by @rsmith in response to r275645. Reviewers: rsmith, tra Subscribers: rsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D22490 llvm-svn: 275931
* [OpenMP] Remove dead code in conditional of mappable expressions SEMA. Samuel Antao2016-07-181-4/+4
| | | | llvm-svn: 275930
* TableGen: Allow custom register operand decoder methodMatt Arsenault2016-07-182-29/+37
| | | | | | | | | | | | | | | | | | This is for a situation where the encoding for a register may be different depending on the specific operand. For some instructions, we want to apply additional restrictions beyond the encoding's constraints. In AMDGPU some operands are VSrc_32, using the VS_32 pseudo register class which accept VGPRs, SGPRs, or immediates in the encoding. Some specific instructions with the same encoding operand do not want to allow immediates or SGPRs, but the encoding format is different in this case than a regular VGPR_32 operand. This allows specifying the encoding should be treated the same without introducing yet another dummy register class. llvm-svn: 275929
* AMDGPU: Fix test name and broken CHECK-LABELMatt Arsenault2016-07-181-6/+3
| | | | llvm-svn: 275928
* [utils] Generate html reports with the code coverage utility scriptVedant Kumar2016-07-181-19/+31
| | | | | | | | | | | Instead of extracting raw coverage mappings into an artifact directory, actually generate useful html reports for a given list of binaries with symbol demangling turned on. No tests, but this is actively being used to drive the (still nascent) coverage bot. llvm-svn: 275927
* [OpenMP] Fix incorrect diagnostics in map clauseKelvin Li2016-07-185-16/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | Having the following code pattern will result in incorrect diagnostic int main() { int arr[10]; #pragma omp target data map(arr[:]) #pragma omp target map(arr) {} } t.cpp:4:24: error: original storage of expression in data environment is shared but data environment do not fully contain mapped expression storage #pragma omp target map(arr) ^~~ t.cpp:3:29: note: used here #pragma omp target data map(arr[:]) ^~~~~~ 1 error generated. Patch by David S. Differential Revision: https://reviews.llvm.org/D22075 llvm-svn: 275926
* Fix some minor issues found by Coverity.Richard Smith2016-07-183-2/+6
| | | | llvm-svn: 275925
* [Coverage] Remove '..' from filenames *after* getting an absolute pathVedant Kumar2016-07-182-5/+16
| | | | | | | | Failure to do this breaks relative paths which begin with '..'. This issue was caught by the (still nascent) coverage bot. llvm-svn: 275924
* Fix -Wreturn-type with gcc 4.8 and libc++Matt Arsenault2016-07-181-1/+1
| | | | llvm-svn: 275922
* [llvm-profdata] Speed up merging by using a thread poolVedant Kumar2016-07-186-23/+195
| | | | | | | | | | | | | | | | Add a "-j" option to llvm-profdata to control the number of threads used. Auto-detect NumThreads when it isn't specified, and avoid spawning threads when they wouldn't be beneficial. I tested this patch using a raw profile produced by clang (147MB). Here is the time taken to merge 4 copies together on my laptop: No thread pool: 112.87s user 5.92s system 97% cpu 2:01.08 total With 2 threads: 134.99s user 26.54s system 164% cpu 1:33.31 total Differential Revision: https://reviews.llvm.org/D22438 llvm-svn: 275921
* [NVPTX] Make sure we adjust alignment at all call sitesArtem Belevich2016-07-182-2/+12
| | | | | | | .. including calls from kernel functions that were ignored by mistake before. llvm-svn: 275920
* [PM] Convert Loop Strength Reduce pass to new PMDehao Chen2016-07-185-24/+84
| | | | | | | | | | | | Summary: Convert Loop String Reduce pass to new PM Reviewers: davidxl, silvas Subscribers: junbuml, sanjoy, mzolotukhin, llvm-commits Differential Revision: https://reviews.llvm.org/D22468 llvm-svn: 275919
* Update doxygen description for `WriteBitcodeToFile()` API (NFC)Mehdi Amini2016-07-181-2/+5
| | | | llvm-svn: 275917
* [PM] Port FunctionImport Pass to new PMTeresa Johnson2016-07-187-47/+72
| | | | | | | | | | | | Summary: Port FunctionImport Pass to new PM. Reviewers: mehdi_amini, davide Subscribers: davidxl, llvm-commits Differential Revision: https://reviews.llvm.org/D22475 llvm-svn: 275916
* Revert rL275912.Wei Mi2016-07-185-133/+63
| | | | llvm-svn: 275915
* Add missing headers after header cleanup in r275882.Chaoren Lin2016-07-181-0/+2
| | | | llvm-svn: 275914
* [Coverage] Normalize '..' out of filename stringsVedant Kumar2016-07-182-8/+21
| | | | | | | | This fixes the issue of having duplicate entries for the same file in a coverage report s.t none of the entries actually displayed the correct coverage information. llvm-svn: 275913
* Use uniforms set to populate VecValuesToIgnore.Wei Mi2016-07-185-63/+133
| | | | | | | | | | | | | | | | For instructions in uniform set, they will not have vector versions so add them to VecValuesToIgnore. For induction vars, those only used in uniform instructions or consecutive ptrs instructions have already been added to VecValuesToIgnore above. For those induction vars which are only used in uniform instructions or non-consecutive/non-gather scatter ptr instructions, the related phi and update will also be added into VecValuesToIgnore set. The change will make the vector RegUsages estimation less conservative. Differential Revision: https://reviews.llvm.org/D20474 llvm-svn: 275912
* refactor SimplifySelectInst; NFCISanjay Patel2016-07-181-97/+115
| | | | llvm-svn: 275911
* Write isUInt using template specializations to work around an incorrect MSVC ↵Justin Lebar2016-07-181-4/+15
| | | | | | | | | | | | | | | | | | warning. Summary: Per D22441, MSVC warns on our old implementation of isUInt<64>. It sees uint64_t(1) << 64 and doesn't realize that it's not going to be executed. Writing as a template specialization is ugly, but prevents the warning. Reviewers: RKSimon Subscribers: majnemer, llvm-commits Differential Revision: https://reviews.llvm.org/D22472 llvm-svn: 275909
* add tests for missed sext transformSanjay Patel2016-07-181-0/+26
| | | | llvm-svn: 275908
* [Sema] Create a separate group for incompatible function pointer warningBruno Cardoso Lopes2016-07-186-7/+46
| | | | | | | | | | | | | Give incompatible function pointer warning its own diagnostic group but still leave it as a subgroup of incompatible-pointer-types. This is in preparation to promote -Wincompatible-function-pointer-types to error on darwin. Differential Revision: https://reviews.llvm.org/D22248 rdar://problem/12907612 llvm-svn: 275907
* Add missing header in ClangFuzzer (after r275882 cleanup)Mehdi Amini2016-07-181-0/+1
| | | | llvm-svn: 275906
* Allow iOS and tvOS version numbers with 2-digit major version numbers.Bob Wilson2016-07-183-10/+25
| | | | | | rdar://problem/26921601 llvm-svn: 275905
* Bump version # to 4.0.0Marshall Clow2016-07-181-1/+1
| | | | llvm-svn: 275904
* build_llvm_package.bat: update version to 4.0.0Hans Wennborg2016-07-181-2/+2
| | | | llvm-svn: 275903
* [interception] Remove extra whitespace to appease linters (NFC)Vedant Kumar2016-07-181-2/+2
| | | | | | | | Attempt to fix: http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/7774 llvm-svn: 275901
* auto-generate checksSanjay Patel2016-07-181-39/+64
| | | | llvm-svn: 275899
* Revert r273099 "If the revision number starts with r, drop it. It will get ↵Hans Wennborg2016-07-181-1/+1
| | | | | | | | | | | | | added back" This doesn't seem to work with Bash: $ /work/llvm/utils/release/merge.sh --proj llvm --rev r275870 /work/llvm/utils/release/merge.sh: line 34: ${$1#r}: bad substitution I get the same error with and without a leading 'r'. llvm-svn: 275898
* [Driver] Compute effective target triples once per job (NFCI)Vedant Kumar2016-07-1811-192/+354
| | | | | | | | | | Compute an effective target triple exactly once in ConstructJob(), and then simply pass around references to it. This eliminates wasteful re-computation of effective triples (e.g in getARMFloatABI()). Differential Revision: https://reviews.llvm.org/D22290 llvm-svn: 275895
* [Driver] Make Driver::DefaultTargetTriple private (NFCI)Vedant Kumar2016-07-182-6/+6
| | | | | | | | | | | | No in-tree targets access this `DefaultTargetTriple` directly, and usage of default triples is generally discouraged. Make the field private. This is part of en effort to make the clang driver use effective triples more pervasively. Differential Revision: https://reviews.llvm.org/D22289 llvm-svn: 275894
* [NVPTX] Force minimum alignment of 4 for byval arguments of device-side ↵Artem Belevich2016-07-183-6/+31
| | | | | | | | | | | | | | | | functions. Taking address of a byval variable in PTX is legal, but currently runs into miscompilation by ptxas on sm_50+ (NVIDIA issue 1789042). Work around the issue by enforcing minimum alignment on byval arguments of device functions. The change is a no-op on SASS level for sm_3x where ptxas already aligns local copy by at least 4. Differential Revision: https://reviews.llvm.org/D22428 llvm-svn: 275893
* [compiler-rt] Fix incorrect handling of indirect load.Etienne Bergeron2016-07-181-2/+16
| | | | | | | | | | | | | | | | | | | | | | Summary: Indirect load are relative offset from RIP. The current trampoline implementation is incorrectly copying these instructions which make some unittests crashing. This patch is not fixing the unittests but it's fixing the crashes. The functions are no longer hooked. Patches will come soon to fix these unittests. Reviewers: rnk Subscribers: llvm-commits, wang0109, chrisha Differential Revision: https://reviews.llvm.org/D22410 llvm-svn: 275892
* [LoopSimplify] Update LCSSA after separating nested loops.Michael Zolotukhin2016-07-182-12/+126
| | | | | | | | | | | | | | | | | | Summary: Usually LCSSA survives this transformation, but in some cases (see attached test) it doesn't: values from the original loop after separating might be used from the outer loop. Before the transformation it was the same loop, so LCSSA phis were not required. This fixes PR28272. Reviewers: sanjoy, hfinkel, chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21665 llvm-svn: 275891
* Revert "[ARM] Skip inline asm memory operands in DAGToDAGISel"Vitaly Buka2016-07-182-22/+0
| | | | | | | | Breaks asan, see https://reviews.llvm.org/D22103 This reverts commit r275776. llvm-svn: 275890
* Revert "[ARM] Update test to use CHECK-LABEL. NFCI."Vitaly Buka2016-07-181-8/+6
| | | | | | | | Breaks asan, see https://reviews.llvm.org/D22103 This reverts commit r275777. llvm-svn: 275889
* [MC] Separate non-parsing operations from conditional chains. NFC.Nirav Dave2016-07-181-15/+20
| | | | llvm-svn: 275888
* [compiler-rt] Allow trampoline allocation further and 1 gig.Etienne Bergeron2016-07-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Summary: The trampoline allocation limits the memory scanning to 1 gig. There is an unittest that is allocating a large object which make it impossible to the trampoline allocator to find a free spot. see shadow_mapping_failures: ``` char bigchunk[1 << 30]; ``` This patch is not fixing the unittest but it's fixing it's infinite loop behavior. Reviewers: rnk Subscribers: llvm-commits, wang0109, chrisha Differential Revision: https://reviews.llvm.org/D22471 llvm-svn: 275887
* Unbreak extra tools build post r275882.Benjamin Kramer2016-07-182-0/+2
| | | | llvm-svn: 275886
* make macOS 'launch in terminal' bring terminal to the front during launchTodd Fiala2016-07-181-0/+1
| | | | | | rdar://25235812 llvm-svn: 275885
* [GVNHoist] Remove a home-grown version of replaceUsesOfWithDavid Majnemer2016-07-181-15/+2
| | | | | | | | | replaceUsesOfWith will, on average, consider fewer values when trying to do the replacement. No functional change is intended. llvm-svn: 275884
* [LCSSA] Post-process PHI-nodes created by SSAUpdate when constructing LCSSA ↵Michael Zolotukhin2016-07-182-1/+97
| | | | | | | | | | | | | | | | | | form. Summary: SSAUpdate might insert PHI-nodes inside loops, which can break LCSSA form unless we fix it up. This fixes PR28424. Reviewers: sanjoy, chandlerc, hfinkel Subscribers: uabelho, llvm-commits Differential Revision: http://reviews.llvm.org/D21997 llvm-svn: 275883
* [NFC] Header cleanupMehdi Amini2016-07-18207-376/+132
| | | | | | | | | | Summary: Removed unused headers, replaced some headers with forward class declarations Patch by: Eugene <claprix@yandex.ru> Differential Revision: https://reviews.llvm.org/D20100 llvm-svn: 275882
* AMDGPU: Remove pointless dyn_cast_or_nullMatt Arsenault2016-07-181-4/+3
| | | | | | This is already casted above so non-null llvm-svn: 275881
* Revert "[analyzer] Add checker modeling potential C++ self-assignment"Devin Coughlin2016-07-188-231/+3
| | | | | | This reverts commit r275820. It is failing on the bots. llvm-svn: 275880
* Fix -Wmicrosoft-enum-value in GVNHoist.cppReid Kleckner2016-07-181-1/+1
| | | | llvm-svn: 275879
* [X86][SSE] Regenerate extraction from promotion testSimon Pilgrim2016-07-181-6/+21
| | | | | | Added tests for SSE2 as well as SSE41 llvm-svn: 275878
* Support -masm= flag for x86 assembly targets.Yunzhong Gao2016-07-183-0/+32
| | | | | | | | | | | | | | | | | | | For assembly files without .intel_syntax or .att_syntax directives, allow the -masm= flag to supply a default assembly dialect. For example, C:\TMP> type intel.s .text mov al,0 C:\TMP> clang -masm=intel -c intel.s Without this patch, one would need to pass an "-mllvm -x86-asm-syntax=" flag directly to the backend. C:\TMP> clang -mllvm --x86-asm-syntax=intel -c intel.s Differentials Review: http://reviews.llvm.org/D22285 llvm-svn: 275877
* [X86][SSE] Regenerate extraction+store memop testsSimon Pilgrim2016-07-181-24/+90
| | | | | | Added tests for SSE2 as well as SSE41+AVX llvm-svn: 275876
OpenPOWER on IntegriCloud