Commit Graph
112132 Commits
Author SHA1 Message Date
Daniel Sanders 1c51539f21 Merging r238751:
------------------------------------------------------------------------
r238751 | rafael | 2015-06-01 16:10:51 +0100 (Mon, 01 Jun 2015) | 3 lines

Fix relocation selection for foo-. on mips.

This handles only the 32 bit case.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@239698 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-14 15:36:12 +00:00
Tim Northover 4b3f6b49e5 Merging r236457 and r236635:
------------------------------------------------------------------------
r236457 | tnorthover | 2015-05-04 13:41:51 -0700 (Mon, 04 May 2015) |
9 lines

CodeGen: match up correct insertvalue indices when assessing tail
calls.

When deciding whether a value comes from the aggregate or inserted
value of an insertvalue instruction, we compare the indices against
those of the location we're interested in. One of the lists needs
reversing because the input data is backwards (so that modifications
take place at the end of the SmallVector), but we were reversing both
before leading to incorrect results.

------------------------------------------------------------------------
r236635 | tnorthover | 2015-05-06 13:07:38 -0700 (Wed, 06 May 2015) |
12 lines

CodeGen: move over-zealous assert into actual if statement.

It's quite possible to encounter an insertvalue instruction that's
more deeply nested than the value we're looking for, but when that
happens we really mustn't compare beyond the end of the index array.

Since I couldn't see any guarantees about what comparisons std::equal
makes, we probably need to directly check the size beforehand. In
practice, I suspect most std::equal implementations would probably
bail early, which would be OK.  But just in case...

rdar://20834485




git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@239611 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-12 15:57:35 +00:00
Tom Stellard e17b540032 Bump version to 3.6.2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@238746 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-01 14:30:22 +00:00
Daniel Sanders 66ad281fb9 [mips] Update release notes to account for revert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@237433 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-15 10:06:38 +00:00
Daniel Sanders 99d28c459a Revert r235869 - [mips] Avoid redundant sign extension of the result of binary bitwise instructions.
It introduced two regressions (MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4, and
MultiSource/Applications/kimwitu++/kc) on 3 out of 23 cross-compilation
test-runs used by Mips for release validation.

The issue is that on 64-bit targets comparisons such as BEQ compare the whole
GPR64 but incorrectly tell the instruction selector that they operate on
GPR32's. This leads to the elimination of i32->i64 extensions that are actually
required by comparisons to work correctly.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@237432 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-15 10:05:22 +00:00
Tom Stellard 75cfd0e052 Merging r226124:
------------------------------------------------------------------------
r226124 | hans | 2015-01-14 23:36:20 -0500 (Wed, 14 Jan 2015) | 2 lines

utils/release/tag.sh: fix -revision vs. -rc check

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@237015 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-11 19:46:44 +00:00
Tom Stellard 6f6912321a Merging r229413:
------------------------------------------------------------------------
r229413 | atrick | 2015-02-16 13:10:47 -0500 (Mon, 16 Feb 2015) | 16 lines

AArch64: Safely handle the incoming sret call argument.

This adds a safe interface to the machine independent InputArg struct
for accessing the index of the original (IR-level) argument. When a
non-native return type is lowered, we generate the hidden
machine-level sret argument on-the-fly. Before this fix, we were
representing this argument as OrigArgIndex == 0, which is an outright
lie. In particular this crashed in the AArch64 backend where we
actually try to access the type of the original argument.

Now we use a sentinel value for machine arguments that have no
original argument index. AArch64, ARM, Mips, and PPC now check for this
case before accessing the original argument.

Fixes <rdar://19792160> Null pointer assertion in AArch64TargetLowering

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236856 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-08 14:13:47 +00:00
Tom Stellard f2a738b21e Merging r234977:
------------------------------------------------------------------------
r234977 | lhames | 2015-04-15 00:46:01 -0400 (Wed, 15 Apr 2015) | 5 lines

[RuntimeDyld] Add casts to make delta computation 64-bit.

Hopefully this will fix the i686/msvc build failure described at:
http://bb.pgr.jp/builders/ninja-clang-i686-msc18-R/builds/803

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236784 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-07 22:09:33 +00:00
Tom Stellard 0ee768621b Merging r230564:
------------------------------------------------------------------------
r230564 | spatel | 2015-02-25 17:46:08 -0500 (Wed, 25 Feb 2015) | 8 lines

