summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove leftoverTobias Grosser2016-04-291-4/+0
| | | | llvm-svn: 268049
* cmake: Set LINK_POLLY_INTO_TOOLS to ON (v2)Tobias Grosser2016-04-292-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the second try. This time we disable this feature if no Polly checkout is available. For this to work we need to check if tools/polly is present early enough that our decision is known before cmake generates Config/config.h. With Polly checked into LLVM it was since a long time possible to compile clang/opt/bugpoint with Polly support directly linked in, instead of only providing Polly as a separate loadable module. This commit switches the default from providing Polly as a module to linking Polly into tools, such that it becomes unnecessary to load the Polly module when playing with Polly. Such configuration has shown a lot more convenient for day-to-day Polly use. This change does not impact the default behavior of any tool, if Polly is not explicitly enabled when calling clang/opt/bugpoint Polly does not affect compilation. This change also does not impact normal LLVM/clang checkouts that do not contain Polly. Reviewers: jdoerfert, Meinersbur Subscribers: pollydev, llvm-commits Differential Revision: http://reviews.llvm.org/D19711 llvm-svn: 268048
* [ARM] Guard the declarations of f16 to f32 vcvt intrinsics in arm_neon.h by ↵Silviu Baranga2016-04-292-2/+15
| | | | | | | | | | | | | | | | | | | testing __ARM_FP Summary: Conversions between float and half are only available when the taraget has the half-precision extension. Guard these intrinsics so that they don't cause crashes in the backend. Fixes PR27550. Reviewers: rengolin, t.p.northover Subscribers: cfe-commits, aemerson, t.p.northover, rengolin Differential Revision: http://reviews.llvm.org/D19665 llvm-svn: 268047
* [sanitizers] [SystemZ] Mark kernel 3.12.58+ as safe from CVE-2016-2143.Marcin Koscielnicki2016-04-291-0/+3
| | | | llvm-svn: 268046
* fix typo; NFCSanjay Patel2016-04-291-1/+1
| | | | llvm-svn: 268045
* Add credit [Test commit]Piotr Padlewski2016-04-291-0/+4
| | | | llvm-svn: 268044
* AMDGPU/SI: Add offset field to ds_permute/ds_bpermute instructionsTom Stellard2016-04-295-13/+29
| | | | | | | | | | | | | | Summary: These instructions can add an immediate offset to the address, like other ds instructions. Reviewers: arsenm Subscribers: arsenm, scchan Differential Revision: http://reviews.llvm.org/D19233 llvm-svn: 268043
* [mips][ias] Split expandMemInst between MipsAsmParser and ↵Daniel Sanders2016-04-295-68/+207
| | | | | | | | | | | | | | | | | | | | | | MipsTargetStreamer. Almost NFC. Summary: The portion in MipsAsmParser is responsible for figuring out which expansion to use, while the portion in MipsTargetStreamer is responsible for emitting it. This allows us to remove the call to isIntegratedAssemblerRequired() which is currently ensuring the effect of .cprestore only occurs when writing objects. The small functional change is that the memory offsets are now correctly printed as signed values. Reviewers: sdardis Subscribers: dsanders, sdardis, llvm-commits Differential Revision: http://reviews.llvm.org/D19714 llvm-svn: 268042
* [mips][ias] Moved most instruction emission helpers to MipsTargetStreamer. NFC.Daniel Sanders2016-04-293-279/+325
| | | | | | | | | | | | | | | | | | | Summary: * Moved all the emit*() helpers to MipsTargetStreamer. * Moved createNop() to MipsTargetStreamer as emitNop() and emitEmptyDelaySlot(). This instruction has been split to distinguish between the 'nop' instruction and the nop used in delay slots which is sometimes a different nop to the 'nop' instruction (e.g. for short delay slots on microMIPS). * Moved createAddu() to MipsTargetStreamer as emitAddu(). * Moved createAppropriateDSLL() to MipsTargetStreamer as emitDSLL(). Reviewers: sdardis Subscribers: dsanders, sdardis, llvm-commits Differential Revision: http://reviews.llvm.org/D19712 llvm-svn: 268041
* [ELF] Fixed warning. NFC.George Rimar2016-04-291-1/+1
| | | | | | | | SymbolTable.cpp:298:36: warning: enumeral and non-enumeral type in conditional expression [-Wextra] Sym->Binding = New->isShared() ? STB_GLOBAL : New->Binding; ^ llvm-svn: 268040
* [mips] Update tests to account for section size rounding change in r268036.Daniel Sanders2016-04-293-22/+25
| | | | llvm-svn: 268039
* cmake: Fix grammarTobias Grosser2016-04-291-2/+2
| | | | llvm-svn: 268038
* [find-all-symbols] Parallelize the merge step.Benjamin Kramer2016-04-291-15/+28
| | | | | | | | | | | | | | There is still more parallelism to get here because we synchonize on the actual uniquing but just doing YAML parsing in parallel already gives a significant speedup. Merging all symbols in LLVM+clang+compiler-rt+lld+libc++, 48 cores. before: 201.55s user 1.47s system 99% cpu 3:23.04 total after: 276.99s user 7.63s system 838% cpu 33.947 total Differential Revision: http://reviews.llvm.org/D19720 llvm-svn: 268037
* [mips][ias] Make section sizes a multiple of the alignment.Daniel Sanders2016-04-293-1/+122
| | | | | | | | | | Reviewers: sdardis Subscribers: dsanders, llvm-commits, sdardis Differential Revision: http://reviews.llvm.org/D19008 llvm-svn: 268036
* Revert "cmake: Set LINK_POLLY_INTO_TOOLS to ON"Tobias Grosser2016-04-291-1/+1
| | | | | | This reverts commit r268033 as it breaks some buildbots. llvm-svn: 268035
* doc: A source code with Polly does not use a separate module (by default)Tobias Grosser2016-04-293-26/+35
| | | | llvm-svn: 268034
* cmake: Set LINK_POLLY_INTO_TOOLS to ONTobias Grosser2016-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | With Polly checked into LLVM it was since a long time possible to compile clang/opt/bugpoint with Polly support directly linked in, instead of only providing Polly as a separate loadable module. This commit switches the default from providing Polly as a module to linking Polly into tools, such that it becomes unnecessary to load the Polly module when playing with Polly. Such configuration has shown a lot more convenient for day-to-day Polly use. This change does not impact the default behavior of any tool, if Polly is not explicitly enabled when calling clang/opt/bugpoint Polly does not affect compilation. This change also does not impact normal LLVM/clang checkouts that do not contain Polly. Reviewers: jdoerfert, Meinersbur, sebpop, etherzhhb, zinob, hiraditya Subscribers: pollydev, llvm-commits Differential Revision: http://reviews.llvm.org/D19711 llvm-svn: 268033
* Allow unsigned divisionsJohannes Doerfert2016-04-298-41/+298
| | | | | | | | | | | | | After zero-extend operations and unsigned comparisons we now allow unsigned divisions. The handling is basically the same as for signed division, except the interpretation of the operands. As the divisor has to be constant in both cases we can simply interpret it as an unsigned value without additional complexity in the representation. For the dividend we could choose from the different representation schemes introduced for zero-extend operations but for now we will simply use an assumption. llvm-svn: 268032
* Refactor SCEVAffinator [NFC]Johannes Doerfert2016-04-291-14/+12
| | | | llvm-svn: 268031
* ScopInfo: Add option to control abort on isl errorsTobias Grosser2016-04-291-1/+7
| | | | | | | For debugging it is often convenient to not abort at the very first memory management error. This option allows to control this behavior at run-time. llvm-svn: 268030
* Recommit "[MS] Improved implementation of stack pragmas (vtordisp, *_seg)"Denis Zobnin2016-04-297-86/+137
| | | | | | | | | | | | | | | | | | | | | | Slightly updated version, double-checked build and tests. Improve implementation of MS pragmas that use stack + compatibility fixes. This patch: 1. Changes implementation of #pragma vtordisp to use PragmaStack class that other stack pragmas use; 2. Fixes "#pragma vtordisp()" behavior - it shouldn't affect the stack; 3. Supports "save-restore" of pragma stacks on enter / exit a C++ method body, as MSVC does. TODO: 1. Change implementation of #pragma pack to use the same approach; 2. Introduce diagnostics on popping named stack slots, as MSVC does. Reviewers: rnk, thakis Differential revision: http://reviews.llvm.org/D19361 llvm-svn: 268029
* [clang][BuiltIn][AVX512]Adding intrinsics for cmp{ss|sd} instruction set.Michael Zuckerman2016-04-293-1/+102
| | | | | | Differential Revision: http://reviews.llvm.org/D19601 llvm-svn: 268028
* [FIX] TypoJohannes Doerfert2016-04-291-1/+1
| | | | llvm-svn: 268027
* [FIX] Prevent division/modulo by zero in parameters -- test caseJohannes Doerfert2016-04-291-0/+56
| | | | | | This commits a test case for r268023. llvm-svn: 268026
* [FIX] Unsigned comparisons change invalid domainJohannes Doerfert2016-04-295-28/+76
| | | | | | | | | It does not suffice to take a global assumptions for unsigned comparisons but we also need to adjust the invalid domain of the statements guarded by such an assumption. To this end we allow to specialize the getPwAff call now in order to indicate unsigned interpretation. llvm-svn: 268025
* [ELF][MIPS] Accept MIPS 64-bit binariesSimon Atanasyan2016-04-295-3/+73
| | | | | | | LLD accepts MIPS 64-bit binaries, supports corresponding eulation (-m) arguments and emits 64-bit specific ELF flags. llvm-svn: 268024
* [FIX] Prevent division/modulo by zero in parametersJohannes Doerfert2016-04-291-2/+20
| | | | | | | | | | | | When we materialize parameter SCEVs we did so without considering the side effects they might have, e.g., both division and modulo are undefined if the right hand side is zero. This is a problem because we potentially extended the domain under which we evaluate parameters, thus we might have introduced such undefined behaviour. To prevent that from happening we will now guard divisions and modulo operations in the parameters with a compare and select. llvm-svn: 268023
* Make run-find-all-symbols executable.Benjamin Kramer2016-04-291-0/+0
| | | | llvm-svn: 268022
* [find-all-symbols] Fix racy yaml file writing.Benjamin Kramer2016-04-293-15/+20
| | | | | | | | | | | If multiple find-all-symbols processes access the temporary directory simultaneously with two files with the same name they would collide and create a broken yaml file. Fix this by using the safe createUniqueFile API from LLVM instead. Differential Revision: http://reviews.llvm.org/D19717 llvm-svn: 268021
* [OPENMP] Fix detection of explicit data-sharing attributes in templates.Alexey Bataev2016-04-292-0/+17
| | | | | | Fixes a bug with analysis of data-sharing attributes in templates. llvm-svn: 268020
* [find-all-symbols] Save absolute file path instead of relative file path in ↵Haojian Wu2016-04-291-4/+23
| | | | | | | | | | | | SymbolInfo. Reviewers: bkramer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19647 llvm-svn: 268019
* Implementation of VlA of GNU C++ extension, by Vladimir Yakovlev.Alexey Bataev2016-04-298-15/+199
| | | | | | | This enables GNU C++ extension "Variable length array" by default. Differential Revision: http://reviews.llvm.org/D18823 llvm-svn: 268018
* [include-fixer] Add Yaml database integration.Haojian Wu2016-04-296-1/+131
| | | | | | | | | | Reviewers: bkramer Subscribers: cfe-commits, klimek, djasper Differential Revision: http://reviews.llvm.org/D19648 llvm-svn: 268017
* [InstCombine][SSE] Added x86 pshufb undef mask testsSimon Pilgrim2016-04-291-1/+37
| | | | | FIXME: We currently don't support folding constant pshufb shuffle masks containing undef elements. llvm-svn: 268016
* AMDGPU/SI: Assembler: Unify parsing/printing of operands.Nikolay Haustov2016-04-2935-975/+717
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The goal is for each operand type to have its own parse function and at the same time share common code for tracking state as different instruction types share operand types (e.g. glc/glc_flat, etc). Introduce parseAMDGPUOperand which can parse any optional operand. DPP and Clamp/OMod have custom handling for now. Sam also suggested to have class hierarchy for operand types instead of table. This can be done in separate change. Remove parseVOP3OptionalOps, parseDS*OptionalOps, parseFlatOptionalOps, parseMubufOptionalOps, parseDPPOptionalOps. Reduce number of definitions of AsmOperand's and MatchClasses' by using common base class. Rename AsmMatcher/InstPrinter methods accordingly. Print immediate type when printing parsed immediate operand. Use 'off' if offset/index register is unused instead of skipping it to make it more readable (also agreed with SP3). Update tests. Reviewers: tstellarAMD, SamWot, artem.tamazov Subscribers: qcolombet, arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D19584 llvm-svn: 268015
* [InstCombine][SSE] Regenerated x86 pshufb testsSimon Pilgrim2016-04-291-90/+113
| | | | llvm-svn: 268014
* [Clang][AVX512][Builtin] Adding intrinsics for compress instruction setMichael Zuckerman2016-04-293-0/+119
| | | | | | Differential Revision: http://reviews.llvm.org/D19599 llvm-svn: 268013
* [mips][microMIPS] Fix offsets for LLE, LWE, SBE, SCE and SHE instructionsZlatko Buljan2016-04-2910-40/+142
| | | | | | Differential Revision: http://reviews.llvm.org/D18645 llvm-svn: 268012
* [GlobalOpt] Propagate operand bundlesDavid Majnemer2016-04-293-19/+78
| | | | | | | We neglected to transfer operand bundles for some transforms. These were found via inspection, I'll try to come up with some test cases. llvm-svn: 268011
* [InstCombine] Propagate operand bundlesDavid Majnemer2016-04-292-3/+9
| | | | | | | We neglected to transfer operand bundles for some transforms. These were found via inspection, I'll try to come up with some test cases. llvm-svn: 268010
* Fix PR21428 for long. Buffer was one byte too small in octal formatting ↵Eric Fiselier2016-04-292-10/+32
| | | | | | case. Rename previously added test llvm-svn: 268009
* [DeadArgumentElimination] Propagate operand bundles to promoted call sitesDavid Majnemer2016-04-292-4/+39
| | | | | | | We neglected to transfer operand bundles when performing argument promotion. llvm-svn: 268008
* [LoopDist] Add missing RUN line in test from r268006Adam Nemet2016-04-291-0/+2
| | | | llvm-svn: 268007
* [LoopDist] Also emit optimization remark on success (-Rpass=)Adam Nemet2016-04-292-0/+59
| | | | | | | The option -Rpass=loop-distribute now reports the loops that were distributed. llvm-svn: 268006
* [LoopDist] Pass 'Function' to main class. NFCAdam Nemet2016-04-291-6/+8
| | | | | | Next patch will add another use for 'Function' inside the class. llvm-svn: 268005
* [SLPVectorizer] Add operand bundles to vectorized functionsDavid Majnemer2016-04-292-2/+64
| | | | | | | SLPVectorizing a call site should result in further propagation of its bundles. llvm-svn: 268004
* [LoopVectorize] Add operand bundles to vectorized functionsDavid Majnemer2016-04-292-5/+52
| | | | | | | Also, do not crash when calculating a cost model for loop-invariant token values. llvm-svn: 268003
* AMDGPU: Stop reporting an addressing mode for unknown addrspaceMatt Arsenault2016-04-292-5/+26
| | | | | | | | | This was being treated the same as private, which has an immediate offset. For unknown, it probably means it's for a computation not actually being used for accessing memory, so it should not have a nontrivial addressing mode. llvm-svn: 268002
* DivergenceAnalysis: Fix crash with unreachable blocksMatt Arsenault2016-04-292-0/+22
| | | | | | | Unreachable blocks may not be in the dominator tree, so don't crash on them. llvm-svn: 268001
* [ArgumentPromotion] Propagate operand bundles to promoted call sitesDavid Majnemer2016-04-292-2/+36
| | | | | | | | | We neglected to transfer operand bundles when performing argument promotion. This fixes PR27568. llvm-svn: 267986
OpenPOWER on IntegriCloud