149046 Commits

Author SHA1 Message Date
Zachary Turner
337b2d88de [CodeView] Add a random access type visitor.
This adds a visitor that is capable of accessing type
records randomly and caching intermediate results that it
learns about during partial linear scans.  This yields
amortized O(1) access to a type stream even though type
streams cannot normally be indexed.

Differential Revision: https://reviews.llvm.org/D33009

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302936 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 19:18:12 +00:00
Geoff Berry
decf0031c9 [AArch64][Falkor] Refine modeling of multiply accumulate forwarding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302933 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 18:57:10 +00:00
Craig Topper
b09b50cbe4 [APInt] Add an assert to check for divide by zero in udivrem. NFC
udiv and urem already had the same assert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302931 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 18:19:01 +00:00
Craig Topper
e2c79618d4 [APInt] Remove unnecessary checks of rhsWords==1 with lhsWords==1 from udiv and udivrem. NFC
At this point in the code rhsWords is guaranteed to be non-zero and less than or equal to lhsWords. So if lhsWords is 1, rhsWords must also be 1. urem alread had the check removed so this makes all 3 consistent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302930 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 18:18:57 +00:00
Tom Stellard
593d52aaad AMDGPU: Add lit.local.cfg to disable global-isel tests when global-isel is disabled
This should fix bots broken by r302919.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302928 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 17:59:30 +00:00
Simon Pilgrim
e52c285693 Strip trailing whitespace. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302927 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 17:42:36 +00:00
Craig Topper
d49344495d [KnownBits] Add bit counting methods to KnownBits struct and use them where possible
This patch adds min/max population count, leading/trailing zero/one bit counting methods.

The min methods return answers based on bits that are known without considering unknown bits. The max methods give answers taking into account the largest count that unknown bits could give.

Differential Revision: https://reviews.llvm.org/D32931

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302925 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 17:20:30 +00:00
Reid Kleckner
43ed711041 [codeview] Fix assertion failure introduced in r295354 refactoring
CodeViewDebug sets Asm to nullptr to disable debug info generation.  You
can get a .ll file like no-cus.ll from 'clang -gcodeview -g0', which
happens in the ubsan test suite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302923 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 17:02:40 +00:00
Galina Kistanova
5bca41ca50 Make sure we have actually written what is expected by the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302922 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 17:00:13 +00:00
Tom Stellard
f366f4cc57 AMDGPU/GlobalISel: Mark 32-bit integer constants as legal
Reviewers: arsenm

Reviewed By: arsenm

Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, rovka, kristof.beyls, igorb, dstuttard, tpr, t-tye, llvm-commits

Differential Revision: https://reviews.llvm.org/D33115

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302919 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 16:46:46 +00:00
Craig Topper
f0dc104a36 [APInt] Use MathExtras.h BitsToFloat/Double and Float/DoubleToBits instead of type punning through a union
The functions in MathExtras.h uses a safer memcpy instead of going through a union.

Differential Revision: https://reviews.llvm.org/D33116

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302916 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 16:28:21 +00:00
James Y Knight
c5d0c88a98 [SPARC] Support 'f' and 'e' inline asm constraints.
Based on patch by Patrick Boettcher and Chris Dewhurst.

Differential Revision: https://reviews.llvm.org/D29116

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302911 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 15:59:10 +00:00
Sanjay Patel
0ee4a484f7 [x86] add tests for potential vector narrowing optimization (PR32790)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302910 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 15:56:39 +00:00
Davide Italiano
aec267d42b [LoopUnroll] Fix a test. REQUIRE should be REQUIRES.
Found by inspection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302909 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 15:30:58 +00:00
Davide Italiano
343d3f3e44 [NewGVN] Improve debug output a bit. NFCI.
While debugging a predicate info problem, I noticed this was missing
a newline, making the debug output slightly less readable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302908 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 15:28:12 +00:00
Simon Pilgrim
f50e2288e0 [DAGCombine] Use SelectionDAG::getAnyExtOrTrunc helper. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302907 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 15:26:50 +00:00
Davide Italiano
6b14cfa286 [NewGVN] Format an assertion and fix a typo. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302906 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 15:25:56 +00:00
Davide Italiano
de15f17e31 [NewGVN] Don't incorrectly reset the memory leader.
This code was missing a check for stores, so we were thinking the
congruency class didn't have any memory members, and reset the
memory leader.