only propagate equality comparisons of FP values that we are certain are non-zero

This is a follow-on to r227491 which tightens the check for propagating FP
values. If a non-constant value happens to be a zero, we would hit the same
bug as before.

Bug noted and patch suggested by Eli Friedman.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236499 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-05 14:43:00 +00:00
Tom Stellard b5344bfff4 Merging r236307:
------------------------------------------------------------------------
r236307 | thomas.stellard | 2015-04-30 23:44:09 -0400 (Thu, 30 Apr 2015) | 4 lines

R600/SI: Add VCC as an implict def of SI_KILL

When SI_KILL has a register operand, its lowered form writes to vcc.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236452 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-04 19:50:17 +00:00
Tom Stellard cb675e58df Merging r236306:
------------------------------------------------------------------------
r236306 | thomas.stellard | 2015-04-30 23:44:08 -0400 (Thu, 30 Apr 2015) | 11 lines

R600/SI: Fix verifier errors from the SIAnnotateControlFlow pass

This pass was generating 'Instruction does not dominate all uses!'
errors for programs which had loops with a condition variable that
depended on the result of a phi instruction from outside of the loop.

The pass was inserting new phi nodes outside of the loop which used values
defined inside the loop.

http://bugs.freedesktop.org/show_bug.cgi?id=90056

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236451 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-04 19:50:16 +00:00
Tom Stellard b968a2dced Merging r235662:
------------------------------------------------------------------------
r235662 | thomas.stellard | 2015-04-23 18:59:24 -0400 (Thu, 23 Apr 2015) | 2 lines

R600: Correctly lower CONCAT_VECTOR nodes with more than 2 operands

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236450 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-04 19:50:14 +00:00
Tom Stellard c64ec2996c Merging r235641:
------------------------------------------------------------------------
r235641 | thomas.stellard | 2015-04-23 16:32:01 -0400 (Thu, 23 Apr 2015) | 9 lines

R600/SI: Fix indirect addressing with a negative constant offset

When the base register index of the vector plus the constant offset
was less than zero, we were passing the wrong base register to the indirect
addressing instruction.

In this case, we need to set the base register to v0 and then add
the computed (negative) index to m0.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236449 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-04 19:50:13 +00:00
Tom Stellard 4c7e68abd7 Merging r235524:
------------------------------------------------------------------------
r235524 | Matthew.Arsenault | 2015-04-22 13:10:44 -0400 (Wed, 22 Apr 2015) | 4 lines

R600: Fix always inline pass breaking noinline functions

No test since calls are not actually supported yet.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236448 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-04 19:50:11 +00:00
Tom Stellard def282d714 GCOV: Fix ABI breakage from r236303
This effectively reverts the part of r236303, which added a new member
to the GCOVOptions and broke ABI compatibility with 3.6.0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236445 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-04 19:18:18 +00:00
Daniel Sanders cd181f740d [mips] Added release notes for 3.6.1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236417 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-04 11:39:04 +00:00
Tom Stellard d1d867a69e Merging r227574:
------------------------------------------------------------------------
r227574 | geek4civic | 2015-01-30 08:01:19 -0500 (Fri, 30 Jan 2015) | 2 lines

[Cygming] Seek also chkstk_ms, or JIT fails with DLL builds. It is fixup for r227519.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236379 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-02 04:17:33 +00:00
Tom Stellard 5b05711194 Merging r227519:
------------------------------------------------------------------------
r227519 | reid | 2015-01-29 18:58:04 -0500 (Thu, 29 Jan 2015) | 10 lines

x86: Fix large model calls to __chkstk for dynamic allocas

In the large code model, we now put __chkstk in %r11 before calling it.

Refactor the code so that we only do this once. Simplify things by using
__chkstk_ms instead of __chkstk on cygming. We already use that symbol
in the prolog emission, and it simplifies our logic.

Second half of PR18582.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236378 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-02 04:17:29 +00:00
Tom Stellard 7aa6bebe9c Merging r232443:
------------------------------------------------------------------------
r232443 | mail | 2015-03-16 20:18:51 -0400 (Mon, 16 Mar 2015) | 4 lines

llvm-cov: Warn instead of error if a .gcda has arcs from an exit block

Patch by Vanderson M. Rosario. Thanks!

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236304 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-01 02:43:16 +00:00
Tom Stellard a0a6defa18 Merging r232438:
------------------------------------------------------------------------
r232438 | mail | 2015-03-16 19:52:03 -0400 (Mon, 16 Mar 2015) | 6 lines

