summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add operator- to Path's reverse_iterator. Needed for D19666Filipe Cabecinhas2016-04-292-0/+7
| | | | | | | | | | Reviewers: rafael, craig.topper, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D19724 llvm-svn: 268062
* auto-generate checksSanjay Patel2016-04-291-43/+40
| | | | llvm-svn: 268061
* Fix producing undefined reference to __progname.Rafael Espindola2016-04-293-5/+10
| | | | | | We were not producing them if the library had version info. llvm-svn: 268060
* [InstCombine] add helper function for ICmp with constant canonicalization; NFCISanjay Patel2016-04-291-24/+38
| | | | | | | As suggested in http://reviews.llvm.org/D17859 , we should enhance this to support vectors. llvm-svn: 268059
* [mips][ias] Move createCpRestoreMemOp to MipsTargetStreamer. NFC.Daniel Sanders2016-04-294-42/+77
| | | | | | | | | | | | | | | Summary: This removes the temporary call to isIntegratedAssemblerRequired() which was added recently. It's effect is now acheived directly in the MipsTargetStreamer hierarchy. Reviewers: sdardis Subscribers: dsanders, sdardis, llvm-commits Differential Revision: http://reviews.llvm.org/D19715 llvm-svn: 268058
* Fix NDEBUG build: variables used only in debug code causing compile errorKrzysztof Parzyszek2016-04-291-4/+8
| | | | llvm-svn: 268057
* ELF: Add -O0 (produce output as fast as possible) mode.Rui Ueyama2016-04-293-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | This patch redefines the default optimization level as 1 and adds new level 0. In the command line, it is -O0. The flag disables costly but optional features so that the linker produces semantically correct but larger output quickly. Currently it only disables section merging. This flag is not intended to be used for final production linking. It is intended to be used in compile-link-test cycle. Time to link clang with debug info is about 2x faster with the flag. Head: 13.24 seconds Output size: 1227189664 bytes With this patch: 7.41 seconds Output size: 2490281784 bytes Differential Revision: http://reviews.llvm.org/D19705 llvm-svn: 268056
* Recommitted r264281 "Supporting all entities declared in lexical scope in ↵Amjad Aboud2016-04-295-22/+94
| | | | | | | | LLVM debug info." After fixing PR26942 in r267004. llvm-svn: 268055
* Recommitted r264280 "Supporting all entities declared in lexical scope in ↵Amjad Aboud2016-04-2919-82/+894
| | | | | | | | LLVM debug info." After fixing PR26942 in r267004. llvm-svn: 268054
* [mips][FastISel] A store is not a load.Simon Dardis2016-04-292-2/+2
| | | | | | | | | | Correct trivial error. One of the failing tests from PR/27458. Reviewers: dsanders, vkalintiris, mcrosier Differential Review: http://reviews.llvm.org/D19726 llvm-svn: 268053
* [PATCH] [mips] Fix forbidden slot hazard handlingSimon Dardis2016-04-291-3/+11
| | | | | | | | | | | | | | | | | | MipsHazardSchedule has to determine what the next physical machine instruction is to decide whether to insert a nop. In case where a branch with a forbidden slot appears at the end of a basic block, first *real* instruction of the next physical basic block was determined using getFirstNonDebugInstr(). Unfortunately this only considers DBG_VALUEs and not other transient opcodes such as EHLABEL. As EHLABEL passes the SafeInForbiddenSlot predicate and the instruction after the EHLABEL can be a CTI, we observed test failures in the LNT testsuite. Reviewers: dsanders Differential Review: http://reviews.llvm.org/D19051 llvm-svn: 268052
* [Hexagon] Optimize addressing modes for load/storeKrzysztof Parzyszek2016-04-2912-13/+972
| | | | | | Patch by Jyotsna Verma. llvm-svn: 268051
* Unify XDEBUG and EXPENSIVE_CHECKS (into the latter), and add an option to ↵Filipe Cabecinhas2016-04-2916-19/+26
| | | | | | | | | | | | | | | | | | | the cmake build to enable them. Summary: Historically, we had a switch in the Makefiles for turning on "expensive checks". This has never been ported to the cmake build, but the (dead-ish) code is still around. This will also make it easier to turn it on in buildbots. Reviewers: chandlerc Subscribers: jyknight, mzolotukhin, RKSimon, gberry, llvm-commits Differential Revision: http://reviews.llvm.org/D19723 llvm-svn: 268050
* 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
OpenPOWER on IntegriCloud