- Apr 29, 2016
-
-
Piotr Padlewski authored
llvm-svn: 268044
-
Tom Stellard authored
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
-
Daniel Sanders authored
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
-
Daniel Sanders authored
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
-
George Rimar authored
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
-
Daniel Sanders authored
llvm-svn: 268039
-
Tobias Grosser authored
llvm-svn: 268038
-
Benjamin Kramer authored
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
-
Daniel Sanders authored
Reviewers: sdardis Subscribers: dsanders, llvm-commits, sdardis Differential Revision: http://reviews.llvm.org/D19008 llvm-svn: 268036
-
Tobias Grosser authored
This reverts commit r268033 as it breaks some buildbots. llvm-svn: 268035
-
Tobias Grosser authored
llvm-svn: 268034
-
Tobias Grosser authored
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
-
Johannes Doerfert authored
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
-
Johannes Doerfert authored
llvm-svn: 268031
-
Tobias Grosser authored
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
-
Denis Zobnin authored
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
-
Michael Zuckerman authored
Differential Revision: http://reviews.llvm.org/D19601 llvm-svn: 268028
-
Johannes Doerfert authored
llvm-svn: 268027
-
Johannes Doerfert authored
This commits a test case for r268023. llvm-svn: 268026
-
Johannes Doerfert authored
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
-
Simon Atanasyan authored
LLD accepts MIPS 64-bit binaries, supports corresponding eulation (-m) arguments and emits 64-bit specific ELF flags. llvm-svn: 268024
-
Johannes Doerfert authored
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
-
Benjamin Kramer authored
llvm-svn: 268022
-
Benjamin Kramer authored
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
-
Alexey Bataev authored
Fixes a bug with analysis of data-sharing attributes in templates. llvm-svn: 268020
-
Haojian Wu authored
Reviewers: bkramer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19647 llvm-svn: 268019
-
Alexey Bataev authored
This enables GNU C++ extension "Variable length array" by default. Differential Revision: http://reviews.llvm.org/D18823 llvm-svn: 268018
-
Haojian Wu authored
Reviewers: bkramer Subscribers: cfe-commits, klimek, djasper Differential Revision: http://reviews.llvm.org/D19648 llvm-svn: 268017
-
Simon Pilgrim authored
FIXME: We currently don't support folding constant pshufb shuffle masks containing undef elements. llvm-svn: 268016
-
Nikolay Haustov authored
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
-
Simon Pilgrim authored
llvm-svn: 268014
-
Michael Zuckerman authored
Differential Revision: http://reviews.llvm.org/D19599 llvm-svn: 268013
-
Zlatko Buljan authored
Differential Revision: http://reviews.llvm.org/D18645 llvm-svn: 268012
-
David Majnemer authored
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
-
David Majnemer authored
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
-
Eric Fiselier authored
Fix PR21428 for long. Buffer was one byte too small in octal formatting case. Rename previously added test llvm-svn: 268009
-
David Majnemer authored
We neglected to transfer operand bundles when performing argument promotion. llvm-svn: 268008
-
Adam Nemet authored
llvm-svn: 268007
-
Adam Nemet authored
The option -Rpass=loop-distribute now reports the loops that were distributed. llvm-svn: 268006
-
Adam Nemet authored
Next patch will add another use for 'Function' inside the class. llvm-svn: 268005
-