Differential Revision:  https://reviews.llvm.org/D33056

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302905 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 15:22:45 +00:00
Simon Pilgrim
36dcf131ef [DAGCombine] Use SelectionDAG::getZExtOrTrunc helper. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302897 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 13:22:12 +00:00
Simon Pilgrim
43d171f539 Use SDValue::getOperand() helper. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302896 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 13:20:24 +00:00
Simon Pilgrim
cb603d4327 Use SDValue::getOperand() helper. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302894 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 13:08:45 +00:00
Leslie Zhai
6920a456bc [AVR] Migrate to new StructType::get owing to Supress all uses of LLVM_END_WITH_NULL
Reviewers: dylanmckay, jroelofs, RKSimon, serge-sans-paille

Reviewed By: serge-sans-paille

Differential Revision: https://reviews.llvm.org/D33119


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302885 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 09:08:03 +00:00
Serguei Katkov
0a65c23b0e [BPI] Ignore remainder while distributing the remaining probability from unreachanble
This is a follow up patch for https://reviews.llvm.org/rL300440
to address a comment.

To make implementation to be consistent with other cases we just
ignore the remainder after distribution of remaining probability between
reachable edges.

If we reduced the probability of some edges coming to unreachable
blocks we should distribute the remaining part across other edges
coming to reachable blocks to satisfy the condition that sum of all
probabilities should be equal to one. If this remaining part is not
divided by number of "reachable" edges then we get this remainder.
This remainder probability should be pretty small. Other cases just ignore
if the sum of probabilities is not equal to one so we do the same.

Reviewers: chandlerc, sanjoy, vsk, junbuml, reames
Reviewed By: reames
Subscribers: reames, llvm-commits
Differential Revision: https://reviews.llvm.org/D32124


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302883 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 07:50:06 +00:00
Craig Topper
2dfa410c1d [APInt] Fix a case where udivrem might delete and create a new allocation instead of reusing the original.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302882 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 07:21:09 +00:00
George Rimar
b62f430846 [Support/Compiler.h] - Use gnu::fallthrough for LLVM_FALLTHROUGH when available.
I tried to compile LLD using GCC 7.1.0 and got warnings like 
"warning: this statement may fall through [-Wimplicit-fallthrough=]"
(some more details are here: D32907)

GCC's __cplusplus value is 201402L by default, so macro expands to nothing,
though GCC 7 has support for [[fallthrough]].

Patch uses gnu::fallthrough when it is available and fixes warning I am observing.

Initial idea of way to fix belongs to Davide Italiano.

Differential revision: https://reviews.llvm.org/D33036

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302878 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 06:53:48 +00:00
Jonas Paulsson
668e541eed Handle a COPY with undef source operand in LowerCopy()
Llvm-stress discovered that a COPY may end up in ExpandPostRA::LowerCopy()
with an undef source operand. It is not possible for the target to handle
this, as this flag is not passed to TII->copyPhysReg().

This patch solves this by treating such a COPY as an identity COPY.

Review: Matthias Braun
https://reviews.llvm.org/D32892

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302877 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 06:32:03 +00:00
Mikael Holmen
e43c10d201 [IfConversion] Keep the CFG updated incrementally in IfConvertTriangle
Summary:
Instead of using RemoveExtraEdges (which uses analyzeBranch, which cannot
always be trusted) at the end to fixup the CFG we keep the CFG updated as
we go along and remove or add branches and merge blocks.

This way we won't have any problems if the involved MBBs contain
unanalyzable instructions.

This fixes PR32721.

In that case we had a triangle

   EBB
   | \
   |  |
   | TBB
   |  /
   FBB

where FBB didn't have any successors at all since it ended with an
unconditional return. Then TBB and FBB were be merged into EBB, but EBB
would still keep its successors, and the use of analyzeBranch and
CorrectExtraCFGEdges wouldn't help to remove them since the return
instruction is not analyzable (at least not on ARM).

Reviewers: kparzysz, iteratee, MatzeB

Reviewed By: iteratee

Subscribers: aemerson, rengolin, javed.absar, llvm-commits

Differential Revision: https://reviews.llvm.org/D33037

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302876 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 06:28:58 +00:00
Chandler Carruth
1dfa6e7374 [PM/Unswitch] Teach the new simple loop unswitch to handle loop
invariant PHI inputs and to rewrite PHI nodes during the actual
unswitching.

The checking is quite easy, but rewriting the PHI nodes is somewhat
surprisingly challenging. This should handle both branches and switches.

I think this is now a full featured trivial unswitcher, and more full
featured than the trivial cases in the old pass while still being (IMO)
somewhat simpler in how it works.

Next up is to verify its correctness in more widespread testing, and
then to add non-trivial unswitching.