GCOV: Make the exit block placement from r223193 optional

By default we want our gcov emission to stay 4.2 compatible, which
means we need to continue emit the exit block last by default. We add
an option to emit it before the body for users that need it.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236303 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-01 02:43:13 +00:00
Tom Stellard d0505d6ed6 Merging r227503:
------------------------------------------------------------------------
r227503 | reid | 2015-01-29 17:33:00 -0500 (Thu, 29 Jan 2015) | 11 lines

Update comments to use unreachable instead of llvm.trap, as implemented now

win64: Call __chkstk through a register with the large code model

Fixes half of PR18582. True dynamic allocas will still have a
CALL64pcrel32 which will fail.

Reviewers: majnemer

Differential Revision: http://reviews.llvm.org/D7267

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236302 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-01 02:43:11 +00:00
Tom Stellard 928bfce237 Merging r231259:
------------------------------------------------------------------------
r231259 | marek.olsak | 2015-03-04 12:33:45 -0500 (Wed, 04 Mar 2015) | 4 lines

R600/SI: Add an intrinsic for S_FLBIT_I32 / V_FFBH_I32

Required by OpenGL (ARB_gpu_shader5).

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236263 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-30 21:24:06 +00:00
Daniel Sanders d6409a29e3 Merging r236099:
------------------------------------------------------------------------
r236099 | dsanders | 2015-04-29 13:28:58 +0100 (Wed, 29 Apr 2015) | 13 lines

[mips] Correct 128-bit shifts on 64-bit targets.

Summary:
The existing code was correct for 32-bit GPR's but not 64-bit GPR's. It now
accounts for both cases.

Reviewers: vkalintiris

Reviewed By: vkalintiris

Subscribers: llvm-commits, mohit.bhakkad, sagar

Differential Revision: http://reviews.llvm.org/D9337
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236215 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-30 09:21:49 +00:00
Pawel Bylica bff4c86723 Correct syntax of getelementptr in regression test. NFC
Bonus: unused variable removed.
 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236116 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 16:05:29 +00:00
Daniel Sanders 2ce57c3359 Attempt #2: Fix ABI compatibility with 3.6.0 by moving new virtual function to end of subclass. NFC
The previous attempt at fixing this only moved the problem to the subclass
vtable. We can safely move the function into the subclass so attempt to fix it
that way.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236112 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 15:29:14 +00:00
Pawel Bylica f1975e4c5f Merge r232176: ConstantFold: Fix big shift constant folding
Constant folding for shift IR instructions ignores all bits above 32 of
second argument (shift amount).
Because of that, some undef results are not recognized and APInt can
raise an assert failure if second argument has more than 64 bits.

Patch by Paweł Bylica!

Differential Revision: http://reviews.llvm.org/D7701



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236109 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 14:57:35 +00:00
Pawel Bylica ec52f31064 Merge r231984: Handle big index in getelementptr instruction
CodeGen incorrectly ignores (assert from APInt) constant index bigger
than 2^64 in getelementptr instruction. This is a test and fix for that.

Patch by Paweł Bylica!

Reviewed By: rnk

Subscribers: majnemer, rnk, mcrosier, resistor, llvm-commits

Differential Revision: http://reviews.llvm.org/D8219



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236108 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 14:54:57 +00:00
Daniel Sanders 717982f879 Fix ABI compatibility with 3.6.0 by moving new virtual function to end of class. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236094 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 09:58:25 +00:00
Tom Stellard 65e868156f Merging r234891:
------------------------------------------------------------------------
r234891 | thomas.stellard | 2015-04-14 10:36:45 -0400 (Tue, 14 Apr 2015) | 12 lines

R600/SI: Fix verifier error caused by SIAnnotateControlFlow

This pass will always try to insert llvm.SI.ifbreak intrinsics
in the same block that its conditional value is computed in.  This is
a problem when conditions for breaks or continue are computed outside
of the loop, because the llvm.SI.ifbreak intrinsic ends up being inserted
outside of the loop.

This patch fixes this problem by inserting the llvm.SI.ifbreak
intrinsics in the loop header when the condition is computed outside
the loop.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236072 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 00:59:51 +00:00
Tom Stellard df9da26521 Merging r233080:
------------------------------------------------------------------------
r233080 | marek.olsak | 2015-03-24 09:40:38 -0400 (Tue, 24 Mar 2015) | 4 lines

