Commit Graph

123150 Commits

Author SHA1 Message Date
Joerg Sonnenberger
f1ad08798b Drop assert that a call with struct return goes to a function with sret
attribute. Clang incorrectly misses it on __muldc3 and friends and the
type system doesn't include it properly either.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250938 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 20:05:01 +00:00
Reid Kleckner
062c18d550 [WinEH] Add test for llvm.va.start in catchpad
It already works, but we should have a test for it.

This used to be PR23094 in the old model.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250936 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 19:54:40 +00:00
Teresa Johnson
bfe573bc32 Silence Visual C++ warning in function summary parsing code (NFC)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250929 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 19:25:14 +00:00
Sanjay Patel
e2266e94c8 [x86] move recursive add match for LEA to helper function; NFCI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250926 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 18:56:06 +00:00
Yaron Keren
ba3f35ef57 Revert r250923 as config.h is not an installed header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250924 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 18:36:52 +00:00
Yaron Keren
a41a157f21 Include llvm/Config/config.h in FileSystem.h as it depends upon HAVE_SYS_STAT_H which is defined (or not) in config.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250923 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 18:28:35 +00:00
David Majnemer
9f1da8432d [SimplifyCFG] Don't use-after-free an SSA value
SimplifyTerminatorOnSelect didn't consider the possibility that the
condition might be related to one of PHI nodes.

This fixes PR25267.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250922 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 18:22:24 +00:00
Peter Zotov
7d30a2ed8b [OCaml] Expose Llvm.{set_,}unnamed_addr.
Patch by Jacques-Pascal Deplaix <jp.deplaix@gmail.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250912 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 17:43:02 +00:00
Craig Topper
8b64b61d9a [X86] Add AMD mwaitx, monitorx, and clzero instructions to the assembly parser and disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250911 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 17:26:45 +00:00
Sanjay Patel
387446b597 [x86] add test case that shows holes in LEA isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250910 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 17:24:00 +00:00
Kevin Enderby
da785374d9 Backing out commit r250906 as it broke lld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250908 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 17:13:20 +00:00
Kevin Enderby
e36c14fbed This removes the eating of the error in Archive::Child::getSize() when the characters
in the size field in the archive header for the member is not a number.  To do this we
have all of the needed methods return ErrorOr to push them up until we get out of lib.
Then the tools and can handle the error in whatever way is appropriate for that tool.

So the solution is to plumb all the ErrorOr stuff through everything that touches archives.
This include its iterators as one can create an Archive object but the first or any other
Child object may fail to be created due to a bad size field in its header.

Thanks to Lang Hames on the changes making child_iterator contain an
ErrorOr<Child> instead of a Child and the needed changes to ErrorOr.h to add
operator overloading for * and -> .

We don’t want to use llvm_unreachable() as it calls abort() and is produces a “crash”
and using report_fatal_error() to move the error checking will cause the program to
stop, neither of which are really correct in library code. There are still some uses of
these that should be cleaned up in this library code for other than the size field.

Also corrected the code where the size gets us to the “at the end of the archive”
which is OK but past the end of the archive will return object_error::parse_failed now.