Thanks to Davide and Sanjoy for the excellent review. There is one
remaining question that I may address in a follow-up patch (see the
review thread for details) but it isn't related to the functionality
specifically.

Differential Revision: https://reviews.llvm.org/D32699

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302867 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 02:19:59 +00:00
Craig Topper
34adcf1189 [APInt] Add a utility method to change the bit width and storage size of an APInt.
Summary:
This adds a resize method to APInt that manages deleting/allocating storage for an APInt and changes its bit width. Use this to simplify code in copy assignment and divide.

The assignment code in particular was overly complicated. Treating every possible case as a separate implementation. I'm also pretty sure the clearUnusedBits code at the end was unnecessary. Since we always copying whole words from the source APInt. All unused bits should be clear in the source.

Reviewers: hans, RKSimon

Reviewed By: RKSimon

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D33073

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302863 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 01:46:01 +00:00
David Blaikie
054c35d6a2 DWARF: Avoid cross-CU references under Fission
Turns out that the Fission/Split DWARF package format (DWP) is currently
insufficient to handle cross-CU (ref_addr) references. So for now,
duplicate any debug info needed in these situations:
* inlined_subroutine's abstract_origin
* inlined variable's abstract_origin
* types

Keep the ref_addr behavior in general, including in the split DWARF
inline debug info that can be emitted into the object files for online
symbolication.
Keep a flag to use the old (ref_addr) behavior for testing ways of
addressing this limitation in the DWP tool (& for those not using DWP
packaging).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302858 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 01:13:45 +00:00
Dean Michael Berris
022fc8e3fd [XRay][lib] Support and temporarily skip over CustomEvent records
Summary:
In D30630 we will start writing custom event records. To avoid breaking
the tools that read the FDR mode records, we skip over these records.
To support these custom event records more effectively, we will have to
expose them in the trace loading API. Those changes will be forthcoming.

Reviewers: kpw, pelikan

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D33032

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302856 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 01:06:41 +00:00
Reid Kleckner
4dc3e3a6c2 [git-llvm] Fix svn:eol-style issue for one-file patches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302853 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-12 00:10:19 +00:00
Peter Collingbourne
517aac8f47 CallGraph: Remove almost-unused field 'Root'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302852 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 23:59:05 +00:00
Dehao Chen
e26e940120 Change sample profile writer to make it deterministic.
Summary: This patch changes the function profile output order to be deterministic. In order to make it easier to understand, hottest functions (with most total samples) is ordered first.

Reviewers: dnovillo, davidxl

Reviewed By: dnovillo

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D33111

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302851 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 23:43:44 +00:00
Teresa Johnson
7b29966a93 Restrict call metadata based hotness detection to Sample PGO mode
Summary:
Don't use the metadata on call instructions for determining hotness
unless we are in sample PGO mode, where it is needed because profile
counts are not accurate. In instrumentation mode this is not necessary
and does more harm than good when calls have VP metadata that hasn't
been properly scaled after transformations or dropped after constant
prop based devirtualization (both should be fixed, but we don't need
to do this in the first place for instrumentation PGO).

This required adjusting a number of tests to distinguish between sample
and instrumentation PGO handling, and to add in profile summary metadata
so that getProfileCount can get the summary.

Reviewers: davidxl, danielcdh

Subscribers: aemerson, rengolin, mehdi_amini, Prazek, llvm-commits

Differential Revision: https://reviews.llvm.org/D32877

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302844 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 23:18:05 +00:00
Reid Kleckner
c627bffdd6 Issue diagnostics when returning FP values on x86_64 without SSE1/2
Avoid using report_fatal_error, because it will ask the user to file a
bug. If the user attempts to disable SSE on x86_64 and them use floating
point, that's a bug in their code, not a bug in the compiler.

This is just a start. There are other ways to crash the backend in this
configuration, but they should be updated to follow this pattern.

Differential Revision: https://reviews.llvm.org/D27522

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302835 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 22:43:02 +00:00
Guozhi Wei
d3fe6038ab [PPC] Change the register constraint of the first source operand of instruction mtvsrdd to g8rc_nox0
According to Power ISA V3.0 document, the first source operand of mtvsrdd is constant 0 if r0 is specified. So the corresponding register constraint should be g8rc_nox0.

This bug caused wrong output generated by 401.bzip2 when -mcpu=power9 and fdo are specified.

