summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [clang-rename] fix Emacs script build failureKirill Bobyrev2016-08-021-2/+3
| | | | | | Clang-rename Emacs integration script sometimes doesn't work correctly. llvm-svn: 277469
* Revert "[MC] Fix handling of end-of-line preprocessor comments"Nirav Dave2016-08-022-44/+0
| | | | | | | | Causes TSan failure on PPC64 This reverts commit r277459. llvm-svn: 277468
* [WebAssembly] Remove a README.txt entry that is now implemented.Dan Gohman2016-08-021-6/+0
| | | | llvm-svn: 277467
* [LVI] NFC. Fix a typo getValueFromFromCondition -> getValueFromConditionArtur Pilipenko2016-08-021-11/+9
| | | | llvm-svn: 277466
* [CodeGen] Generalize MachineFunctionProperties::print comma handling.Ahmed Bougacha2016-08-021-2/+7
| | | | | | | | This is only used for debug prints, but the previous hardcoded ", " caused it to be printed unnecessarily when OnlySet, and is annoying when adding new properties. llvm-svn: 277465
* [GlobalISel] Require isSSA in GISel passes.Ahmed Bougacha2016-08-023-0/+15
| | | | | | | The GISel passes don't make sense on non-SSA functions. All GISel tests already set isSSA. Enforce that. llvm-svn: 277464
* Follow-up for r277458: Update the tsan_mman_test.cc unit test.Kuba Brecka2016-08-021-4/+4
| | | | llvm-svn: 277463
* [tsan] Fix the behavior of OSAtomicTestAndClearKuba Brecka2016-08-022-10/+43
| | | | | | | | The system implementation of OSAtomicTestAndClear returns the original bit, but the TSan interceptor has a bug which always returns zero from the function. This patch fixes this and adds a test. Differential Revision: https://reviews.llvm.org/D23061 llvm-svn: 277461
* [LV] Untangle the concepts of uniform and scalarMatthew Simpson2016-08-022-63/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch refactors the logic in collectLoopUniforms and collectValuesToIgnore, untangling the concepts of "uniform" and "scalar". It adds isScalarAfterVectorization along side isUniformAfterVectorization to distinguish the two. Known scalar values include those that are uniform, getelementptr instructions that won't be vectorized, and induction variables and induction variable update instructions whose users are all known to be scalar. This patch includes the following functional changes: - In collectLoopUniforms, we mark uniform the pointer operands of interleaved accesses. Although non-consecutive, these pointers are treated like consecutive pointers during vectorization. - In collectValuesToIgnore, we insert a value into VecValuesToIgnore if it isScalarAfterVectorization rather than isUniformAfterVectorization. This differs from the previous functionaly in that we now add getelementptr instructions that will not be vectorized into VecValuesToIgnore. This patch also removes the ValuesNotWidened set used for induction variable scalarization since, after the above changes, it is now equivalent to isScalarAfterVectorization. Differential Revision: https://reviews.llvm.org/D22867 llvm-svn: 277460
* [MC] Fix handling of end-of-line preprocessor commentsNirav Dave2016-08-022-0/+44
| | | | | | | | | | | | | | | | | | | | | | Recommitting after fixing test. When parsing assembly where the line comment syntax is not hash, the lexer cannot distinguish between hash's that start a hash line comment and one that is part of an assembly statement and must be distinguished during parsing. Previously, this was incompletely handled by not checking for EndOfStatement at the end of statements and interpreting hash prefixed statements as comments. Change EndOfStatement Parsing to check for Hash comments and reintroduce Hash statement parsing to catch previously handled cases. Reviewers: rnk, majnemer Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D23017 llvm-svn: 277459
* [tsan] Fix behavior of realloc(nullptr, 0) on DarwinKuba Brecka2016-08-022-11/+27
| | | | | | | | On Darwin, there are some apps that rely on realloc(nullptr, 0) returning a valid pointer. TSan currently returns nullptr in this case, let's fix it to avoid breaking binary compatibility. Differential Revision: https://reviews.llvm.org/D22800 llvm-svn: 277458
* [clang-cl] Fix PCH tests to use x86_64 as targetDiana Picus2016-08-023-7/+7
| | | | | | | | | | | | These tests require x86-registered-target, but they don't force the target as x86 on the command line, which means they will be run and they might fail when building the x86 backend on another platform (such as AArch64). Fixes https://llvm.org/bugs/show_bug.cgi?id=28797 Differential Revision: https://reviews.llvm.org/D23054 llvm-svn: 277457
* Fixing 'Aquire' typo and libcxx build.Ben Craig2016-08-022-2/+2
| | | | llvm-svn: 277456
* Revert rL277454David Callahan2016-08-021-1/+0
| | | | llvm-svn: 277455
* test commitDavid Callahan2016-08-021-0/+1
| | | | llvm-svn: 277454
* Revert rL277429: Correct makefile.rules to use toolchain specific AR and OBJCOPYOmair Javaid2016-08-021-17/+18
| | | | | | | | | | This commit is causing problems on gcc-* compiler with version number sufix. Requires a new solution will post a follow up patch. Differential revision: https://reviews.llvm.org/D20386 llvm-svn: 277453
* clang-tools-extra/test/clang-rename/TemplateTypenameFindBy*.cpp: Appease ↵NAKAMURA Takumi2016-08-022-2/+2
| | | | | | targeting ms mode. llvm-svn: 277452
* clang-tools-extra/test/clang-rename/TemplateTypenameFindBy*.cpp: Move RUN: ↵NAKAMURA Takumi2016-08-022-8/+8
| | | | | | lines below not to be affected by tweaks of parameters. llvm-svn: 277451
* [ARM] Improve smul* and smla* isel for Thumb2Sam Parker2016-08-024-59/+198
| | | | | | | | | | | | | | Added (sra (shl x, 16), 16) to the sext_16_node PatLeaf for ARM to simplify some pattern matching. This has allowed several patterns for smul* and smla* to be removed as well as making it easier to add the matching for the corresponding instructions for Thumb2 targets. Also added two Pat classes that are predicated on Thumb2 with the hasDSP flag and UseMulOps flags. Updated the smul codegen test with the wider range of patterns plus the ThumbV6 and ThumbV6T2 targets. Differential Revision: https://reviews.llvm.org/D22908 llvm-svn: 277450
* [analyzer] Respect statement-specific data in CloneDetection.Artem Dergachev2016-08-0216-12/+532
| | | | | | | | | | | | | | | | | So far the CloneDetector only respected the kind of each statement when searching for clones. This patch refines the way the CloneDetector collects data from each statement by providing methods for each statement kind, that will read the kind-specific attributes. For example, statements 'a < b' and 'a > b' are no longer considered to be clones, because they are different in operation code, which is an attribute specific to the BinaryOperator statement kind. Patch by Raphael Isemann! Differential Revision: https://reviews.llvm.org/D22514 llvm-svn: 277449
* HexagonVectorPrint.cpp: Fix r277370. Don't use getInstrVecReg() in the ↵NAKAMURA Takumi2016-08-021-1/+2
| | | | | | expression of assert(). It has side effects. llvm-svn: 277448
* [GlobalISel] Don't RegBankSelect target-specific instructions.Ahmed Bougacha2016-08-023-1/+39
| | | | | | They don't have types and should be using register classes. llvm-svn: 277447
* [GlobalISel] Don't legalize non-generic instructions.Ahmed Bougacha2016-08-022-0/+42
| | | | | | They don't have types and should be legal. llvm-svn: 277446
* [GlobalISel] Const-ify MachineInstrs passed to MachineLegalizer.Ahmed Bougacha2016-08-022-4/+4
| | | | llvm-svn: 277445
* [clang-tidy] Fix an unused-using-decl false positive about template arguments inHaojian Wu2016-08-023-4/+48
| | | | | | | | | | | | | | | | function call expression. Summary: The check doesn't mark the template argument as used when the template argument is a template. Reviewers: djasper, alexfh Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D22803 llvm-svn: 277444
* Support for OCaml native debuggingTamas Berghammer2016-08-0214-0/+1600
| | | | | | | | | | | | | This introduces basic support for debugging OCaml binaries. Use of the native compiler with DWARF emission support (see https://github.com/ocaml/ocaml/pull/574) is required. Available variables are considered as 64 bits unsigned integers, their interpretation will be left to a OCaml-made debugging layer. Differential revision: https://reviews.llvm.org/D22132 llvm-svn: 277443
* [include-fixer] Correct nested class search for identifiers with scoped ↵Haojian Wu2016-08-025-12/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | information Summary: include-fixer will firstly try to use scoped namespace context information to search identifier. However, in some cases, it's unsafe to do nested class search, because it might treat the identifier as a nested class of scoped namespace. Given the following code, and the symbol database only has two classes: "foo" and "b::Bar". namespace foo { Bar t; } Before getting fixing, include-fixer will never search "Bar" symbol. Because it firstly tries to search "foo::Bar", there is no "Bar" in foo namespace, then it finds "foo" in database finally. So it treats "Bar" is a nested class of "foo". Reviewers: bkramer Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23023 llvm-svn: 277442
* [mips] Update the P5600 scheduler for isComplete = 1Simon Dardis2016-08-023-32/+224
| | | | | | | | | | | These changes update the schedule model for the P5600 and includes the rest of the MSA and MIPS32R5 instruction sets. Reviewers: dsanders, vkalintris Differential Revision: https://reviews.llvm.org/D21835 llvm-svn: 277441
* [ARM] Some saturation instructions not DSP-onlyBernard Ogden2016-08-023-7/+7
| | | | | | | | | | | | | | | | | | | | | Summary: Commit 276701 requires that targets have the DSP extensions to use certain saturating instructions. This requires some corrections. For ARM ISA the instructions in question are available in all v6* architectures. For Thumb2, the instructions in question are available from v6T2. SSAT and USAT are part of the base architecture while SSAT16 and USAT16 require the DSP extensions. Reviewers: rengolin Subscribers: aemerson, rengolin, samparker, llvm-commits Differential Revision: https://reviews.llvm.org/D23010 llvm-svn: 277439
* clang-rename: split existing options into two new subcommandsMiklos Vajna2016-08-029-89/+234
| | | | | | | | | | | | | | | - rename-at is meant to be integrated with editors and works mainly off of a location in a file, and this is the default - rename-all is optimized for one or more oldname->newname renames, and works with clang-apply-replacements Reviewers: bkramer, klimek Subscribers: omtcyfz Differential Revision: https://reviews.llvm.org/D21814 llvm-svn: 277438
* [clang-rename] add support for template parameter renamingKirill Bobyrev2016-08-024-10/+13
| | | | | | | | | | | Few simple tweaks allow template parameters to be renamed. See TemplateTypenameFindBy{TemplateParam|TypeInside}.cpp Reviewers: alexfh Differential Revision: https://reviews.llvm.org/D22853 llvm-svn: 277437
* [LoadStoreVectorizer] Don't use a linear walk for an existence check in a ↵Benjamin Kramer2016-08-021-1/+1
| | | | | | | | SmallPtrSet No functionality change intended. llvm-svn: 277436
* [AVX512] Don't use i128 masked gather/scatter/load/store. Do more accurately ↵Igor Breger2016-08-022-3/+79
| | | | | | | | dataWidth check. Differential Revision: http://reviews.llvm.org/D23055 llvm-svn: 277435
* AArch64: Assert on branch displacement bitsMatt Arsenault2016-08-021-0/+7
| | | | llvm-svn: 277434
* [clang-rename] add basic Emacs integrationKirill Bobyrev2016-08-023-7/+73
| | | | | | | | | | This patch aims to add very basic Emacs integration. Reviewers: hokein, alexfh Differential Revision: https://reviews.llvm.org/D23006 llvm-svn: 277433
* [ELF] - Fix: do not ignore relocations addends when using lld -rGeorge Rimar2016-08-022-13/+33
| | | | | | | | | Previously addends were ignored. This is PR28779. Patch fixes the issue. Differential revision: https://reviews.llvm.org/D23011 llvm-svn: 277432
* AArch64: Consolidate branch inversion logicMatt Arsenault2016-08-021-20/+22
| | | | llvm-svn: 277431
* AArch64: BranchRelaxtion cleanupsMatt Arsenault2016-08-023-120/+178
| | | | | | Move some logic into TII. llvm-svn: 277430
* Correct makefile.rules to use toolchain specific AR and OBJCOPYOmair Javaid2016-08-021-18/+17
| | | | | | Differential revision: https://reviews.llvm.org/D20386 llvm-svn: 277429
* AArch64: Add missing branch relaxation testsMatt Arsenault2016-08-022-0/+128
| | | | | | | | The branch relaxation pass has the worst test coverage of any pass in AArch64. Add a few tests that hit some large pieces of code in the pass. llvm-svn: 277428
* AArch64: Fix end iterator dereferenceMatt Arsenault2016-08-021-51/+57
| | | | | | | Not all blocks have terminators. I'm not sure how this wasn't crashing before. llvm-svn: 277427
* [LLVM][MIPS] Add (D)SUBU, (D)ADDU, LUI instructions emulation . Fix ↵Nitesh Jain2016-08-024-41/+301
| | | | | | | | | | | | emulation for (D)ADDIU, SD/SW and LW/LD instructions Reviewers: clayborg, jaydeep, bhushan Subscribers: mohit.bhakkad, slthakur, sdardis, lldb-commits Differential Revision: https://reviews.llvm.org/D20357 llvm-svn: 277426
* [AVX-512] Mark VADDPS/PD and VMULPS/PD as commutable. This necessitated ↵Craig Topper2016-08-021-27/+43
| | | | | | adding itineraries to all of the instructions that use the avx512_fp_binop_p class. llvm-svn: 277422
* [AVX-512] Use SSE_MUL_ITINS_S/SSE_DIV_ITINS_S for the scalar FMUL/FDIV ↵Craig Topper2016-08-021-2/+2
| | | | | | instructions to match SSE/AVX. llvm-svn: 277421
* Revert "[CMake] Pass -nostdlib if supported"Jonas Hahnfeld2016-08-022-3/+0
| | | | | | This reverts commit r277419. llvm-svn: 277420
* [CMake] Pass -nostdlib if supportedJonas Hahnfeld2016-08-022-0/+3
| | | | | | | | The sanitizers use C++ but don't require linking with the library. Differential Revision: https://reviews.llvm.org/D23005 llvm-svn: 277419
* [CMake] Load LLVMConfig for standalone build of builtinsJonas Hahnfeld2016-08-023-49/+61
| | | | | | | | Therefore move some code into reusable macros. Differential Revision: https://reviews.llvm.org/D22866 llvm-svn: 277418
* [Inliner] Clean up doxygen comments to match modern style.Chandler Carruth2016-08-021-21/+18
| | | | llvm-svn: 277417
* [AVX-512] Correct ExeDomain for many AVX-512 instructions.Craig Topper2016-08-029-311/+195
| | | | llvm-svn: 277416
* Minor code cleanups. NFC.Junmo Park2016-08-021-2/+2
| | | | llvm-svn: 277415
OpenPOWER on IntegriCloud