R600/SI: Insert more NOPs after READLANE on VI, don't use NOPs on CI

This is a candidate for stable.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236071 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 00:59:49 +00:00
Tom Stellard 3447c8c670 Merging r233075:
------------------------------------------------------------------------
r233075 | marek.olsak | 2015-03-24 09:40:08 -0400 (Tue, 24 Mar 2015) | 8 lines

R600/SI: Expand fract to floor, then only select V_FRACT on CI

V_FRACT is buggy on SI.

R600-specific code is left intact.

v2: drop the multiclass, use complex VOP3 patterns

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236070 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 00:59:47 +00:00
Tom Stellard 1e430573e2 Merging r232957:
------------------------------------------------------------------------
r232957 | thomas.stellard | 2015-03-23 12:06:01 -0400 (Mon, 23 Mar 2015) | 5 lines

R600/SI: Fix crash in SIInstrInfo::areLoadsFromSameBasePtr()

This function assumed that SMRD instructions always have immediate
offsets, which is not always the case.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236069 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 00:59:42 +00:00
Tom Stellard 487f5c5d0e Merging r234975:
------------------------------------------------------------------------
r234975 | lhames | 2015-04-14 23:39:22 -0400 (Tue, 14 Apr 2015) | 5 lines

[RuntimeDyld] Make sure we emit MachO __eh_frame and __gcc_except_tab sections,
even if there are no references to them in the code.

This allows exceptions thrown from JIT'd code to be caught by the JIT itself.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236068 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 00:41:57 +00:00
Tom Stellard 70c7566915 Merging r233410:
------------------------------------------------------------------------
r233410 | ahmed.bougacha | 2015-03-27 16:35:49 -0400 (Fri, 27 Mar 2015) | 10 lines

[CodeGen] Don't attempt a tail-call with a non-forwarded explicit sret.

Tailcalls are only OK with forwarded sret pointers. With explicit sret,
one approximation is to check that the pointer isn't an Instruction, as
in that case it might point into some local memory (alloca). That's not
OK with tailcalls.

Explicit sret counterpart to r233409.
Differential Revison: http://reviews.llvm.org/D8510

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236067 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 00:41:55 +00:00
Tom Stellard 09eef44756 Merging r233409:
------------------------------------------------------------------------
r233409 | ahmed.bougacha | 2015-03-27 16:28:30 -0400 (Fri, 27 Mar 2015) | 7 lines

[CodeGen] Don't attempt a tail-call with implicit sret.

Tailcalls are only OK with forwarded sret pointers. With sret demotion,
they're not, as we'd have a pointer into a soon-to-be-dead stack frame.

Differential Revison: http://reviews.llvm.org/D8510

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236066 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 00:41:53 +00:00
Tom Stellard 0eb257dd01 Merging r232142:
------------------------------------------------------------------------
r232142 | Hao.Liu | 2015-03-13 01:15:23 -0400 (Fri, 13 Mar 2015) | 9 lines

[MachineCopyPropagation] Fix a bug causing incorrect removal for the instruction sequences as follows
   %Q5_Q6<def> = COPY %Q2_Q3
   %D5<def> =
   %D3<def> =
   %D3<def> = COPY %D6     // Incorrectly removed in MachineCopyPropagation
   Using of %D3 results in incorrect result ...

   Reviewed in http://reviews.llvm.org/D8242

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236065 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 00:41:51 +00:00
Tom Stellard 391813a685 MIPS: Fix test that uses 3.7 load syntax
This was broken by r235973.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236064 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-29 00:41:48 +00:00
Tom Stellard 2530f60652 Merging r232797:
------------------------------------------------------------------------
r232797 | thomas.stellard | 2015-03-19 23:12:42 -0400 (Thu, 19 Mar 2015) | 2 lines

R600/SI: Add missing CHECK-LABEL lines to a test

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236041 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 21:23:06 +00:00
Tom Stellard efa4fe4455 Merging r232386:
------------------------------------------------------------------------
r232386 | thomas.stellard | 2015-03-16 11:53:55 -0400 (Mon, 16 Mar 2015) | 8 lines

R600/SI: don't try min3/max3/med3 with f64

There are no opcodes for this. This also adds a test case.

v2: make test more robust