Differential Revision: https://reviews.llvm.org/D32880



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302834 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 22:17:35 +00:00
Aditya Nandakumar
164adda130 [GISel]: Remove unused lambda captures. NFC
https://reviews.llvm.org/D33085

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302831 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 21:56:51 +00:00
Easwaran Raman
d70d2ba0c1 Decrease inlinecold-threshold to 45
I ran the test-suite (including SPEC 2006) in PGO mode comparing cold
thresholds of 225 and 45. Here are some stats on the text size:

Out of 904 tests that ran, 197 see a change in text size. The average
text size reduction (of all the 904 binaries) is 1.07%. Of the 197
binaries, 19 see a text size increase, as high as 18%, but most of them
are small single source benchmarks. There are 3 multisource benchmarks
with a >0.5% size increase (0.7, 1.3 and 2.1 are their % increases). On
the other side of the spectrum, 31 benchmarks see >10% size reduction
and 6 of them are MultiSource.

I haven't run the test-suite with other values of inlinecold-threshold.
Since we have a cold callsite threshold of 45, I picked this value.

Differential revision: https://reviews.llvm.org/D33106

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302829 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 21:36:28 +00:00
Reid Kleckner
cbc4dcf053 De-virtualize TerminatorInst successor accessors
Use the same switch technique to eliminate virtual successor accessors
from TerminatorInst. Extracted from D31261.

NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302827 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 21:26:55 +00:00
Reid Kleckner
c130a20cf3 De-virtualize GlobalValue
The erase/remove from parent methods now use a switch table to remove
themselves from their appropriate parent ilist.

The copyAttributesFrom method is now completely non-virtual, since we
only ever copy attributes from a global of the appropriate type.

Pre-requisite to de-virtualizing Value to save a vptr
(https://reviews.llvm.org/D31261).

NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302823 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 21:14:29 +00:00
Chad Rosier
2d534b8ab2 [AArch64][MachineCombine] Fold FNMUL+FSUB -> FNMADD.
Differential Revision: http://reviews.llvm.org/D33101.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302822 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 20:07:24 +00:00
Davide Italiano
26ea63b5ba [AMDGPU] Placate unused variable warning in release builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302821 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 19:58:52 +00:00
Vadzim Dambrouski
29165da1cd [MSP430] Generate EABI-compliant libcalls
Updates the MSP430 target to generate EABI-compatible libcall names.
As a byproduct, adjusts the hardware multiplier options available in
the MSP430 target, adds support for promotion of the ISD::MUL operation
for 8-bit integers, and correctly marks R11 as used by call instructions.

Patch by Andrew Wygle.

Differential Revision: https://reviews.llvm.org/D32676

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302820 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 19:56:14 +00:00
Davide Italiano
ded71be5b1 [LiveVariables] Switch Kill/Defs sets to be DenseSet(s).
The testcase in PR32984 shows a non linear compile time increase
after a change that made the LoopUnroll pass more aggressive
(increasing the threshold).

My profiling shows all the time of PHI elimination goes to
llvm::LiveVariables::addNewBlock. This is because we keep
Defs/Kills registers in a SmallSet and vfind(const T &V); is O(N).

Switching to a DenseSet reduces the time spent in the pass from
297 seconds to 97 seconds. Profiling still shows a lot of time is
spent iterating the data structure, so I guess there's room for
improvement.

Dan tells me GCC uses real set operations for live registers and
it takes no-time on this testcase. Matthias points out we might
want to switch all this to LiveIntervalAnalysis so it's not entirely
sure if a rewrite is worth it.

Differential Revision:  https://reviews.llvm.org/D33088

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302819 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 19:37:43 +00:00
Craig Topper
483eed9183 [APInt] Remove an APInt copy from the return of APInt::multiplicativeInverse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302816 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 18:40:53 +00:00
Craig Topper
3daa11c74b [APInt] Fix typo in comment. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302815 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 17:57:43 +00:00
Matt Arsenault
9f4e5a06c6 AMDGPU: Remove tfe bit from flat instruction definitions
We don't use it and it was removed in gfx9, and the encoding
bit repurposed.

Additionally actually using it requires changing the output register
class, which wasn't done anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302814 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 17:38:33 +00:00
Matt Arsenault
2bbb56fd75 AMDGPU: Pull fneg out of extract_vector_elt
This allows folding source modifiers in more f16 cases.
Makes it easier to select per-component packed neg modifiers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302813 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 17:26:25 +00:00
Stanislav Mekhanoshin
87fd46af90 [AMDGPU] Fix incorrect register pressure calculation
Earlier fix D32572 introduced a bug where live-ins were calculated
for basic block instead of scheduling region. This change fixes it.

Differential Revision: https://reviews.llvm.org/D33086

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302812 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-11 17:16:55 +00:00