| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
I'm not sure if this was breaking anything.
llvm-svn: 222174
|
|
|
|
| |
llvm-svn: 222109
|
|
|
|
|
|
|
|
|
|
| |
This gets the correct NaN behavior based on the compare type
the hardware uses. This now passes the new piglit test I have
for this on SI.
Add stricter tests for the operand order.
llvm-svn: 222079
|
|
|
|
|
|
|
|
| |
This fixes a failure in one of the oclconform tests.
Patch by: Jan Vesely
llvm-svn: 222073
|
|
|
|
|
|
|
|
| |
This is so it could potentially be used by SI. However, the current
implementation does not always produce correct results, so the
IntegerDivisionPass is being used instead.
llvm-svn: 222072
|
|
|
|
| |
llvm-svn: 222037
|
|
|
|
|
|
|
|
|
|
| |
If we have spilled the value of the m0 register, then we need to restore
it with v_readlane_b32 to a regular sgpr, because v_readlane_b32 can't
write to m0.
v_readlane_b32 can't write to m0, so
llvm-svn: 222036
|
|
|
|
| |
llvm-svn: 222032
|
|
|
|
|
|
| |
SIILowerI1Copies wasn't correctly handling this case.
llvm-svn: 222020
|
|
|
|
| |
llvm-svn: 222017
|
|
|
|
| |
llvm-svn: 222015
|
|
|
|
| |
llvm-svn: 222012
|
|
|
|
| |
llvm-svn: 221995
|
|
|
|
|
|
|
| |
This was done using the Sparc and PowerPC AsmParsers as guides. So far it
is very simple and only supports sopp instructions.
llvm-svn: 221994
|
|
|
|
| |
llvm-svn: 221965
|
|
|
|
|
|
| |
select_cc is expanded on SI, so this was never matched.
llvm-svn: 221941
|
|
|
|
|
|
| |
requires TargetLoweringObjectFile to be passed.
llvm-svn: 221926
|
|
|
|
| |
llvm-svn: 221922
|
|
|
|
|
|
|
|
|
|
|
| |
These were directly using the old base instruction
class, and specifying the wrong register classes
for operands. The operands can be the other special
inputs besides SGPRs. The op name was also being
directly used for the asm string, so this was printed
without any operands.
llvm-svn: 221921
|
|
|
|
|
|
|
|
| |
If a function is just an unreachable, this would hit a
"this is not a MachO target" assertion because of setting
HasSubsectionViaSymbols.
llvm-svn: 221920
|
|
|
|
|
|
| |
Also give a proper error for other address spaces.
llvm-svn: 221917
|
|
|
|
|
|
|
| |
It's not necessary. Also use complex patterns to allow
src modifier usage.
llvm-svn: 221916
|
|
|
|
| |
llvm-svn: 221911
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
e.g. v_mad_f32 a, b, c -> v_mad_f32 b, a, c
This simplifies matching v_madmk_f32.
This looks somewhat surprising, but it appears to be
OK to do this. We can commute src0 and src1 in all
of these instructions, and that's all that appears
to matter.
llvm-svn: 221910
|
|
|
|
|
|
| |
TargetMachine so that different subtargets could share the TLOF effectively
llvm-svn: 221878
|
|
|
|
| |
llvm-svn: 221801
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead, we're going to separate metadata from the Value hierarchy. See
PR21532.
This reverts commit r221375.
This reverts commit r221373.
This reverts commit r221359.
This reverts commit r221167.
This reverts commit r221027.
This reverts commit r221024.
This reverts commit r221023.
This reverts commit r220995.
This reverts commit r220994.
llvm-svn: 221711
|
|
|
|
| |
llvm-svn: 221543
|
|
|
|
| |
llvm-svn: 221387
|
|
|
|
| |
llvm-svn: 221383
|
|
|
|
| |
llvm-svn: 221382
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This matches the format produced by the AMD proprietary driver.
//==================================================================//
// Shell script for converting .ll test cases: (Pass the .ll files
you want to convert to this script as arguments).
//==================================================================//
; This was necessary on my system so that A-Z in sed would match only
; upper case. I'm not sure why.
export LC_ALL='C'
TEST_FILES="$*"
MATCHES=`grep -v Patterns SIInstructions.td | grep -o '"[A-Z0-9_]\+["e]' | grep -o '[A-Z0-9_]\+' | sort -r`
for f in $TEST_FILES; do
# Check that there are SI tests:
grep -q -e 'verde' -e 'bonaire' -e 'SI' -e 'tahiti' $f
if [ $? -eq 0 ]; then
for match in $MATCHES; do
sed -i -e "s/\([ :]$match\)/\L\1/" $f
done
# Try to get check lines with partial instruction names
sed -i 's/\(;[ ]*SI[A-Z\\-]*: \)\([A-Z_0-9]\+\)/\1\L\2/' $f
fi
done
sed -i -e 's/bb0_1/BB0_1/g' ../../../test/CodeGen/R600/infinite-loop.ll
sed -i -e 's/SI-NOT: bfe/SI-NOT: {{[^@]}}bfe/g'../../../test/CodeGen/R600/llvm.AMDGPU.bfe.*32.ll ../../../test/CodeGen/R600/sext-in-reg.ll
sed -i -e 's/exp_IEEE/EXP_IEEE/g' ../../../test/CodeGen/R600/llvm.exp2.ll
sed -i -e 's/numVgprs/NumVgprs/g' ../../../test/CodeGen/R600/register-count-comments.ll
sed -i 's/\(; CHECK[-NOT]*: \)\([A-Z_0-9]\+\)/\1\L\2/' ../../../test/CodeGen/R600/select64.ll ../../../test/CodeGen/R600/sgpr-copy.ll
//==================================================================//
// Shell script for converting .td files (run this last)
//==================================================================//
export LC_ALL='C'
sed -i -e '/Patterns/!s/\("[A-Z0-9_]\+[ "e]\)/\L\1/g' SIInstructions.td
sed -i -e 's/"EXP/"exp/g' SIInstrInfo.td
llvm-svn: 221350
|
|
|
|
| |
llvm-svn: 221291
|
|
|
|
| |
llvm-svn: 221228
|
|
|
|
|
|
|
|
| |
Function calls aren't supported yet.
This was reverted due to build breakages, which should be fixed now.
llvm-svn: 221173
|
|
|
|
|
|
|
| |
Change `Instruction::getAllMetadataOtherThanDebugLoc()` from a vector of
`MDNode` to one of `Value`. Part of PR21433.
llvm-svn: 221167
|
|
|
|
| |
llvm-svn: 221119
|
|
|
|
| |
llvm-svn: 221118
|
|
|
|
|
|
|
|
|
| |
The problem is mostly that variadic output instruction
aren't handled, so it is rejected for having an inconsistent
number of operands, and then the right number of operands
isn't emitted.
llvm-svn: 221117
|
|
|
|
|
|
|
|
| |
This reverts commit r220998.
It should've been reverted with the other change.
llvm-svn: 221021
|
|
|
|
|
|
|
|
|
| |
This reverts commit r220996.
It introduced layering violations causing link errors in many
configurations.
llvm-svn: 221020
|
|
|
|
|
|
|
|
|
|
| |
It appears to ignore or find ambiguous MachineInstrBuilder's conversion
operators that allow conversion to MachineInstr* and
MachineBasicBlock::bundle_iterator.
As a workaround, add an explicit way to get the MachineInstr.
llvm-svn: 221017
|
|
|
|
| |
llvm-svn: 221004
|
|
|
|
| |
llvm-svn: 220998
|
|
|
|
|
|
|
|
| |
We need to figure out how to track ptrtoint values all the
way until result is converted back to a pointer in order
to correctly rewrite the pointer type.
llvm-svn: 220997
|
|
|
|
|
|
| |
Function calls aren't supported yet.
llvm-svn: 220996
|
|
|
|
| |
llvm-svn: 220342
|
|
|
|
| |
llvm-svn: 220338
|
|
|
|
|
|
|
| |
The overridden one wasn't inserting a space,
so you would end up with .globalfoo
llvm-svn: 220329
|
|
|
|
| |
llvm-svn: 220310
|