The test cases use archives with text files so one can see the non-digit character,
in this case a ‘%’, in the size field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250906 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 16:59:24 +00:00
Craig Topper
94f8b07c97 [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250901 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 16:30:42 +00:00
Vedant Kumar
f890225b78 [llvm-cov] Adjust column widths for function and file reports
Previously, we only expanded function and filename column widths when
rendering file reports. This commit makes the change for function
reports as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250900 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 16:03:32 +00:00
Daniel Sanders
49d94c2d2d [mips][mips16] Re-work the inline assembly stubs to work with IAS. NFC.
Summary:
Previously, we were inserting an InlineAsm statement for each line of the
inline assembly. This works for GAS but it triggers prologue/epilogue
emission when IAS is in use. This caused:
    .set noreorder
    .cpload $25
to be emitted as:
    .set push
    .set reorder
    .set noreorder
    .set pop
    .set push
    .set reorder
    .cpload $25
    .set pop
which led to assembler errors and caused the test to fail.

The whitespace-after-comma changes included in this patch are necessary to
match the output when IAS is in use.

Reviewers: vkalintiris

Subscribers: rkotler, llvm-commits, dsanders

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250895 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 12:44:14 +00:00
Chandler Carruth
198a6c5be5 [AA] Enhance the new AliasAnalysis infrastructure with an optional
"external" AA wrapper pass.

This is a generic hook that can be used to thread custom code into the
primary AAResultsWrapperPass for the legacy pass manager in order to
allow it to merge external AA results into the AA results it is
building. It does this by threading in a raw callback and so it is
*very* powerful and should serve almost any use case I have come up with
for extending the set of alias analyses used. The only thing not well
supported here is using a *different order* of alias analyses. That form
of extension *is* supportable with the new pass manager, and I can make
the callback structure here more elaborate to support it in the legacy
pass manager if this is a critical use case that people are already
depending on, but the only use cases I have heard of thus far should be
reasonably satisfied by this simpler extension mechanism.

It is hard to test this using normal facilities (the built-in AAs don't
use this for obvious reasons) so I've written a fairly extensive set of
custom passes in the alias analysis unit test that should be an
excellent test case because it models the out-of-tree users: it adds
a totally custom AA to the system. This should also serve as
a reasonably good example and guide for out-of-tree users to follow in
order to rig up their existing alias analyses.

No support in opt for commandline control is provided here however. I'm
really unhappy with the kind of contortions that would be required to
support that. It would fully re-introduce the analysis group
self-recursion kind of patterns. =/

I've heard from out-of-tree users that this will unblock their use cases
with extending AAs on top of the new infrastructure and let us retain
the new analysis-group-free-world.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250894 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 12:15:19 +00:00
Elena Demikhovsky
c57d9bd443 Masked Load/Store optimization for scalar code
When we have to convert the masked.load, masked.store to scalar code, we generate a chain of conditional basic blocks.
I added optimization for constant mask vector.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250893 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 11:50:54 +00:00
Daniel Sanders
5d3ea87e63 [mips][msa] Remove copy_u.d and move copy_u.w to MSA64.
Summary:
The forwards compatibility strategy employed by MIPS is to consider registers
to be infinitely sign-extended. Then on ISA's with a wider register, the result
of existing instructions are sign-extended to register width and zero-extended
counterparts are added. copy_u.w on MSA32 and copy_u.w on MSA64 violate this
strategy and we have therefore corrected the MSA specs to fix this.

We still keep track of sign/zero-extension during legalization but we now
match copy_s.[wd] where required.

No change required to clang since __builtin_msa_copy_u_[wd] will map to
copy_s.[wd] where appropriate for the target.

Reviewers: vkalintiris

Subscribers: llvm-commits

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250887 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 09:58:54 +00:00
Jonas Paulsson
407b46bfab Let MachineVerifier be aware of mem-to-mem instructions.
A mem-to-mem instruction (that both loads and stores), which store to an
FI, cannot pass the verifier since it thinks it is loading from the FI.

For the mem-to-mem instruction, do a looser check in visitMachineOperand()
and only check liveness at the reg-slot while analyzing a frame index operand.

Needed to make CodeGen/SystemZ/xor-01.ll pass with -verify-machineinstrs,
which now runs with this flag.

Reviewed by Evan Cheng and Quentin Colombet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250885 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 07:39:47 +00:00
Mehdi Amini
d63954dac1 Do not use dyn_cast<X> after isa<X> (NFC)
From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250883 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 06:11:01 +00:00
Mehdi Amini
33ee997b37 Revert "Add missing #include, found by modules build."
This reverts commit r250239.
It seems unwanted changes got committed here, and part of
the patch does not seem correct.
For instance RoundUpToAlignment() is called without its returned
value actually used.

From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250882 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 06:10:55 +00:00
Krzysztof Parzyszek
813b365fd0 Tail duplication can mix incompatible registers in phi nodes
Do not tail duplicate blocks where the successor has a phi node,
and the corresponding value in that phi node uses a subregister.

http://reviews.llvm.org/D13922


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250877 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 02:40:06 +00:00
JF Bastien
3aa0189bfe WebAssembly: support imports
C/C++ code can declare an extern function, which will show up as an import in WebAssembly's output. It's expected that the linker will resolve these, and mark unresolved imports as call_import (I have a patch which does this in wasmate).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250875 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 02:23:09 +00:00
Dehao Chen
491ae53e26 Tolerate negative offset when matching sample profile.
In some cases (as illustrated in the unittest), lineno can be less than the heade_lineno because the function body are included from some other files. In this case, offset will be negative. This patch makes clang still able to match the profile to IR in this situation.

http://reviews.llvm.org/D13914



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250873 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-21 01:22:27 +00:00
Krzysztof Parzyszek
c75a253689 [Hexagon] Bit-based instruction simplification
Analyze bit patterns of operands and values of instructions to perform
various simplifications, dead/redundant code elimination, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250868 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 22:57:13 +00:00
Krzysztof Parzyszek
84aa3b5def [Hexagon] Fix isNVStorable flag in .td files
An upper half and a double word cannot be used as value sources in a
new-value store.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250867 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 22:40:57 +00:00
Igor Laevsky
48b3c93735 [MemorySanitizer] NFC. Do not use GET_INTRINSIC_MODREF_BEHAVIOR table.
It is now possible to infer intrinsic modref behaviour purely from intrinsic attributes.
This change will allow to completely remove GET_INTRINSIC_MODREF_BEHAVIOR table.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250860 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 21:33:30 +00:00
Simon Pilgrim
cf2cac0bd9 [X86][SSE] Add 256-bit vector bit rotation tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250853 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 20:27:23 +00:00
Duncan P. N. Exon Smith
1e221d5c2c bugpoint: Remove implicit ilist iterator conversions, NFC
This is the last of the implicit ilist iterator conversions in LLVM.
Still up for debate whether we let these bitrot back:
http://lists.llvm.org/pipermail/llvm-dev/2015-October/091617.html

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250852 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 19:36:39 +00:00
Krzysztof Parzyszek
4465351205 [Hexagon] Capture aggregate variables by reference, not value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250851 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 19:33:46 +00:00
Krzysztof Parzyszek
014b76cd0f [Hexagon] Do not fall-through if there is no CFG edge
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250850 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 19:30:21 +00:00
Krzysztof Parzyszek
cdc93cb36f [Hexagon] Use symbolic name for subregister instead of hardcoded number
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250849 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 19:26:36 +00:00
Krzysztof Parzyszek
e7b5e3c89d [Hexagon] Change Based->Base in getBasedWithImmOffset
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250848 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 19:21:05 +00:00
Krzysztof Parzyszek
1f2d4d356d [Hexagon] Remove the remnants of isConstExtProfitable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250845 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 19:04:53 +00:00
Duncan P. N. Exon Smith
70f8c2049f unittests: Remove implicit ilist iterator conversions, NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250843 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 18:30:20 +00:00
Duncan P. N. Exon Smith
00f8d5fdf7 llvm-diff: Remove implicit ilist iterator conversions, NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250842 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 18:17:05 +00:00
Chris Bieneman
20263fdbfb [CMake] All the checks for if LLVM_VERSION_* variables are set need to be if(DEFINED ...)
This is because if you set one of the variables to 0, if(NOT ...) is true, which isn't what you actually want. Should have thought that through better the first time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250841 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 18:16:37 +00:00
Chris Bieneman
e5b90ccacc [CMake] Refactor subdirectory inclusion code to take a project name.
Summary:
This refactoring makes some of the code used to control including subdirectories parameterized so it can be re-used elsewhere.

Specifically I want to re-use this code in clang to be able to turn off specific tool subdirectories.

Reviewers: chapuni, filcab, bogner, Bigcheese

Subscribers: emaste, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250835 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 16:42:58 +00:00
Artyom Skrobov
7d55a0bab7 Two switch blocks in VectorLegalizer::LegalizeOp already have a
default: llvm_unreachable("This action is not supported yet!");

-- so I'm adding one to the third switch block, too.

This is a follow-up fix for http://reviews.llvm.org/D13862




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250830 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 15:06:37 +00:00
Jonas Paulsson
23d79658db [SystemZ] Use LivePhysRegs helper class in SystemZShortenInst.cpp.
Don't use home brewed liveness tracking code for phys regs, since
this class does the job.

Reviewed by Ulrich Weigand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250829 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 15:05:58 +00:00
Jonas Paulsson
53675f88a1 [SystemZ] Comment fix in test/CodeGen/SystemZ/fp-cmp-05.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250828 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 15:05:54 +00:00
Artyom Skrobov
190815e2ea Adding support for TargetLoweringBase::LibCall
Summary:
TargetLoweringBase::Expand is defined as "Try to expand this to other ops,
otherwise use a libcall." For ISD::UDIV and ISD::SDIV, the choice between
the two possibilities was defined in a rather convoluted way:

- if DIVREM is legal, expand to DIVREM
- if DIVREM has a custom lowering, expand to DIVREM
- if DIVREM libcall is defined and a remainder from the same division is
  computed elsewhere, expand to a DIVREM libcall
- else, expand to a DIV libcall

This had the undesirable effect that if both DIV and DIVREM are implemented
as libcalls, then ISD::UDIV and ISD::SDIV are expanded to the heavier DIVREM
libcall, even when the remainder isn't used.

The new code adds a new LegalizeAction, TargetLoweringBase::LibCall, so that
backends can directly control whether they prefer an expansion or a conversion
to a libcall. This makes the generic lowering code even more generic,
allowing its reuse in a wider range of target-specific configurations.

The useful effect is that ARM backend will now generate a call
to __aeabi_{i,u}div rather than __aeabi_{i,u}divmod in cases where
it doesn't need the remainder. There's no functional change outside
the ARM backend.

Reviewers: t.p.northover, rengolin

Subscribers: t.p.northover, llvm-commits, aemerson

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250826 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 13:14:52 +00:00
Artyom Skrobov
42c2a81d51 Combining DIV+REM->DIVREM doesn't belong in LegalizeDAG; move it over into DAGCombiner.
Summary:
In addition to moving the code over, this patch amends the DIV,REM -> DIVREM
combining to run on all affected nodes at once: if the nodes are converted
to DIVREM one at a time, then the resulting DIVREM may get legalized by the
backend into something target-specific that we won't be able to recognize
and correlate with the remaining nodes.

The motivation is to "prepare terrain" for D13862: when we set DIV and REM
to be legalized to libcalls, instead of the DIVREM, we otherwise lose the
ability to combine them together. To prevent this, we need to take the
DIV,REM -> DIVREM combining out of the lowering stage.

Reviewers: RKSimon, eli.friedman, rengolin

Subscribers: john.brawn, rengolin, llvm-commits

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250825 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 13:06:02 +00:00
Igor Breger
7bbbc5ccde AVX512: Implemented encoding and intrinsics for VPBROADCASTB/W/D/Q instructions.
Differential Revision: http://reviews.llvm.org/D13884

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250819 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 11:56:42 +00:00
Andrea Di Biagio
eb09365c84 [x86] Fix AVX maskload/store intrinsic prototypes.
The mask value type for maskload/maskstore GCC builtins is never a vector of
packed floats/doubles.

This patch fixes the following issues:
1. The mask argument for builtin_ia32_maskloadpd and builtin_ia32_maskstorepd
   should be of type llvm_v2i64_ty and not llvm_v2f64_ty.
2. The mask argument for builtin_ia32_maskloadpd256 and
   builtin_ia32_maskstorepd256 should be of type llvm_v4i64_ty and not
   llvm_v4f64_ty.
3. The mask argument for builtin_ia32_maskloadps and builtin_ia32_maskstoreps
   should be of type llvm_v4i32_ty and not llvm_v4f32_ty.
4. The mask argument for builtin_ia32_maskloadps256 and
   builtin_ia32_maskstoreps256 should be of type llvm_v8i32_ty and not
   llvm_v8f32_ty.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250817 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 11:20:13 +00:00
Keno Fischer
bb5ca273e0 Fix missing INITIALIZE_PASS_DEPENDENCY for AddressSanitizer
Summary: In r231241, TargetLibraryInfoWrapperPass was added to
`getAnalysisUsage` for `AddressSanitizer`, but the corresponding
`INITIALIZE_PASS_DEPENDENCY` was not added.

Reviewers: dvyukov, chandlerc, kcc

Subscribers: kcc, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250813 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 10:13:55 +00:00
Manuel Klimek
1df0e84c25 Make class final to pacify -Wnon-virtual-dtor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250805 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 08:21:01 +00:00
Matt Arsenault
d2643e2ff9 AMDGPU: Add MachineInstr overloads for instruction format tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250797 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 04:35:43 +00:00
Lang Hames
7233876104 [Orc] Make CompileOnDemandLayer::findSymbol call BaseLayer::findSymbol if no
symbol definition is found in the logical dylibs.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250796 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 04:35:02 +00:00
Matt Arsenault
08e1ec066d AMDGPU: Stop reserving v[254:255]
This wasn't doing anything useful. They weren't explicitly used
anywhere, and the RegScavenger ignores reserved registers.

This for some reason caused a random scheduling change in the test.
Getting the check lines to pass is too frustrating, and there's probably
not too much value in checking the vector case's operands N times.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250794 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-20 03:59:58 +00:00