| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In my previous commit:
"Merge a f32 bitcast of a v2i32 extractelt
A vectorized sitfp on doubles will get scalarized to a sequence of an
extract_element of <2 x i32>, a bitcast to f32 and a sitofp.
Due to the the extract_element, and the bitcast we will uneccessarily generate
moves between scalar and vector registers."
I added a pattern containing a copy_to_regclass. The copy_to_regclass is
actually not needed.
radar://13191881
llvm-svn: 175555
|
| |
|
|
|
|
|
|
|
| |
When creating an allocation hint for a register pair, make sure the hint
for the physical register reference is still in the allocation order.
rdar://13240556
llvm-svn: 175541
|
| |
|
|
|
|
| |
HexagonInstrFormats.td.
llvm-svn: 175537
|
| |
|
|
|
|
| |
No intended functionality change.
llvm-svn: 175536
|
| |
|
|
|
|
| |
PPCJITInfo.cpp in r175394.
llvm-svn: 175531
|
| |
|
|
| |
llvm-svn: 175527
|
| |
|
|
| |
llvm-svn: 175525
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
A vectorized sitfp on doubles will get scalarized to a sequence of an
extract_element of <2 x i32>, a bitcast to f32 and a sitofp.
Due to the the extract_element, and the bitcast we will uneccessarily generate
moves between scalar and vector registers.
The patch fixes this by using a COPY_TO_REGCLASS and a EXTRACT_SUBREG to extract
the element from the vector instead.
radar://13191881
llvm-svn: 175520
|
| |
|
|
|
| |
NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 175519
|
| |
|
|
|
|
|
|
| |
This stops the Machine Verifier from complaining about uses of undefined
physical registers.
NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 175518
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Kernel function arguments are lowered to loads from the PARAM_I address
space. When creating these load instructions, we were initializing
their MachinePointerInfo with an Arguement object that was not attached
to any function. This was causing the MachineScheduler to crash when
it tried to access the parent of the Arguement.
This has been fixed by initializing the MachinePointerInfo with a
UndefValue instead.
NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 175517
|
| |
|
|
|
|
|
|
|
| |
In some cases, we were losing track of live implicit registers which
was creating dead defs and causing the scheduler to produce invalid
code.
NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 175516
|
| |
|
|
| |
llvm-svn: 175497
|
| |
|
|
|
|
| |
BtnezT8SltiX16, BtnezT8SltiuX16 .
llvm-svn: 175486
|
| |
|
|
|
|
|
|
|
|
| |
fields were only ever set in the constructor. The create method retains
its consistent interface so that these bits can be re-threaded through
the emitter if they're ever needed.
This was found by the -Wunused-private-field Clang warning.
llvm-svn: 175482
|
| |
|
|
| |
llvm-svn: 175474
|
| |
|
|
| |
llvm-svn: 175472
|
| |
|
|
| |
llvm-svn: 175467
|
| |
|
|
|
|
|
| |
Also removes some redundant DNI comments on function declarations already
using the macro.
llvm-svn: 175466
|
| |
|
|
| |
llvm-svn: 175464
|
| |
|
|
| |
llvm-svn: 175463
|
| |
|
|
|
|
|
|
| |
If the memcpy has an odd length with an alignment of 2, this would incorrectly
assert on the last 1 byte copy.
rdar://13202135
llvm-svn: 175459
|
| |
|
|
| |
llvm-svn: 175458
|
| |
|
|
| |
llvm-svn: 175457
|
| |
|
|
| |
llvm-svn: 175446
|
| |
|
|
|
|
|
| |
NOTE: This is a candidate for the Mesa stable branch.
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 175445
|
| |
|
|
|
| |
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 175443
|
| |
|
|
| |
llvm-svn: 175420
|
| |
|
|
|
|
|
|
| |
at this time, llvm is generating a different but equivalent pattern
that would lead to this instruction. I am trying to think of a way
to get it to generate this. If I can't, I may just remove the pseudo.
llvm-svn: 175419
|
| |
|
|
| |
llvm-svn: 175417
|
| |
|
|
| |
llvm-svn: 175416
|
| |
|
|
|
|
|
|
|
|
| |
This expansion will be moved to expandISelPseudos as soon as I can figure
out how to do that. There are other instructions which use this
ExpandFEXT_T8I816_ins and as soon as I have finished expanding them all,
I will delete the macro asm string text so it has no way to be used
in the future.
llvm-svn: 175413
|
| |
|
|
| |
llvm-svn: 175408
|
| |
|
|
|
|
|
| |
These instructions are not targeted by the compiler but it is needed for
the MC layer.
llvm-svn: 175407
|
| |
|
|
|
|
|
| |
This instruction is not targeted by the compiler but it is needed for the
MC layer.
llvm-svn: 175406
|
| |
|
|
|
|
|
| |
These instructions are not targeted by the compiler but they are
needed for the MC layer.
llvm-svn: 175404
|
| |
|
|
|
|
|
| |
These instructions are not targeted by the compiler but they are
needed for the MC layer.
llvm-svn: 175403
|
| |
|
|
| |
llvm-svn: 175402
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 175400
|
| |
|
|
|
|
|
|
|
|
|
|
| |
GCC warns about the attribute being ignored if it occurs after void*.
There seems to be some kind of incompatibility between clang and gcc here, but
I can't fathom who's right.
void* LLVM_LIBRARY_VISIBILITY foo(); // clang: hidden, gcc: default
LLVM_LIBRARY_VISIBILITY void *bar(); // clang: hidden, gcc: hidden
void LLVM_LIBRARY_VISIBILITY qux(); // clang: hidden, gcc: hidden
llvm-svn: 175394
|
| |
|
|
| |
llvm-svn: 175379
|
| |
|
|
| |
llvm-svn: 175371
|
| |
|
|
|
|
|
|
| |
as well as 16/32 bit variants to do and so I want this to look nice
when I do it. I've been experimenting with this. No new test cases
are needed.
llvm-svn: 175369
|
| |
|
|
| |
llvm-svn: 175363
|
| |
|
|
|
|
| |
to r175354.
llvm-svn: 175361
|
| |
|
|
| |
llvm-svn: 175359
|
| |
|
|
|
|
|
|
| |
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175356
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's completely unnecessary and can be replace with proper
SReg_64 handling instead.
This actually fixes a piglit test on SI.
v2: use correct register class in addRegisterClass,
set special classes as not allocatable
v3: revert setting special classes as not allocateable
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175355
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seems to be allot simpler, and also paves the
way for further improvements.
v2: rebased on master, use 0 in BUFFER_LOAD_FORMAT_XYZW,
use VGPR0 in dummy EXP, avoid compiler warning, break
after encoding the first literal.
v3: correctly use V_ADD_F32_e64
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175354
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Mark all the operands that can also have an immediate.
v2: SOFFSET is also an SSrc_32 operand
This is a candidate for the stable branch.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175353
|