summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Hexagon] Add inline-asm constraint 'a' for modifier register classKrzysztof Parzyszek2017-07-212-0/+9
| | | | | | | For example asm ("memw(%0++%1) = %2" : : "r"(addr),"a"(mod),"r"(val) : "memory") llvm-svn: 308763
* AMDGPU: Fix getMemOpBaseRegImmOfs for flat with offsetsMatt Arsenault2017-07-211-3/+13
| | | | llvm-svn: 308762
* [Hexagon] Add inline-asm constraint 'a' for modifier register classKrzysztof Parzyszek2017-07-212-2/+26
| | | | | | | For example asm ("memw(%0++%1) = %2" : : "r"(addr),"a"(mod),"r"(val) : "memory") llvm-svn: 308761
* ThinLTO Minimized Bitcode File Size ReductionHaojie Wang2017-07-216-97/+286
| | | | | | | | | | | | | | Summary: Currently the ThinLTO minimized bitcode file only strip the debug info, but there is still a lot of information in the minimized bit code file that will be not used for thin linker. In this patch, most of the extra information is striped to reduce the minimized bitcode file. Now only ModuleVersion, ModuleInfo, ModuleGlobalValueSummary, ModuleHash, Symtab and Strtab are left. Now the minimized bitcode file size is reduced to 15%-30% of the debug info stripped bitcode file size. Reviewers: danielcdh, tejohnson, pcc Reviewed By: pcc Subscribers: mehdi_amini, aprantl, inglorion, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D35334 llvm-svn: 308760
* [OPENMP] Simplify analysis of data-sharing attributes.Alexey Bataev2017-07-214-94/+53
| | | | llvm-svn: 308759
* [mips] Support -membedded-data and fix a related bugSimon Dardis2017-07-212-8/+37
| | | | | | | | | | | | -membedded-data changes the location of constant data from the .sdata to the .rodata section. Previously it was (incorrectly) always located in the .rodata section. Reviewers: atanasyan Differential Revision: https://reviews.llvm.org/D35686 llvm-svn: 308758
* De-brief doxygen commentsAdrian Prantl2017-07-211-117/+110
| | | | llvm-svn: 308757
* Use default initializers (NFC)Adrian Prantl2017-07-211-15/+10
| | | | llvm-svn: 308756
* Canonicalize the spelling of RefDie (NFC)Adrian Prantl2017-07-211-3/+3
| | | | llvm-svn: 308755
* Untangle ScopInfo lit-testcases from specifics of the legacy-PMPhilip Pfaffe2017-07-217-22/+19
| | | | | | | | | | | | | | | | | | | Summary: For the ScopInfo lit testsuite, this patch removes some dependences on output behaviour of the legacy PM. In most cases, these tests checked the tool output for labels created by the pass printer in the legacy PM. This doesn't work for the new PM anymore. Untangling the testcases is the first step to porting the testsuite for the new PM infrastructure. Reviewers: grosser, Meinersbur, bollu Reviewed By: grosser Subscribers: llvm-commits, pollydev Tags: #polly Differential Revision: https://reviews.llvm.org/D35727 llvm-svn: 308754
* [RuntimeUnroll] NFC: Add a profitability function for mutliexit loopAnna Thomas2017-07-211-9/+24
| | | | | | | | | | | Separated out the profitability from the safety analysis for multiexit loop unrolling. Currently, this is an NFC because profitability is true only if the unroll-runtime-multi-exit is set to true (off-by-default). This is to ease adding the profitability heuristic up for review at D35380. llvm-svn: 308753
* [ELF] - Introduce multiclass Eq helper for Options.tdGeorge Rimar2017-07-2110-73/+82
| | | | | | | | | Eq helper allows to define `XXX` and `XXX=` options forms easily. Patch adds testcases for few aliases. Differential revision: https://reviews.llvm.org/D35619 llvm-svn: 308752
* [Polly][GPGPU] Added SPIR Code Generation and Corresponding Runtime Support ↵Philipp Schaad2017-07-215-43/+353
| | | | | | | | | | | | | | | | | | | | | | | | | | | for Intel Summary: Added SPIR Code Generation to the PPCG Code Generator. This can be invoked using the polly-gpu-arch flag value 'spir32' or 'spir64' for 32 and 64 bit code respectively. In addition to that, runtime support has been added to execute said SPIR code on Intel GPU's, where the system is equipped with Intel's open source driver Beignet (development version). This requires the cmake flag 'USE_INTEL_OCL' to be turned on, and the polly-gpu-runtime flag value to be 'libopencl'. The transformation of LLVM IR to SPIR is currently quite a hack, consisting in part of regex string transformations. Has been tested (working) with Polybench 3.2 on an Intel i7-5500U (integrated graphics chip). Reviewers: bollu, grosser, Meinersbur, singam-sanjay Reviewed By: grosser, singam-sanjay Subscribers: pollydev, nemanjai, mgorny, Anastasia, kbarton Tags: #polly Differential Revision: https://reviews.llvm.org/D35185 llvm-svn: 308751
* [SLPVectorizer] Replace E->Scalars to VL0 at vectorizeTree and move comment, ↵Dinar Temirbulatov2017-07-211-4/+3
| | | | | | NFCI. llvm-svn: 308750
* Annotate dump() functions with LLVM_DUMP_METHOD. NFC.Michael Kruse2017-07-212-6/+6
| | | | llvm-svn: 308749
* [ScopInfo] Don't compile dump() functions into non-assert builds. NFC.Michael Kruse2017-07-212-0/+16
| | | | | | This follows a convention used in LLVM. llvm-svn: 308748
* AMDGPU: Add instruction definitions for some scratch_* instructionsMatt Arsenault2017-07-216-19/+253
| | | | | | Omit atomics for now since they probably aren't useful. llvm-svn: 308747
* [ScopInfo] Print instructions in dump().Michael Kruse2017-07-218-31/+41
| | | | | | | | | | | | | | | | | | | Print a statement's instruction on dump() regardless of -polly-print-instructions. dump() is supposed to be used in the debugger only and never in regression tests. While debugging, get all the information we have and we are not bound to break anything. For non-dump purposes of print, forward the setting of -polly-print-instructions as parameters. Some calls to print() had to be changed because the PollyPrintInstructions setting is only available in ScopInfo.cpp. In ScheduleOptimizer.cpp, dump() was used in regression tests. That's not what dump() is for. The print parameter "PrintInstructions" will also be useful for an explicit print SCoP pass in a future patch. llvm-svn: 308746
* [SLPVectorizer] buildTree_rec replace cast<Instruction>(VL[0]) to VL0, NFCI.Dinar Temirbulatov2017-07-211-4/+4
| | | | llvm-svn: 308745
* Test commitAndrey Kasaurov2017-07-211-1/+1
| | | | llvm-svn: 308744
* [NFC] [RegisterPasses] Fix typo: To early -> too early.Siddharth Bhat2017-07-211-1/+1
| | | | llvm-svn: 308743
* [mips] Enable IAS by default for Android MIPS64Petar Jovanovic2017-07-211-0/+4
| | | | | | | | | Follow up to r306280 in Clang. Enable IAS by default for Android MIPS64 (uses N64 ABI). Differential Revision: https://reviews.llvm.org/D35482 llvm-svn: 308742
* Test commitNikolay Haustov2017-07-211-1/+1
| | | | llvm-svn: 308741
* [AMDGPU][MC][GFX9] Added support of VOP3 'op_sel' modifierDmitry Preobrazhensky2017-07-2114-1161/+3999
| | | | | | | | | | See bug 33591: https://bugs.llvm.org//show_bug.cgi?id=33591 Reviewers: vpykhtin, artem.tamazov, SamWot, arsenm Differential Revision: https://reviews.llvm.org/D35424 llvm-svn: 308740
* [SLPVectorizer] Change canReuseExtract function parameter Opcode from ↵Dinar Temirbulatov2017-07-211-19/+15
| | | | | | unsigned to Value *, NFCI. llvm-svn: 308739
* [clangd] Replace ASTUnit with manual AST management.Ilya Biryukov2017-07-213-145/+577
| | | | | | | | | | | | | | | | | | Summary: This refactoring does not aim to introduce any significant changes to the behaviour of clangd to keep the change as simple as possible. Reviewers: klimek, krasimir, bkramer Reviewed By: krasimir Subscribers: malaperle, cfe-commits Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D35406 llvm-svn: 308738
* [clang-diff] Get rid of unused variable warnings in ASTDiff.cppAlex Lorenz2017-07-211-6/+4
| | | | llvm-svn: 308737
* [SystemZ] test updateJonas Paulsson2017-07-211-1/+1
| | | | | | test/CodeGen/SystemZ/loop-01.ll was incorrectly updated by r308729. llvm-svn: 308736
* Clang's tests should depend on clang-diffAlex Lorenz2017-07-211-0/+1
| | | | llvm-svn: 308735
* Fix another compiler error from r308731Alex Lorenz2017-07-211-1/+1
| | | | | | | std::pair in emplace back couldn't be constructed because SNodeId has an explicit constructor. Not sure how this even compiled on my machine before. llvm-svn: 308734
* Fix tuple construction compiler error from r308731Alex Lorenz2017-07-211-1/+1
| | | | llvm-svn: 308733
* XFail TestWithModuleDebugging on linux (bug 33875)Pavel Labath2017-07-211-0/+2
| | | | llvm-svn: 308732
* [clang-diff] Add initial implementationAlex Lorenz2017-07-219-0/+1426
| | | | | | | | | | | | | | This is the first commit for the "Clang-based C/C++ diff tool" GSoC project. ASTDiff is a new library that computes a structural AST diff between two ASTs using the gumtree algorithm. Clang-diff is a new Clang tool that will show the structural code changes between different ASTs. Patch by Johannes Altmanninger! Differential Revision: https://reviews.llvm.org/D34329 llvm-svn: 308731
* [SystemZ, LoopStrengthReduce]Jonas Paulsson2017-07-2135-77/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes LSR generate better code for SystemZ in the cases of memory intrinsics, Load->Store pairs or comparison of immediate with memory. In order to achieve this, the following common code changes were made: * New TTI hook: LSRWithInstrQueries(), which defaults to false. Controls if LSR should do instruction-based addressing evaluations by calling isLegalAddressingMode() with the Instruction pointers. * In LoopStrengthReduce: handle address operands of memset, memmove and memcpy as address uses, and call isFoldableMemAccessOffset() for any LSRUse::Address, not just loads or stores. SystemZ changes: * isLSRCostLess() implemented with Insns first, and without ImmCost. * New function supportedAddressingMode() that is a helper for TTI methods looking at Instructions passed via pointers. Review: Ulrich Weigand, Quentin Colombet https://reviews.llvm.org/D35262 https://reviews.llvm.org/D35049 llvm-svn: 308729
* [ELF] Avoid data race in ObjectFile<ELFT>::getDILineInfo().Igor Kudrin2017-07-212-2/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D35537 llvm-svn: 308728
* [NFC] [PPCGCodeGeneration] Print `verifyModule` failure to debug stream.Siddharth Bhat2017-07-211-0/+2
| | | | | | | If verifyModule fails, it is helpful to know why it failed. Add a log to the debug stream that prints the failure. llvm-svn: 308727
* [clang-tidy] Add option to export fixes to run-clang-tidy.pyAlexander Kornienko2017-07-211-8/+46
| | | | | | | | | | | | | | | This patch adds the option to keep the list of proposed fixes even though they should not be applied. This allows to detect possible fixes using the parallelised run-clang-tidy.py and apply them using clang-apply-replacements at a later time. Essentially the patch causes the individual temporary yaml files by the parallel clang-tidy instances to be merged into one user-defined file. Patch by Michael F. Herbst! Differential revision: https://reviews.llvm.org/D31326 llvm-svn: 308726
* [clang-format] Fix comment levels between '}' and PPDirectiveKrasimir Georgiev2017-07-212-1/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This fixes a regression exposed by r307795 in which the level of a comment line between '}' and a preprocessor directive is incorrectly set as the level of the line before the '}'. In effect, this: ``` int f(int i) { int j = i; return i + j; } // comment #ifdef A #endif ``` was formatted as: ``` int f(int i) { int j = i; return i + j; } // comment #ifdef A #endif ``` Reviewers: djasper Reviewed By: djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D35485 llvm-svn: 308725
* [X86][SSE] Add extra (sra (sra x, c1), c2) -> (sra x, (add c1, c2)) test caseSimon Pilgrim2017-07-211-0/+30
| | | | | | We should be able to handle the case where some c1+c2 elements exceed max shift and some don't by performing a clamp after the sum llvm-svn: 308724
* [X86][SSE] Add pre-AVX2 support for (i32 bitcast(v32i1)) -> 2xMOVMSKSimon Pilgrim2017-07-215-874/+103
| | | | | | | | | | | | Currently we only support (i32 bitcast(v32i1)) using the AVX2 VPMOVMSKB ymm instruction. This patch adds support for splitting pre-AVX2 targets into 2 x (V)PMOVMSKB xmm instructions and merging the integer results. In future we could probably generalize this to handle more cases. Differential Revision: https://reviews.llvm.org/D35303 llvm-svn: 308723
* Fixed failing assert in code completion.Ilya Biryukov2017-07-212-4/+14
| | | | | | | | | | | | | | | | Summary: The code was accessing uninstantiated default argument. This resulted in failing assertion at ParmVarDecl::getDefaultArg(). Reviewers: erikjv, klimek, bkramer, krasimir Reviewed By: krasimir Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D35682 llvm-svn: 308722
* [clangd] Specified --gcc-toolchain explicitly in VFS test.Ilya Biryukov2017-07-211-5/+5
| | | | | | | In order to avoid platform-specific configuration quirks. (Possible fix for https://bugs.llvm.org/show_bug.cgi?id=33842) llvm-svn: 308721
* [mips] Add `short_call` to the set of `long_call/far/near` attributesSimon Atanasyan2017-07-214-9/+20
| | | | | | | | MIPS gcc supports `long_call/far/near` attributes only, but other targets have the `short_call` attribut, so let's support it for MIPS for consistency. llvm-svn: 308719
* Fix typo in error message in 'platform status'.Bruce Mitchener2017-07-211-1/+1
| | | | llvm-svn: 308716
* Fix typo in function name Bllock -> BlockTobias Grosser2017-07-211-3/+3
| | | | llvm-svn: 308715
* Fix tblgen error.Richard Trieu2017-07-212-3/+24
| | | | | | | | tblgen couldn't determing a unique name between "long_call" and "far", so it errored out when generating documentation. Copy the documentation, and give an explicit header for "long_call". llvm-svn: 308714
* Commit access testPhilipp Schaad2017-07-211-1/+1
| | | | llvm-svn: 308712
* Only use xml if iconv is found, which is a prerequisite.Eric Beckmann2017-07-211-1/+2
| | | | llvm-svn: 308711
* dsymutil: strip unused types from imported DW_TAG_modulesAdrian Prantl2017-07-214-18/+53
| | | | | | | | | | | This patch teaches dsymutil to strip types from the imported DW_TAG_module inside of an object file (not inside the PCM) if they can be resolved to the full definition inside the PCM. This reduces the size of the .dSYM from WebCore from webkit.org by almost 2/3. <rdar://problem/33047213> llvm-svn: 308710
* Debug Info: Don't strip clang module skeleton CUs.Adrian Prantl2017-07-212-1/+33
| | | | | | | | This corrects a (hopefully :-) accidental side-effect of r304020. rdar://problem/33442618 llvm-svn: 308708
OpenPOWER on IntegriCloud