- Nov 15, 2013
-
-
Matt Arsenault authored
This is to avoid this transformation in some cases: fold (conv (load x)) -> (load (conv*)x) On architectures that don't natively support some vector loads efficiently casting the load to a smaller vector of larger types and loading is more efficient. Patch by Micah Villmow. llvm-svn: 194783
-
Peter Zotov authored
LLVMGetTargetFromName used to compare two char* strings directly. llvm-svn: 194771
-
Peter Zotov authored
llvm-svn: 194770
-
Peter Zotov authored
LLVMGetTargetFromName was not yet present in an LLVM release, so this does not break compatibility. llvm-svn: 194769
-
Reed Kotler authored
short form. Constant islands will expand them if they are out of range. Since there is not direct object emitter at this time, it does not have any material affect because the assembler sorts this out. But we need to know for the actual constant island work. We track the difference by putting # 16 inst in the comments. llvm-svn: 194766
-
Matt Arsenault authored
Patch by Michele Scandale! llvm-svn: 194760
-
Tom Stellard authored
The LDS output queue is accessed via the OQAP register. The OQAP register cannot be live across clauses, so if value is written to the output queue, it must be retrieved before the end of the clause. With the machine scheduler, we cannot statisfy this constraint, because it lacks proper alias analysis and it will mark some LDS accesses as having a chain dependency on vertex fetches. Since vertex fetches require a new clauses, the dependency may end up spiltting OQAP uses and defs so the end up in different clauses. See the lds-output-queue.ll test for a more detailed explanation. To work around this issue, we now combine the LDS read and the OQAP copy into one instruction and expand it after register allocation. This patch also adds some checks to the EmitClauseMarker pass, so that it doesn't end a clause with a value still in the output queue and removes AR.X and OQAP handling from the scheduler (AR.X uses and defs were already being expanded post-RA, so the scheduler will never see them). Reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 194755
-
Tom Stellard authored
Patch by: Alex Deucher Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com> llvm-svn: 194752
-
Matt Arsenault authored
llvm-svn: 194749
-
Hans Wennborg authored
This was casuing my release+asserts build on Windows to fail. llvm-svn: 194747
-
- Nov 14, 2013
-
-
Matt Arsenault authored
llvm-svn: 194738
-
Chad Rosier authored
llvm-svn: 194733
-
Tim Northover authored
We used to perform an invalid operation on an MVT and crash, which wasn't much fun. Patch by Oliver Stannard. llvm-svn: 194714
-
Elena Demikhovsky authored
Added VMOSHDUP/VMOVSLDUP shuffle instructions. llvm-svn: 194691
-
Matt Arsenault authored
llvm-svn: 194688
-
Matt Arsenault authored
llvm-svn: 194684
-
Matt Arsenault authored
llvm-svn: 194683
-
NAKAMURA Takumi authored
llvm-svn: 194679
-
Andrew Trick authored
If a null call target is provided, don't emit a dummy call. This allows the runtime to reserve as little nop space as it needs without the requirement of emitting a call. llvm-svn: 194676
-
Rafael Espindola authored
There is nothing special about quotes and newlines from the object file point of view, only the assembler has to worry about expanding the \n and \". This patch then removes the special handling from the Mangler. llvm-svn: 194667
-
NAKAMURA Takumi authored
llvm-svn: 194662
-
NAKAMURA Takumi authored
llvm-svn: 194661
-
Kevin Qin authored
llvm-svn: 194659
-
Kevin Qin authored
llvm-svn: 194656
-
Jiangning Liu authored
llvm-svn: 194648
-
Tom Stellard authored
llvm-svn: 194632
-
Reed Kotler authored
constant islands. llvm-svn: 194630
-
Tom Stellard authored
Private address space is emulated using the register file with MOVRELS and MOVRELD instructions. llvm-svn: 194626
-
Tom Stellard authored
All shift operations will be selected as SALU instructions and then if necessary lowered to VALU instructions in the SIFixSGPRCopies pass. This allows us to do more operations on the SALU which will improve performance and is also required for implementing private memory using indirect addressing, since the private memory pointers must stay in the scalar registers. This patch includes some fixes from Matt Arsenault. llvm-svn: 194625
-
- Nov 13, 2013
-
-
Chad Rosier authored
instructions. This patch does not include the shift right and accumulate instructions. A number of non-overloaded intrinsics have been remove in favor of their overloaded counterparts. llvm-svn: 194598
-
Weiming Zhao authored
By default, the behavior of IT block generation will be determinated dynamically base on the arch (armv8 vs armv7). This patch adds backend options: -arm-restrict-it and -arm-no-restrict-it. The former one restricts the generation of IT blocks (the same behavior as thumbv8) for both arches. The later one allows the generation of legacy IT block (the same behavior as ARMv7 Thumb2) for both arches. Clang will support -mrestrict-it and -mno-restrict-it, which is compatible with GCC. llvm-svn: 194592
-
Richard Sandiford authored
At the moment this is just the MC support. llvm-svn: 194585
-
Rafael Espindola authored
Accepting quotes is a property of an assembler, not of an object file. For example, ELF can support any names for sections and symbols, but the gnu assembler only accepts quotes in some contexts and llvm-mc in a few more. LLVM should not produce different symbols based on a guess about which assembler will be reading the code it is printing. llvm-svn: 194575
-
Vladimir Medic authored
llvm-svn: 194570
-
Zoran Jovanovic authored
llvm-svn: 194569
-
Robert Lytton authored
llvm-svn: 194564
-
Vladimir Medic authored
This patch fixes a bug in floating point operands parsing, when instruction alias uses default register operand. llvm-svn: 194562
-
NAKAMURA Takumi authored
Also, prune <stdlib.h>, seems stray. llvm-svn: 194557
-
Reed Kotler authored
specifically about the .space directive. This allows us to force large blocks of code to appear in test cases for things like constant islands without having to make giant test cases to force things like long branches to take effect. llvm-svn: 194555
-
Matt Arsenault authored
llvm-svn: 194547
-