summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Added i128 lshr+shl -> mask combine testSimon Pilgrim2016-09-141-0/+6
| | | | llvm-svn: 281480
* Fix code-gen crash on Power9 for insert_vector_elt with variable index (PR30189)Nemanja Ivanovic2016-09-143-2/+38
| | | | | | | | | | | This patch corresponds to review: https://reviews.llvm.org/D24021 In the initial implementation of this instruction, I forgot to account for variable indices. This patch fixes PR30189 and should probably be merged into 3.9.1 (I'll open a bug according to the new instructions). llvm-svn: 281479
* [InstCombine] Merged two test files and regenerated checks using ↵Andrea Di Biagio2016-09-143-34/+49
| | | | | | update_test_checks.py. NFC. llvm-svn: 281478
* [libcxx] Add a TSan regression test for a data race in call_onceKuba Brecka2016-09-141-0/+48
| | | | | | Differential Revision: https://reviews.llvm.org/D24297 llvm-svn: 281477
* [libcxx] Fix a typo in test/libcxx/test/target_info.py that prevents running ↵Kuba Brecka2016-09-141-1/+1
| | | | | | | | tests on Darwin with sanitizers Differential Revision: https://reviews.llvm.org/D24297 llvm-svn: 281476
* [libcxx] Enable building and testing of libcxx with ThreadSanitizer on OS XKuba Brecka2016-09-141-0/+2
| | | | | | | | This patch enables building and testing libcxx under ThreadSanitizer on OS X. CMake builds that have -DLLVM_USE_SANITIZER=Thread will automatically build libcxx with -fsanitize=thread and testing via lit then runs under TSan. Differential Revision: https://reviews.llvm.org/D24297 llvm-svn: 281475
* [StackProtector] Use INITIALIZE_TM_PASS instead of INITIALIZE_PASSSilviu Baranga2016-09-141-1/+1
| | | | | | | | | | in order to make sure that its TargetMachine constructor is registered. This allows us to run the PEI machine pass with MIR input (see PR30324). llvm-svn: 281474
* Adding missing directive for Power9.Nemanja Ivanovic2016-09-141-1/+1
| | | | | | | | There is currently no codegen for Power9 that depends on the directive so this is NFC for now but will be important in the future. This was missed in r268950 so I'm adding it now. llvm-svn: 281473
* [asan] Enable -asan-use-private-alias on Darwin/Mach-O, add test for ODR ↵Kuba Brecka2016-09-143-1/+44
| | | | | | | | | | false positive with LTO (compiler-rt part) The '-asan-use-private-alias’ option (disabled by default) option is currently only enabled for Linux and ELF, but it also works on Darwin and Mach-O. This option also fixes a known problem with LTO on Darwin (https://github.com/google/sanitizers/issues/647). This patch enables the support for Darwin (but still keeps it off by default) and adds the LTO test case. Differential Revision: https://reviews.llvm.org/D24292 llvm-svn: 281472
* [X86][SSE] Don't blend vector shifts with MOVSS/MOVSD directly, lower from ↵Simon Pilgrim2016-09-142-42/+70
| | | | | | | | generic shuffle Shuffle lowering will correctly lower to MOVSS/MOVSD/PBLEND, improving commutation opportunities llvm-svn: 281471
* [asan] Enable -asan-use-private-alias on Darwin/Mach-O, add test for ODR ↵Kuba Brecka2016-09-141-1/+2
| | | | | | | | | | false positive with LTO (llvm part) The '-asan-use-private-alias’ option (disabled by default) option is currently only enabled for Linux and ELF, but it also works on Darwin and Mach-O. This option also fixes a known problem with LTO on Darwin (https://github.com/google/sanitizers/issues/647). This patch enables the support for Darwin (but still keeps it off by default) and adds the LTO test case. Differential Revision: https://reviews.llvm.org/D24292 llvm-svn: 281470
* Fix documentation of MemberExpr::getMemberDeclStephan Bergmann2016-09-141-2/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D23907 llvm-svn: 281469
* [OMPT] fix task frame information for gomp interfaceJonas Hahnfeld2016-09-144-52/+56
| | | | | | | | | | | Previous differencials D23305-D23310 changed task frame information management only for the kmp interface, but not for the whole gomp interface. This broke some testcases when building with gcc. This patch fixes the broken task frame information for the gomp interface. Patch by Joachim Protze! Differential Revision: https://reviews.llvm.org/D24502 llvm-svn: 281468
* [OMPT] save exit address to lwt if availableJonas Hahnfeld2016-09-142-27/+22
| | | | | | | | | | | In case, the current team is a serialized team (lwt), the frame information should be written to this data structure. Before, nested serialized teams would overwrite the same task information. Patch by Joachim Protze! Differential Revision: https://reviews.llvm.org/D23310 llvm-svn: 281467
* [OMPT] fix __ompt_get_teaminfo to consult lwt entries of parent teamsJonas Hahnfeld2016-09-142-1/+317
| | | | | | | | | | | | | | | The comment already states, that this function should work similarly as __ompt_get_taskinfo. The function only looked for lwt entries of the current team, but not when unrolling the parents. This fix aligns the implementation to __ompt_get_taskinfo. The new test case creates a single theaded team (->lwt) and then a nested active team. Before the innermost print_id(1) would deliver a different team then the outer print_id(0). Patch by Joachim Protze! Differential Revision: https://reviews.llvm.org/D23309 llvm-svn: 281466
* [OMPT] Reset task exit frame when execution is finishedJonas Hahnfeld2016-09-142-0/+14
| | | | | | | | | | | | | | | | The exit address is set when execution of a task is started and should be reset as soon as the execution is finished. Especially for the asm implementation of __kmp_invoke_microtask, resetting in this call would be painfull, so reset just after the invokation. The testcase shows the effect of this patch: Before, the implicit barriers at the end of an implicit task would see an exit address for the implicit task. This barrier is a task scheduling point. Thus, any explicit task scheduled there would see an exit, but no reenter address for the implicit task. Patch by Joachim Protze! Differential Revision: https://reviews.llvm.org/D23307 llvm-svn: 281465
* [OMPT] Align implementation of reenter frame address to latest (frozen) ↵Jonas Hahnfeld2016-09-146-34/+58
| | | | | | | | | | | | | | | | version of OMPT spec The latest OMPT spec changed the semantic of a tasks reenter frame to be the application frame, that will be entered, when the runtime frame drops. Before it was the last frame in the runtime. This doesn't work for some gcc execution pathes or even clang generated code for : Since there is no runtime frame between the executed task and the encountering task. The test case compares exit and reenter addresses against addresses captured in application code Patch by Joachim Protze! Differential Revision: https://reviews.llvm.org/D23305 llvm-svn: 281464
* [OMPT] extend ompt tests by checks for frame pointersJonas Hahnfeld2016-09-147-19/+39
| | | | | | | | | | | | | | | OMPT tests can check for right frame information of tasks: * parent_task_frame was directly printed as a pointer, but actually points to a struct ompt_frame {void*, void*} * NULL is printed in the beginning of execution and loaded to FileChecker variable [[NULL]] * implicit tasks now also print their frame information * macro to print frame address from application * print task info for barrier begin Patch by Joachim Protze! Differential Revision: https://reviews.llvm.org/D23304 llvm-svn: 281463
* [tsan] Fix hanging gcd-apply and gcd-apply-race tests on macOS SierraKuba Brecka2016-09-142-0/+8
| | | | llvm-svn: 281462
* [cmake] Support overriding llvm-config query resultsMichal Gorny2016-09-141-4/+9
| | | | | | | | | | | | | | | | Support overriding LLVM_* variables obtained from llvm-config when doing stand-alone builds. The override of LLVM_MAIN_SRC_DIR is necessary to provide LLVM sources when the initial directory used to build LLVM does no longer exist when compiler-rt is built stand-alone. This is especially the case when building the projects separately in temporary directories with unpredictable names. The code is based on existing CMakeLists.txt from clang. Alike clang, it extends the override to all queried variables. Differential Revision: https://reviews.llvm.org/D24005 llvm-svn: 281461
* [clang-tidy] Add dependency on clangAnalysis to clangTidyMiscModuleMartin Bohme2016-09-141-0/+1
| | | | | | | | | | | | | Summary: This is needed for the recently submitted misc-use-after-move check (rL281453). For some reason, this still built under Linux, but it caused the PPC build bot to fail. Subscribers: beanz, cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D24561 llvm-svn: 281460
* reverting r281456Kirill Bobyrev2016-09-149-177/+275
| | | | llvm-svn: 281459
* [ELF] - Implemented --section-start, -Ttext, -Tdata, -Tbss options.George Rimar2016-09-145-0/+100
| | | | | | | | | | | | | | | | | | --section-start=sectionname=org Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading `0x' usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign (“<=>”), and org. -Tbss=org -Tdata=org -Ttext=org Same as --section-start, with .bss, .data or .text as the sectionname. Differential revision: https://reviews.llvm.org/D24294 llvm-svn: 281458
* Supports adding insertion around non-insertion replacements.Eric Liu2016-09-143-23/+116
| | | | | | | | | | | | | | | | | | | | Summary: Extend `tooling::Replacements::add()` to support adding order-independent replacements. Two replacements are considered order-independent if one of the following conditions is true: - They do not overlap. (This is already supported.) - One replacement is insertion, and the other is a replacement with length > 0, and the insertion is adjecent to but not contained in the other replacement. In this case, the replacement should always change the original code instead of the inserted text. Reviewers: klimek, djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D24515 llvm-svn: 281457
* [clang-rename] Merge rename-{at|all} & optimize.Kirill Bobyrev2016-09-149-275/+177
| | | | | | | | | | | | | | Having both rename-at and rename-all both seems confusing and introduces unneeded difficulties. Allowing to use both -qualified-name and -offset at once while performing efficient renamings seems like a feature, too. Maintaining main function wrappers and custom help becomes redundant while CLI becomes less confusing. Reviewers: alexfh Differential Revision: https://reviews.llvm.org/D24224 llvm-svn: 281456
* [clang-tidy] Make test for misc-use-after-move pass under WindowsMartin Bohme2016-09-141-1/+1
| | | | | | | | | | | | Summary: Adds -fno-delayed-template-parsing Reviewers: alexfh Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24550 llvm-svn: 281455
* Use murmurhash2 instead of fnv.Rafael Espindola2016-09-145-17/+61
| | | | | | It is substantially faster by processing 8 bytes at a time. llvm-svn: 281454
* [clang-tidy] Add check 'misc-use-after-move'Martin Bohme2016-09-148-0/+1925
| | | | | | | | | | | | | | | | Summary: The check warns if an object is used after it has been moved, without an intervening reinitialization. See user-facing documentation for details. Reviewers: sbenza, Prazek, alexfh Subscribers: beanz, mgorny, shadeware, omtcyfz, Eugene.Zelenko, Prazek, fowles, ioeric, cfe-commits Differential Revision: https://reviews.llvm.org/D23353 llvm-svn: 281453
* Revert "[modules] When merging one definition into another, propagate the ↵Eric Liu2016-09-147-86/+22
| | | | | | | | list of re-exporting modules from the discarded definition to the retained definition." This reverts commit r281429. llvm-svn: 281452
* Revert "[Thumb] Teach ISel how to lower compares of AND bitmasks efficiently"James Molloy2016-09-149-231/+26
| | | | | | This reverts commit r281323. It caused chromium test failures and a selfhost failure. llvm-svn: 281451
* Missing includes.Vassil Vassilev2016-09-145-1/+5
| | | | llvm-svn: 281450
* [ELF] Replace HasContents with HasSections. NFCEugene Leviant2016-09-143-7/+7
| | | | llvm-svn: 281449
* GlobalISel: mark pointer stores as legal on AArch64.Tim Northover2016-09-142-1/+8
| | | | llvm-svn: 281448
* This reapplies r281304. The issue was that I had missedSjoerd Meijer2016-09-1411-75/+66
| | | | | | to copy the new isAdd field in the tablegen data structure. llvm-svn: 281447
* AVX-512: Fixed a bug in kortest.z intrinsicElena Demikhovsky2016-09-142-4/+2
| | | | | | Lowering was wrong - X86ISD::SETCC node should return i8 type. llvm-svn: 281446
* [AVX512BW] Change truncStore action (v16i16->v16i18). It can be legal only ↵Igor Breger2016-09-142-8/+72
| | | | | | | | with AVX512VL. Differential Revision: http://reviews.llvm.org/D24547 llvm-svn: 281445
* [asan] Reify ErrorStringFunctionSizeOverflowFilipe Cabecinhas2016-09-143-10/+37
| | | | | | | | | | | | Summary: Continuing implementation mentioned in this thread: http://lists.llvm.org/pipermail/llvm-dev/2016-July/101933.html Reviewers: kcc, eugenis, vitalybuka Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D24394 llvm-svn: 281444
* [asan] Reify ErrorStringFunctionMemoryRangesOverlapFilipe Cabecinhas2016-09-143-22/+61
| | | | | | | | | | | | Summary: Continuing implementation mentioned in this thread: http://lists.llvm.org/pipermail/llvm-dev/2016-July/101933.html Reviewers: kcc, eugenis, vitalybuka Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D24393 llvm-svn: 281443
* [X86] Remove the VCVTSI2SD32 with rounding intrinsic. It's not used by clang ↵Craig Topper2016-09-143-14/+0
| | | | | | and not needed since 32-bit integer to double is always exact. llvm-svn: 281442
* Perform copying to created arrays according to the packing transformationRoman Gareev2016-09-1415-44/+368
| | | | | | | | | | | | | | | | This is the fourth patch to apply the BLIS matmul optimization pattern on matmul kernels (http://www.cs.utexas.edu/users/flame/pubs/TOMS-BLIS-Analytical.pdf). BLIS implements gemm as three nested loops around a macro-kernel, plus two packing routines. The macro-kernel is implemented in terms of two additional loops around a micro-kernel. The micro-kernel is a loop around a rank-1 (i.e., outer product) update. In this change we perform copying to created arrays, which is the last step to implement the packing transformation. Reviewed-by: Tobias Grosser <tobias@grosser.es> Differential Revision: https://reviews.llvm.org/D23260 llvm-svn: 281441
* Document option '-rtlib' in clang's man page and help infoJonas Hahnfeld2016-09-142-2/+8
| | | | | | | | | | This patch adds an entry for "-rtlib" in the output of `man clang` and `clang -help`. Patch by Lei Zhang! Differential Revision: https://reviews.llvm.org/D24069 llvm-svn: 281440
* Create a getelementptr instead of sub expr for ValueOffsetPair if theWei Mi2016-09-142-3/+58
| | | | | | | | | | | | value is a pointer. This patch is to fix PR30213. When expanding an expr based on ValueOffsetPair, if the value is of pointer type, we can only create a getelementptr instead of sub expr. Differential Revision: https://reviews.llvm.org/D24088 llvm-svn: 281439
* Ensure Polly linking works without BUILD_SHARED_LIBSTobias Grosser2016-09-141-0/+2
| | | | | | | | | This change ensures all necessary symbols are resolved correctly. Before this change on some systems, the linker may have eliminated some symbols not directly used in bugpoint, but used in Polly. Suggested-by: Michael Kruse <lvm@meinersbur.de> llvm-svn: 281438
* gold: Simplify. Do not unnecessarily enumerate Obj's symbols.Peter Collingbourne2016-09-141-6/+2
| | | | llvm-svn: 281437
* [docs] Fix formatting of &nbsp; characters so that tables line up properly. AddRichard Smith2016-09-142-4/+8
| | | | | | | padding around table cells so the borders of adjacent tables don't run into each other (now that they're perfectly aligned). llvm-svn: 281436
* [libFuzzer] start using trace-pc-guard as an alternative source of coverageKostya Serebryany2016-09-146-52/+32
| | | | llvm-svn: 281435
* [docs] Order diagnostic cross-references alphabetically rather than based onRichard Smith2016-09-142-24/+25
| | | | | | order in the .td file. llvm-svn: 281434
* Update DiagnosticsReference and fix emitter to emit -Wpedantic diagnostics ↵Richard Smith2016-09-142-232/+261
| | | | | | and groups in a deterministic order. llvm-svn: 281433
* [sanitizer-coverage] add yet another flavour of coverage instrumentation: ↵Kostya Serebryany2016-09-147-2/+47
| | | | | | trace-pc-guard. The intent is to eventually replace all of {bool coverage, 8bit-counters, trace-pc} with just this one. Clang part llvm-svn: 281432
* [sanitizer-coverage] add yet another flavour of coverage instrumentation: ↵Kostya Serebryany2016-09-143-3/+63
| | | | | | trace-pc-guard. The intent is to eventually replace all of {bool coverage, 8bit-counters, trace-pc} with just this one. LLVM part llvm-svn: 281431
OpenPOWER on IntegriCloud