Patch by: Grigori Goronzy

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236040 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 21:23:04 +00:00
Tom Stellard fc58d60168 Merging r231662:
------------------------------------------------------------------------
r231662 | thomas.stellard | 2015-03-09 12:03:39 -0400 (Mon, 09 Mar 2015) | 2 lines

R600/SI: Fix opcode for ds_read2_b64 and ds_read2st64_b64

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236039 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 21:23:02 +00:00
Tom Stellard 5684d39938 Merging r231659:
------------------------------------------------------------------------
r231659 | marek.olsak | 2015-03-09 11:48:09 -0400 (Mon, 09 Mar 2015) | 4 lines

R600/SI: Limit SGPRs to 80 on Tonga and Iceland

This is a candidate for stable.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236038 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 21:23:00 +00:00
Tom Stellard 9a6615d18d Merging r231658:
------------------------------------------------------------------------
r231658 | marek.olsak | 2015-03-09 11:48:00 -0400 (Mon, 09 Mar 2015) | 2 lines

R600/SI: Fix getNumSGPRsAllowed for VI

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236037 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 21:22:56 +00:00
Tom Stellard 32c2910a20 Merging r230147:
------------------------------------------------------------------------
r230147 | Matthew.Arsenault | 2015-02-21 16:29:04 -0500 (Sat, 21 Feb 2015) | 2 lines

R600/SI: Don't crash when getting immediate operand size

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236022 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 19:12:20 +00:00
Tom Stellard aa32ba6f0d Merging r230146:
------------------------------------------------------------------------
r230146 | Matthew.Arsenault | 2015-02-21 16:29:00 -0500 (Sat, 21 Feb 2015) | 2 lines

R600/SI: Fix mad*k definitions

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236021 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 19:12:19 +00:00
Tom Stellard 71b22cb5ab Merging r229752:
------------------------------------------------------------------------
r229752 | marek.olsak | 2015-02-18 17:12:45 -0500 (Wed, 18 Feb 2015) | 10 lines

R600/SI: Fix READLANE and WRITELANE lane select for VI

VOP2 declares vsrc1, but VOP3 declares src1.
We can't use the same "ins" if the operands have different names in VOP2
and VOP3 encodings.

This fixes a hang in geometry shaders which spill M0 on VI.
(BTW it doesn't look like M0 needs spilling and the spilling seems
duplicated 3 times)

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236020 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 19:12:16 +00:00
Tom Stellard c997e431ba Merging r229751:
------------------------------------------------------------------------
r229751 | marek.olsak | 2015-02-18 17:12:41 -0500 (Wed, 18 Feb 2015) | 2 lines

R600/SI: Simplify verification of AMDGPU::OPERAND_REG_INLINE_C

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236019 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 19:12:14 +00:00
Tom Stellard 00a80f8263 Merging r229750:
------------------------------------------------------------------------
r229750 | marek.olsak | 2015-02-18 17:12:37 -0500 (Wed, 18 Feb 2015) | 4 lines

R600/SI: Remove explicit VOP operand checking

This should be handled by the OperandType checking.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236018 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 19:12:12 +00:00
Tom Stellard 493f3a8edf Merging r229507:
------------------------------------------------------------------------
r229507 | thomas.stellard | 2015-02-17 11:36:00 -0500 (Tue, 17 Feb 2015) | 2 lines

R600/SI: Extend private extload pattern to include zext loads

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236017 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 19:12:11 +00:00
Tom Stellard 65a11a8d52 Merging r229239:
------------------------------------------------------------------------
r229239 | Matthew.Arsenault | 2015-02-13 23:30:08 -0500 (Fri, 13 Feb 2015) | 4 lines

R600/SI: Implement correct f64 fdiv

This version passes the OpenCL conformance test.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@236016 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 19:12:08 +00:00
Daniel Sanders 1086572d29 Merging r232943:
------------------------------------------------------------------------
r232943 | petarj | 2015-03-23 12:28:13 +0000 (Mon, 23 Mar 2015) | 10 lines

Fix sign extension for MIPS64 in makeLibCall function

Fixing sign extension in makeLibCall for MIPS64. In MIPS64 architecture all
32 bit arguments (int, unsigned int, float 32 (soft float)) must be sign
extended. This fixes test "MultiSource/Applications/oggenc/".

Patch by Strahinja Petrovic.

Differential Revision: http://reviews.llvm.org/D7791

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@235973 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-28 09:39:55 +00:00