summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86][SSE] Add initial costs for vector CTTZ/CTLZSimon Pilgrim2016-08-045-1097/+1062
| | | | llvm-svn: 277716
* [LLVM-COV]Replace tabs to the space indentations in the HTML coverage report.Ying Yi2016-08-046-12/+54
| | | | | | | | | | | When using orbis-llvm-cov.exe to generate the HTML report, the HTML report can look quite different to the source file if it includes tabs.The default tab size is 2 spaces instead of 8 spaces. A command line switch is be added to set the tab size. Differential Revision: https://reviews.llvm.org/D23087 llvm-svn: 277715
* Remove LLVM_ENABLE_LIBCXXABIJonas Hahnfeld2016-08-042-6/+0
| | | | | | | | libc++.so is now a linker script that includes -lc++abi if necessary. Differential Revision: https://reviews.llvm.org/D22861 llvm-svn: 277714
* [X86][SSE] Don't decide when to scalarize CTTZ/CTLZ for performance at ↵Simon Pilgrim2016-08-045-565/+1023
| | | | | | | | lowering - this is what cost models are for Improved CTTZ/CTLZ costings will be added shortly llvm-svn: 277713
* Make isExternC work on VarDecls too.Benjamin Kramer2016-08-043-1/+20
| | | | llvm-svn: 277712
* [ELF] - Attemp to fix buildbot.George Rimar2016-08-041-1/+1
| | | | | | | http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/25733/steps/test_lld/logs/stdio Fix: removed excessive whitespace. llvm-svn: 277711
* [ELF] - Linkerscript: implemented ASSERT() keyword.George Rimar2016-08-043-1/+63
| | | | | | | | | | | | ASSERT(exp, message) Ensure that exp is non-zero. If it is zero, then exit the linker with an error code, and print message. ASSERT is useful and was seen in few projects in the wild. Differential revision: https://reviews.llvm.org/D22912 llvm-svn: 277710
* [clang-rename] add missing clang-format improvementsKirill Bobyrev2016-08-042-3/+3
| | | | | | | | r277702 introduced clang-format changes so that later commits wouldn't introduce non-functional changes while running clang-format before commiting. Though, few changes by clang-format weren't in the patch. llvm-svn: 277709
* [mips] Enable tail calls by defaultSimon Dardis2016-08-0419-58/+173
| | | | | | | | | | | | | | | | | | Enable tail calls by default for (micro)MIPS(64). microMIPS is slightly more tricky than doing it for MIPS(R6) or microMIPSR6. microMIPS has two instruction encodings: 16bit and 32bit along with some restrictions on the size of the instruction that can fill the delay slot. For safe tail calls for microMIPS, the delay slot filler attempts to find a correct size instruction for the delay slot of TAILCALL pseudos. Reviewers: dsanders, vkalintris Subscribers: jfb, dsanders, sdardis, llvm-commits Differential Revision: https://reviews.llvm.org/D21138 llvm-svn: 277708
* GPGPU: Cache PTX kernelsTobias Grosser2016-08-041-4/+52
| | | | | | | We always keep a number of already compiled kernels available to ensure to avoid costly recompilation. llvm-svn: 277707
* [ELF] - Linkerscript: Fixed SORT_BY_ALIGNMENT sorting order.George Rimar2016-08-043-22/+19
| | | | | | | | | | According to spec: "SORT_BY_ALIGNMENT will sort sections into descending order by alignment before placing them in the output file" Previously they were sorted into ascending order. llvm-svn: 277706
* [ELF] - Remove trailing whitespaces. NFC.George Rimar2016-08-041-1/+1
| | | | llvm-svn: 277705
* Typo fix in comment. NFCDiana Picus2016-08-041-1/+1
| | | | llvm-svn: 277704
* [ELF] Linkerscript: remove repeated sections in filter()Eugene Leviant2016-08-042-14/+28
| | | | llvm-svn: 277703
* Run clang-format on clang-rename codeMiklos Vajna2016-08-043-13/+10
| | | | | | | | | | | So that later commits don't introduce non-functional changes when running clang-format before committing. Reviewers: klimek Differential Revision: https://reviews.llvm.org/D23153 llvm-svn: 277702
* [XRay] Align entry and return sleds to 2 byte boundariesDean Michael Berris2016-08-042-3/+6
| | | | | | | | | | | | | | | | | | | | This should ensure that we can atomically write two bytes (on top of the retq and the one past it) and have those two bytes not straddle cache lines. We also move the label past the alignment instruction so that we can refer to the actual first instruction, as opposed to potential padding before the aligned instruction. Update the tests to allow us to reflect the new order of assembly. Reviewers: rSerge, echristo, majnemer Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D23101 llvm-svn: 277701
* AMDGPU: Fix a slow test by using basic regallocMatt Arsenault2016-08-041-1/+1
| | | | | | | | | | This just tests that the register limit isn't exceeded, so the regisetr allocation doesn't need to be great.' The critically slow part is all in greedy RA, so switch to basic. llvm-svn: 277700
* GPGPU: Handle scalar array referencesTobias Grosser2016-08-044-14/+65
| | | | | | | Pass the content of scalar array references to the alloca on the kernel side and do not pass them additional as normal LLVM scalar value. llvm-svn: 277699
* BlockGenerator: Assert that we do not get alloca of array accessTobias Grosser2016-08-041-0/+4
| | | | llvm-svn: 277698
* GPGPU: Pass subtree values correctly to the kernelTobias Grosser2016-08-042-6/+37
| | | | llvm-svn: 277697
* After PR28761 use -Wall with -Werror in builtins tests to identifyEric Christopher2016-08-0433-61/+61
| | | | | | possible problems in headers. llvm-svn: 277696
* Fix intrinsics.ll testAmaury Sechet2016-08-041-3/+3
| | | | llvm-svn: 277695
* Add popcount(n) == bitsize(n) -> n == -1 transformation.Amaury Sechet2016-08-042-16/+32
| | | | | | | | | | | | Summary: As per title. Reviewers: majnemer, spatel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D23139 llvm-svn: 277694
* Forgot the dyn_cast_or_null intended for r277691.David Majnemer2016-08-041-1/+1
| | | | llvm-svn: 277693
* [Darwin] Exclude interception union tests on Darwin and AndroidBruno Cardoso Lopes2016-08-041-2/+3
| | | | | | | | | | | | | | | | | | | | | Since the directory is empty on Darwin, disable the inclusion and avoid the warning below. Exclude on Android as well to match the behavior from lib/interception/tests/CMakeLists.txt lit.py: /Users/buildslave/jenkins/sharedspace/clang-R_master@2/llvm/utils/lit/lit/discovery.py:224: warning: input '/Users/buildslave/jenkins/sharedspace/clang-R_master@2/clang-build/Build/tools/clang/runtime/compiler-rt-bins/test/interception/Unit' contained no tests This fixes the above warning in some of public bots, like http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/8686 Differential Revision: https://reviews.llvm.org/D23128 rdar://problem/27581108 llvm-svn: 277692
* Reinstate "[CloneFunction] Don't remove side effecting calls"David Majnemer2016-08-043-4/+59
| | | | | | | This reinstates r277611 + r277614 and reverts r277642. A cast_or_null should have been a dyn_cast_or_null. llvm-svn: 277691
* Revert "GVN-hoist: enable by default" & "Make GVN Hoisting obey optnone/bisect."Bruno Cardoso Lopes2016-08-042-3/+2
| | | | | | | | This reverts commits r277685 & r277688. r277685 broke compiler-rt compilation http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_build/23335 and r277685 is a followup from it. llvm-svn: 277690
* [PM] Change the name of the repeating utility to something lessChandler Carruth2016-08-043-18/+16
| | | | | | | | | | | overloaded (and simpler). Sean rightly pointed out in code review that we've started using "wrapper pass" as a specific part of the old pass manager, and in fact it is more applicable there. Here, we really have a pass *template* to build a repeated pass, so call it that. llvm-svn: 277689
* Make GVN Hoisting obey optnone/bisect.Sebastian Pop2016-08-041-0/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D23136 llvm-svn: 277688
* Remove buggy PROVIDE-in-output-description command.Rui Ueyama2016-08-042-29/+3
| | | | | | | | | | | | | | | | | With the previous change, it is now obvious that readProvide in this context appended new commands to a wrong command list. It was mistakenly adding new commands to the top level. Thus, all commands inside output section descriptions were interpreted as they were written on top level. PROVIDE command naturally requires symbol assignment support in the output section description. We don't have that one yet. I removed the implementation because there's no way to fix it now. We can resurrect the test once we support the symbol assignment (with a modification to detect errors that we failed to find as described.) llvm-svn: 277687
* Make ScriptParser::read* functions more functional style.Rui Ueyama2016-08-041-53/+53
| | | | | | | | | | | | Previously, many read* functions created new command objects and add them directly to the top-level data structure. This is not work for some commands because some commands, such as the assignment, can appear inside and outside of the output section description. This patch is to not append objects to the top-level data structure. Callers are now responsible to do that. llvm-svn: 277686
* GVN-hoist: enable by defaultSebastian Pop2016-08-041-2/+2
| | | | | | | | | | As we addressed all compilation time problems with GVN-hoist https://llvm.org/bugs/show_bug.cgi?id=28670 this patch turns GVN-hoist back by default. Differential Revision: https://reviews.llvm.org/D23136 llvm-svn: 277685
* [compiler-rt][XRay] Stash xmm registers in the trampolinesDean Michael Berris2016-08-041-5/+24
| | | | | | | | | | | | | | | We now stash and restore the xmm registers in the trampolines so that log handlers don't need to worry about clobbering these registers. In response to comments in D21612. Reviewers: rSerge, eugenis, echristo, rnk Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D23051 llvm-svn: 277683
* pdbdump: Add a test to verify the result of PDB -> YAML -> PDB conversions.Rui Ueyama2016-08-031-4/+38
| | | | | | | Currently not all information can be restored from YAML. This test verifies only the PDB header. llvm-svn: 277682
* pdbdump: Fix crash bug.Rui Ueyama2016-08-033-2/+9
| | | | | | | | | | pdbdump calls DbiStreamBuilder::commit through PDBFileBuilder::commit without calling DbiStreamBuilder::finalize. Because `finalize` initializes `Header` member, `Header` remained nullptr which caused a crash bug. Differential Revision: https://reviews.llvm.org/D23143 llvm-svn: 277681
* Make filler expression compatible with gold.Rui Ueyama2016-08-032-9/+10
| | | | | | | | | | Previously, a decimal filler expression is interpreted as a byte value. Gold on the other hand use it as a 32-bit big-endian value. This patch fixes the compatibility issue. Differential Revision: https://reviews.llvm.org/D23142 llvm-svn: 277680
* Only run ill.cc test on x86, 32 or 64 bitReid Kleckner2016-08-031-0/+1
| | | | llvm-svn: 277679
* llvm-profdata: Clarify the top level helpJustin Bogner2016-08-031-0/+1
| | | | | | | It wasn't very obvious that you're supposed to call help on the subcommands. This should help. llvm-svn: 277678
* [clang-tidy] Inefficient string operationAlexander Kornienko2016-08-038-0/+232
| | | | | | | | Patch by Bittner Barni! Differential revision: https://reviews.llvm.org/D20196 llvm-svn: 277677
* [clang-rename] improve USRFindingActionKirill Bobyrev2016-08-035-85/+100
| | | | | | | | | | | | | | | | | | | | | | 1. Improve templated class renaming, namely add capabilities of finding partial and full specializations. Every class partial specialization has reference to the specialized class. Thus, storing all partial specializations and comparing specialized class decls to the FoundDecl solves this. All full class specializations can be found by calling ClassTemplateDecl::specializations(). 2. Fix virtual function and its overriding functions renaming. Renaming a virtual function requires renaming every other function in its "overriding graph". 3. Merge TemplateClassInstantiationFindBy{Declaration|TypeUse}.cpp tests into one test by adding multiple invocations of clang-rename to one test, because the only different thing across these tests is -offset passed to clang-rename. Reviewers: alexfh Differential Revision: https://reviews.llvm.org/D23058 llvm-svn: 277663
* Errors compiling breakpoint conditions will cause the breakpoint not to be hitJim Ingham2016-08-032-2/+47
| | | | | | | | | This was a shadowed variable error from the big Expression Parser plugin-ification. I also added a test case for this. <rdar://problem/27682376> llvm-svn: 277662
* RenameIndependentSubregs: Fix liveness query in rewriteOperands()Matthias Braun2016-08-032-9/+48
| | | | | | | | rewriteOperands() always performed liveness queries at the base index rather than the RegSlot/Base as apropriate for the machine operand. This could lead to illegal rewriting in some cases. llvm-svn: 277661
* Add the new OCaml support files to the Xcode project file.Jim Ingham2016-08-031-2/+28
| | | | llvm-svn: 277660
* [InstCombine] use m_APInt to allow icmp eq (add X, C1), C2 folds for splat ↵Sanjay Patel2016-08-033-13/+10
| | | | | | constant vectors llvm-svn: 277659
* [Concepts] remove default argument for RequiresClause; NFCHubert Tong2016-08-031-2/+1
| | | | llvm-svn: 277658
* Needed change to lld for the changes to libObject/Archive interfaces now ↵Kevin Enderby2016-08-032-5/+19
| | | | | | | | returning Expected<> for the llvm trunk change in r277656 llvm-svn: 277657
* Clean up of libObject/Archive interfaces and change the last three uses of ↵Kevin Enderby2016-08-034-50/+87
| | | | | | | | | | | | ErrorOr<> changing them to Expected<> to allow them to pass through llvm Errors. No functional change. This commit by itself will break the next lld builds.  I’ll be committing the matching change for lld immediately next. llvm-svn: 277656
* [PPC] Handling CallInst in PPCBoolRetToIntGuozhi Wei2016-08-032-8/+16
| | | | | | | | This patch fixes pr25548. Current implementation of PPCBoolRetToInt doesn't handle CallInst correctly, so it failed to do the intended optimization when there is a CallInst with parameters. This patch fixed that. llvm-svn: 277655
* Revert "[ARM] Constant Materialize: imms with specific value can be encoded ↵Bruno Cardoso Lopes2016-08-032-20/+1
| | | | | | | | | | | into mov.w" This reverts commit r277610 / d619aa8878c3dafcc0d29a46517f63ff3209fdd4. This make subtarget-no-movt.ll fail in http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/26892, llvm-svn: 277654
* Create only one vector instead of two.Rui Ueyama2016-08-031-8/+10
| | | | | | | In this for-loop, we append elements from one vector to another, which is a bit inefficient. llvm-svn: 277653
OpenPOWER on IntegriCloud