| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
v2: Use c++ style comment
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 211157
|
|
|
|
| |
llvm-svn: 211120
|
|
|
|
| |
llvm-svn: 211116
|
|
|
|
| |
llvm-svn: 211115
|
|
|
|
| |
llvm-svn: 211110
|
|
|
|
| |
llvm-svn: 211109
|
|
|
|
| |
llvm-svn: 211108
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to store a value greater than or equal to the number of LDS
bytes allocated by the shader in the m0 register in order for LDS
instructions to work correctly.
We always initialize m0 at the beginning of a shader, but this register
is also used for indirect addressing offsets, so we need to
re-initialize it any time we use indirect addressing.
llvm-svn: 211107
|
|
|
|
| |
llvm-svn: 211003
|
|
|
|
|
|
|
| |
Try to keep all the setOperationActions for integer ops
together.
llvm-svn: 211001
|
|
|
|
| |
llvm-svn: 211000
|
|
|
|
| |
llvm-svn: 210998
|
|
|
|
| |
llvm-svn: 210997
|
|
|
|
|
|
| |
Divides by weird constants now emit much better code.
llvm-svn: 210995
|
|
|
|
| |
llvm-svn: 210994
|
|
|
|
| |
llvm-svn: 210968
|
|
|
|
|
|
|
|
|
|
|
| |
This would assert if a constant address space was extern
and therefore didn't have an initializer. If the initializer
was undef, it would hit the unreachable unhandled initializer case.
An extern global should never really occur since we don't have
machine linking, but bugpoint likes to remove initializers.
llvm-svn: 210967
|
|
|
|
| |
llvm-svn: 210966
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move / delete some of the more obviously wrong
setOperationAction calls. Most of these are setting Expand
for types that aren't legal which is the default anyway.
Leave stuff that might require more thought on whether it's
junk or not as it is.
No functionality change.
llvm-svn: 210922
|
|
|
|
|
|
| |
Most of these are no longer used any more.
llvm-svn: 210915
|
|
|
|
|
|
|
|
|
| |
CondCode actions are set with setCondCodeAction.
This should have been a harmless bug since the values seem to only
collide only with nodes that don't need to be handled, and these are
already correctly setup elsewhere.
llvm-svn: 210888
|
|
|
|
|
|
| |
Evergreen is still broken due to missing shl_parts.
llvm-svn: 210885
|
|
|
|
| |
llvm-svn: 210869
|
|
|
|
| |
llvm-svn: 210868
|
|
|
|
| |
llvm-svn: 210865
|
|
|
|
|
|
|
|
|
| |
Delete all unused ones, and add new AMDGPU named intrinsics for
the ones that are. Handle the old AMDIL names for comptability (although
remove their GCCBuiltin names) and add tests since there weren't any
for these before.
llvm-svn: 210827
|
|
|
|
|
|
|
| |
There is not such thing as a 0-data ds instruction, and the data
operand needs to be a vgpr set to something meaningful.
llvm-svn: 210756
|
|
|
|
|
|
|
|
|
| |
We weren't doing this before, so all instruction using the *Helper
classes were considered for any ALU slot.
This fixes a hang in the builtin-char-clz-1.0.generated.cl piglit test.
llvm-svn: 210703
|
|
|
|
| |
llvm-svn: 210702
|
|
|
|
|
|
|
|
|
|
| |
This is the same problem fixed in r210664 for more types.
The test passes without this fix. For some reason
I'm only hitting this when creating selects lowered
to v2i32 selects.
llvm-svn: 210692
|
|
|
|
| |
llvm-svn: 210683
|
|
|
|
| |
llvm-svn: 210680
|
|
|
|
| |
llvm-svn: 210679
|
|
|
|
| |
llvm-svn: 210678
|
|
|
|
| |
llvm-svn: 210677
|
|
|
|
| |
llvm-svn: 210676
|
|
|
|
| |
llvm-svn: 210675
|
|
|
|
|
|
|
| |
The manual lists them as *_RTN_U32, not *_U32_RTN, which is more
consistent with how every other sized instruction is named.
llvm-svn: 210674
|
|
|
|
|
|
|
| |
Use patterns that will also match the immediate offset to
match the normal read / writes.
llvm-svn: 210673
|
|
|
|
|
|
|
| |
This eliminates extra extract instructions when loading an i8 vector to
a float vector.
llvm-svn: 210666
|
|
|
|
|
|
|
|
|
|
|
| |
There seem to be only 2 places that produce these,
and it's kind of tricky to hit them.
Also fixes failure to bitcast between i64 and v2f32,
although this for some reason wasn't actually broken in the
simple bitcast testcase, but did in the scalar_to_vector one.
llvm-svn: 210664
|
|
|
|
| |
llvm-svn: 210636
|
|
|
|
| |
llvm-svn: 210628
|
|
|
|
|
|
|
| |
Extract these from some of my other patches, since this
is the only thing really making them dependent on each other.
llvm-svn: 210627
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I can't get VGPR spilling to work reliable, so for now just emit
an error when the register allocator tries to spill VGPRs.
v2:
- Fix build
v3:
- Added crash fix when spilling SPGRs
v4:
- Use V_MOV_B32 as a dummy instruction instead of S_NOP
Patch by: Darren Powell
https://bugs.freedesktop.org/show_bug.cgi?id=75276
llvm-svn: 210588
|
|
|
|
|
|
|
|
|
|
|
| |
We need to make sure only one new instruction is added when spilling
otherwise the register allocator may crash.
This fixes a crash in the game Antichamber.
https://bugs.freedesktop.org/show_bug.cgi?id=75276
llvm-svn: 210587
|
|
|
|
| |
llvm-svn: 210569
|
|
|
|
| |
llvm-svn: 210568
|
|
|
|
| |
llvm-svn: 210567
|
|
|
|
| |
llvm-svn: 210564
|