Piotr Padlewski [Tue, 15 Sep 2015 18:32:14 +0000 (18:32 +0000)]
Introducing llvm.invariant.group.barrier intrinsic
For more info for what reason it was invented, goto:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
invariant.group.barrier:
http://reviews.llvm.org/D12310
docs:
http://reviews.llvm.org/D11399
CodeGenPrepare:
http://reviews.llvm.org/D12875
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247711
91177308-0d34-0410-b5e6-
96231b3b80d8
Quentin Colombet [Tue, 15 Sep 2015 18:19:39 +0000 (18:19 +0000)]
[ShrinkWrapping] Fix an infinite loop while looking for restore point.
This may happen when the input program itself contains an infinite loop with no
exit block. In that case, we would fail to find a block post-dominating the loop
such that this block is outside of the loop.
This fixes PR24823.
Working on reducing the test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247710
91177308-0d34-0410-b5e6-
96231b3b80d8
Arch D. Robison [Tue, 15 Sep 2015 17:51:59 +0000 (17:51 +0000)]
Broaden optimization of fcmp ([us]itofp x, constant) by instcombine.
The patch extends the optimization to cases where the constant's
magnitude is so small or large that the rounding of the conversion
is irrelevant. The "so small" case includes negative zero.
Differential review: http://reviews.llvm.org/D11210
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247708
91177308-0d34-0410-b5e6-
96231b3b80d8
Igor Laevsky [Tue, 15 Sep 2015 17:51:50 +0000 (17:51 +0000)]
[CorrelatedValuePropagation] Infer nonnull attributes
LazuValueInfo can prove that value is nonnull based on the context information.
Make use of this ability to infer nonnull attributes for the call arguments.
Differential Revision: http://reviews.llvm.org/D12836
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247707
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcello Maggioni [Tue, 15 Sep 2015 17:22:52 +0000 (17:22 +0000)]
[NaryReassociate] Add support for Mul instructions
This patch extends the current pass by handling
Mul instructions as well.
Patch by: Volkan Keles (vkeles@apple.com)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247705
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Tue, 15 Sep 2015 16:17:27 +0000 (16:17 +0000)]
Revert r247692: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.
Eric has replied and has demanded the patch be reverted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247702
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Tue, 15 Sep 2015 15:26:25 +0000 (15:26 +0000)]
80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC80-cols; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247700
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Tue, 15 Sep 2015 15:24:42 +0000 (15:24 +0000)]
more space; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247699
91177308-0d34-0410-b5e6-
96231b3b80d8
Zoran Jovanovic [Tue, 15 Sep 2015 15:21:27 +0000 (15:21 +0000)]
[mips][microMIPS] Fix an issue with disassembling lwm32 instruction
Fixed microMIPS disassembler crash on test case generated by llvm-mc-fuzzer.
Differential Revision: http://reviews.llvm.org/D12881
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247698
91177308-0d34-0410-b5e6-
96231b3b80d8
Zoran Jovanovic [Tue, 15 Sep 2015 15:06:26 +0000 (15:06 +0000)]
[mips] Add support for branch-likely pseudo-instructions
Differential Revision: http://reviews.llvm.org/D10537
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247697
91177308-0d34-0410-b5e6-
96231b3b80d8
Ulrich Weigand [Tue, 15 Sep 2015 14:27:46 +0000 (14:27 +0000)]
[SystemZ] Fix assertion failure in tryBuildVectorShuffle
Under certain circumstances, tryBuildVectorShuffle would attempt to
create a BUILD_VECTOR node with an invalid combination of types.
This happened when one of the components of the original BUILD_VECTOR
was itself a TRUNCATE node. That TRUNCATE was stripped off during
intermediate processing to simplify code, but when adding the node
back to the result vector, we still need it to get the type right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247694
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Tue, 15 Sep 2015 14:08:28 +0000 (14:08 +0000)]
Re-commit r247683: Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.
Summary:
This is the first patch in the series to migrate Triple's (which are ambiguous)
to TargetTuple's (which aren't).
For the moment, TargetTuple simply passes all requests to the Triple object it
holds. Once it has replaced Triple, it will start to implement the interface in
a more suitable way.
This change makes some changes to the public C++ API. In particular,
InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer()
now take TargetTuples instead of Triples. The other public C++ API's have
been left as-is for the moment to reduce patch size.
This commit also contains a trivial patch to clang to account for the C++ API
change. Thanks go to Pavel Labath for fixing LLDB for me.
Reviewers: rengolin
Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin
Differential Revision: http://reviews.llvm.org/D10969
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247692
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Tue, 15 Sep 2015 13:46:21 +0000 (13:46 +0000)]
Revert r247684 - Replace Triple with a new TargetTuple ...
LLDB needs to be updated in the same commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247686
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Tue, 15 Sep 2015 13:17:40 +0000 (13:17 +0000)]
Replace Triple with a new TargetTuple in MCTargetDesc/* and related. NFC.
Summary:
This is the first patch in the series to migrate Triple's (which are ambiguous)
to TargetTuple's (which aren't).
For the moment, TargetTuple simply passes all requests to the Triple object it
holds. Once it has replaced Triple, it will start to implement the interface in
a more suitable way.
This change makes some changes to the public C++ API. In particular,
InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer()
now take TargetTuples instead of Triples. The other public C++ API's have
been left as-is for the moment to reduce patch size.
This commit also contains a trivial patch to clang to account for the C++ API
change.
Reviewers: rengolin
Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin
Differential Revision: http://reviews.llvm.org/D10969
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247683
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Tue, 15 Sep 2015 12:27:06 +0000 (12:27 +0000)]
Fix namespace indentation and missing blank lines before 'public:' in *MCAsmInfo.h. NFC.
This is to reduce noise in a following commit.
Also fixes a couple missing spaces before the reference operator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247679
91177308-0d34-0410-b5e6-
96231b3b80d8
James Molloy [Tue, 15 Sep 2015 10:44:06 +0000 (10:44 +0000)]
[GlobalsAA] Disable globals-aa by default
Several issues have been found with it - disabling in the meantime.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247674
91177308-0d34-0410-b5e6-
96231b3b80d8
Zoran Jovanovic [Tue, 15 Sep 2015 10:05:10 +0000 (10:05 +0000)]
[mips][microMIPS] Implement CACHEE and PREFE instructions for microMIPS32r6
Differential Revision: http://reviews.llvm.org/D11632
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247670
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Tue, 15 Sep 2015 10:02:16 +0000 (10:02 +0000)]
[mips] Added support for various EVA ASE instructions.
Summary:
Added support for the following instructions:
CACHEE, LBE, LBUE, LHE, LHUE, LWE, LLE, LWLE, LWRE, PREFE,
SBE, SHE, SWE, SCE, SWLE, SWRE, TLBINV, TLBINVF
This required adding some infrastructure for the EVA ASE.
Patch by Scott Egerton.
Reviewers: vkalintiris, dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11139
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247669
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Bieneman [Tue, 15 Sep 2015 02:15:53 +0000 (02:15 +0000)]
[CMake] Rename target->dest as per feedback from Chapuni on reviews.llvm.org/D12864
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247658
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjoy Das [Tue, 15 Sep 2015 01:42:48 +0000 (01:42 +0000)]
[PlaceSafepoints] Make the width of a counted loop settable.
Summary:
This change lets a `PlaceSafepoints` client change how wide the trip
count of a loop has to be for the loop to be considerd "counted", via
`CountedLoopTripWidth`. It also removes the boolean `SkipCounted` flag
and the `upperTripBound` constant -- we can get the old behavior of
`SkipCounted` == `false` by setting `CountedLoopTripWidth` to `13` (2 ^
13 == 8192).
Reviewers: reames
Subscribers: llvm-commits, sanjoy
Differential Revision: http://reviews.llvm.org/D12789
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247656
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 15 Sep 2015 00:55:19 +0000 (00:55 +0000)]
[WebAssembly] Implement int64-to-int32 conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247649
91177308-0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Mon, 14 Sep 2015 23:27:26 +0000 (23:27 +0000)]
dsymutil: Remove the now obsolete RelocMgr argument from cloneDIE. (NFC)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247636
91177308-0d34-0410-b5e6-
96231b3b80d8
Vedant Kumar [Mon, 14 Sep 2015 23:26:36 +0000 (23:26 +0000)]
[llvm-cov] Disable name and path truncation
Change the output of llvm-cov s.t it does not truncate function names
and file paths when printing coverage reports.
Differential Revision: http://reviews.llvm.org/D12647
rdar://
22531141
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247635
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Bieneman [Mon, 14 Sep 2015 23:09:06 +0000 (23:09 +0000)]
[CMake] Refactor and cleanup generating and installing symlinks to tools.
Summary: This change generalizes symlink generation and makes symlinks to tools obey LLVM_TOOLCHAIN_TOOLS. It makes it so that if you exclude llvm-ar from LLVM_TOOLCHAIN_TOOLS you don't end up with broken symlinks to llvm-lib and llvm-ranlib in your install.
Reviewers: bogner, chapuni, rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D12864
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247632
91177308-0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Mon, 14 Sep 2015 22:10:22 +0000 (22:10 +0000)]
DwarfDebug: Emit dwo_id+dwo_name for DICompileUnits that provide a dwoId.
For module debugging clang emits prefabricated skeleton compile units
that can be recognized by a nonzero dwoId.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247626
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Mon, 14 Sep 2015 21:47:27 +0000 (21:47 +0000)]
[opaque pointer types] Add an explicit value type to GlobalObject
This is needed by all GlobalObjects (GlobalAlias, Function,
GlobalVariable), see the GlobalObject::getValueType which is used in
many places. If at some point that can be removed, then we can remove
this member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247621
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthias Braun [Mon, 14 Sep 2015 21:06:37 +0000 (21:06 +0000)]
RegisterPressure: constify getRegSetPressureAtPos()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247616
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Mon, 14 Sep 2015 20:29:26 +0000 (20:29 +0000)]
[opaque pointer types] Switch a few cases of getElementType over, since I had them lying around anyway
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247610
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Sep 2015 19:44:29 +0000 (19:44 +0000)]
Make AsmPrinter::EmitJumpTableInfo virtual
Targets that have non-traditional jump table mechanisms may need to do
something substantially different for jump tables than what
AsmPrinter::EmitJumpTableInfo does. This patch makes that function
virtual so that targets can override it.
Differential Revision: http://reviews.llvm.org/D12786
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247604
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Bieneman [Mon, 14 Sep 2015 18:36:40 +0000 (18:36 +0000)]
[CMake] Add llvm-ar subdirectory explicitly.
This is required because ExternalProject_Add requires all targets specified in the DEPENDS argument must exist before calling ExternalProject_Add.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247592
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthias Braun [Mon, 14 Sep 2015 18:24:15 +0000 (18:24 +0000)]
RegisterPressure: Simplify close{Top|Bottom}()
- There are no duplicate registers in LiveRegs list we are copying from
and so we do not need to sort the registers.
- Simply use SmallVector::apend instead of a loop between begin() and end()
with push_back().
Differential Revision: http://reviews.llvm.org/D12813
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247588
91177308-0d34-0410-b5e6-
96231b3b80d8
Chen Li [Mon, 14 Sep 2015 18:10:43 +0000 (18:10 +0000)]
[InstCombineCalls] Use isKnownNonNullAt() to check nullness of passing arguments at callsite
Summary: This patch replaces isKnownNonNull() with isKnownNonNullAt() when checking nullness of passing arguments at callsite. In this way it can handle cases where the argument does not have nonnull attribute but has a dominating null check from the CFG. It also adds assertions in isKnownNonNull() and isKnownNonNullFromDominatingCondition() to make sure the value checked is pointer type (as defined in LLVM document). These assertions might trip failures in things which are not covered under llvm/test, but fixes should be pretty obvious.
Reviewers: reames
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D12779
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247587
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Mon, 14 Sep 2015 18:01:59 +0000 (18:01 +0000)]
Revert "[opaque pointer type] Pass GlobalAlias the actual pointer type rather than decomposing it into pointee type + address space"
This was a flawed change - it just caused the getElementType call to be
deferred until later, when we really need to remove it. Now that the IR
for GlobalAliases has been updated, the root cause is addressed that way
instead and this change is no longer needed (and in fact gets in the way
- because we want to pass the pointee type directly down further).
Follow up patches to push this through GlobalValue, bitcode format, etc,
will come along soon.
This reverts commit 236160.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247585
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Mon, 14 Sep 2015 17:10:01 +0000 (17:10 +0000)]
[llvm-mc] Better error handling in ENOENT case + test.
This is a follow up to r247518.
As a general note, I think we could do a much better job testing for
error conditions in tools. I already anticipated in a previous mail,
but while implementing this I noticed that the code coverage we have
for error checking is pretty low. I can arbitrarily remove checks from
several tools and the suite still passes.
Differential Revision: http://reviews.llvm.org/D12846
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247582
91177308-0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Mon, 14 Sep 2015 16:46:10 +0000 (16:46 +0000)]
dsymutil: Factor out the DIE cloning into a DIECloner class. (NFC)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247577
91177308-0d34-0410-b5e6-
96231b3b80d8
Jun Bum Lim [Mon, 14 Sep 2015 16:19:52 +0000 (16:19 +0000)]
Improve ISel using across lane min/max reduction
In vectorized integer min/max reduction code, the final "reduce" step
is sub-optimal. In AArch64, this change wll combine :
%svn0 = vector_shuffle %0, undef<2,3,u,u>
%smax0 = smax %0, svn0
%svn3 = vector_shuffle %smax0, undef<1,u,u,u>
%sc = setcc %smax0, %svn3, gt
%n0 = extract_vector_elt %sc, #0
%n1 = extract_vector_elt %smax0, #0
%n2 = extract_vector_elt $smax0, #1
%result = select %n0, %n1, n2
becomes :
%1 = smaxv %0
%result = extract_vector_elt %1, 0
This change extends r246790.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247575
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Mon, 14 Sep 2015 15:57:24 +0000 (15:57 +0000)]
[mips] Unified the MipsMemSimm9GPRAsmOperand and MipsMemSimm9AsmOperand operands, NFC.
Summary:
These operands had the same purpose, however the MipsMemSimm9GPRAsmOperand
operand was only for micromips32r6 and the MipsMemSimm9AsmOperand did not
have a ParserMatchClass.
Patch by Scott Egerton
Reviewers: vkalintiris, dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D12730
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247573
91177308-0d34-0410-b5e6-
96231b3b80d8
JF Bastien [Mon, 14 Sep 2015 15:37:48 +0000 (15:37 +0000)]
[MergeFuncs] Fix bug in merging GetElementPointers
GetElementPointers must have the first argument's type compared
for structural equivalence. Previously the code erroneously compared the
pointer's type, but this code was dead because all pointer types (of the
same address space) are the same. The pointee must be compared instead
(using the type stored in the GEP, not from the pointer type which will
be erased anyway).
Author: jrkoenig
Reviewers: dschuff, nlewycky, jfb
Subscribers: nlewycky, llvm-commits
Differential revision: http://reviews.llvm.org/D12820
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247570
91177308-0d34-0410-b5e6-
96231b3b80d8
John Brawn [Mon, 14 Sep 2015 15:19:41 +0000 (15:19 +0000)]
[ARM] Extract shifts out of multiply-by-constant
Turning (op x (mul y k)) into (op x (lsl (mul y k>>n) n)) is beneficial when
we can do the lsl as a shifted operand and the resulting multiply constant is
simpler to generate.
Do this by doing the transformation when trying to select a shifted operand,
as that ensures that it actually turns out better (the alternative would be to
do it in PreprocessISelDAG, but we don't know for sure there if extracting the
shift would allow a shifted operand to be used).
Differential Revision: http://reviews.llvm.org/D12196
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247569
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 14 Sep 2015 12:51:53 +0000 (12:51 +0000)]
Reformat partially.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247557
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 14 Sep 2015 12:51:47 +0000 (12:51 +0000)]
Reformat blank lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247556
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 14 Sep 2015 12:51:01 +0000 (12:51 +0000)]
Revert part of r247553, "[CMake] Reformat CLANG_TEST_DEPS." It was accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247555
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 14 Sep 2015 12:41:53 +0000 (12:41 +0000)]
[CMake] Reformat CLANG_TEST_DEPS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247553
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Atanasyan [Mon, 14 Sep 2015 11:18:22 +0000 (11:18 +0000)]
[mips] Remove redundant nested-name-specifier. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247547
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Atanasyan [Mon, 14 Sep 2015 11:18:03 +0000 (11:18 +0000)]
[mips] Save a copy of MipsABIInfo in the MipsTargetStreamer to escape a dangling pointer
The MipsTargetELFStreamer can receive ABI info from many sources. For example,
from the MipsAsmParser instance. Lifetime of the MipsAsmParser can be shorter
than MipsTargetELFStreamer's lifetime. In that case we get a dangling pointer
to MipsABIInfo.
Differential Revision: http://reviews.llvm.org/D12805
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247546
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 14 Sep 2015 11:14:39 +0000 (11:14 +0000)]
Whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247543
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 14 Sep 2015 06:16:44 +0000 (06:16 +0000)]
GlobalsAAResult: Try to fix crash.
DeletionCallbackHandle holds GAR in its creation. It assumes;
- It is registered as CallbackVH. It should not be moved in its life.
- Its parent, GAR, may be moved.
To move list<DeletionCallbackHandle> GlobalsAAResult::Handles,
GAR must be updated with the destination in GlobalsAAResult(&&).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247534
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 13 Sep 2015 18:01:25 +0000 (18:01 +0000)]
[TableGen] Use range-based for loops and make a helper function static. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247529
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 13 Sep 2015 18:01:20 +0000 (18:01 +0000)]
[TableGen] Simplify some code by using StringRef::find instead of std::find. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247528
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 13 Sep 2015 18:01:09 +0000 (18:01 +0000)]
[TableGen] Use 'size_t' instead of 'unsigned' to better match the argument types of addAsmOperand. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247527
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 13 Sep 2015 11:28:45 +0000 (11:28 +0000)]
[X86][MMX] Added shuffle decodes for MMX/3DNow! shuffles.
Added shuffle decodes for MMX PUNPCK + PSHUFW shuffles.
Added shuffle decodes for 3DNow! PSWAPD shuffles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247526
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 13 Sep 2015 08:23:27 +0000 (08:23 +0000)]
[FunctionAttrs] Move the malloc-like test to a static helper function
that could be used from a new pass manager. This one makes particular
sense as a static helper as it doesn't even need TLI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247525
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 13 Sep 2015 08:17:14 +0000 (08:17 +0000)]
[FunctionAttrs] Factor the logic to test for a known non-null return out
of a method and into a re-usable static helper. We can potentially use
this function from the implementation of a new pass manager oriented
version of the pass. Also add some better documentation of exactly what
the semantic model of this routine is (it isn't trivial) and use a more
modern naming convention for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247524
91177308-0d34-0410-b5e6-
96231b3b80d8
Elena Demikhovsky [Sun, 13 Sep 2015 08:15:15 +0000 (08:15 +0000)]
AVX-512: Fixed a bug in OR/XOR operations for 512-bit FP values on KNL.
KNL does not have VXORPS, VORPS for 512-bit values.
I use integer VPXOR, VPOR that actually do the same.
X86ISD::FXOR/FOR are generated as a result of FSUB combining.
Differential Revision: http://reviews.llvm.org/D12753
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247523
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 13 Sep 2015 08:03:23 +0000 (08:03 +0000)]
[FunctionAttrs] Make the per-function attribute inference a boring
static function rather than a method. It just needed access to
TargetLibraryInfo, and this way it can be easily reused between the
current FunctionAttrs implementation and any port for the new pass
manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247522
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 13 Sep 2015 07:50:43 +0000 (07:50 +0000)]
[FunctionAttrs] Collect utility functions as static helpers rather than
methods. They don't need anything from the class anyways.
Also, collect the declarations into the private section of the pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247521
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 13 Sep 2015 06:57:25 +0000 (06:57 +0000)]
Clean up doxygen comments in FunctionAttrs, promoting some non-doxygen
comments, deleting duplicate comments, moving comments to consistently
live on the definition since these are all really internal routines,
etc. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247520
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 13 Sep 2015 06:47:20 +0000 (06:47 +0000)]
Do some spring cleaning on FunctionAttrs.cpp with clang-format prior to
other refactorings and cleanups here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247519
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Sun, 13 Sep 2015 04:09:40 +0000 (04:09 +0000)]
[llvm-mc] More meaningful error if input file doesn't exist.
Before we just printed on stderr the program name. Now at least we
print the name of the file that doesn't exist. There's probably room
for improvement of error handling in llvm-mc (and the tools in general),
but still this is a step forward.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247518
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sat, 12 Sep 2015 19:47:50 +0000 (19:47 +0000)]
[x86] enable machine combiner reassociations for 128-bit vector logical integer insts (2nd try)
The changes in:
test/CodeGen/X86/machine-cp.ll
are just due to scheduling differences after some logic instructions were reassociated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247516
91177308-0d34-0410-b5e6-
96231b3b80d8
Ahmed Bougacha [Sat, 12 Sep 2015 18:51:23 +0000 (18:51 +0000)]
[CodeGen] Fix AtomicExpand invalidation issue caused by r247429.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247514
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sat, 12 Sep 2015 18:26:47 +0000 (18:26 +0000)]
[X86] Renamed lowerVectorShuffleAsUnpack NFCI.
Renamed to lowerVectorShuffleAsPermuteAndUnpack to make it clear that it lowers to more than just a UNPCK instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247513
91177308-0d34-0410-b5e6-
96231b3b80d8
Joerg Sonnenberger [Sat, 12 Sep 2015 16:30:32 +0000 (16:30 +0000)]
Don't use bashism/kshism of test ==. From Kamil Rytarowski.
Differential Revision: http://reviews.llvm.org/D12642
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247512
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sat, 12 Sep 2015 16:03:06 +0000 (16:03 +0000)]
[X86] Moved lowerVectorShuffleWithUNPCK earlier to make reuse easier. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247511
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sat, 12 Sep 2015 15:36:41 +0000 (15:36 +0000)]
[X86] Added i1 vector sextload tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247509
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sat, 12 Sep 2015 15:33:05 +0000 (15:33 +0000)]
[X86][FMA] Refreshed fma tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247508
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sat, 12 Sep 2015 15:27:31 +0000 (15:27 +0000)]
revert r247506; need to verify changes in existing tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247507
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sat, 12 Sep 2015 14:58:04 +0000 (14:58 +0000)]
[x86] enable machine combiner reassociations for 128-bit vector logical integer insts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247506
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sat, 12 Sep 2015 14:00:17 +0000 (14:00 +0000)]
Fixed unused variable warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247505
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sat, 12 Sep 2015 13:39:53 +0000 (13:39 +0000)]
[InstCombine] CVTPH2PS Vector Demanded Elements + Constant Folding
Improved InstCombine support for CVTPH2PS (F16C half 2 float conversion):
<4 x float> @llvm.x86.vcvtph2ps.128(<8 x i16>) - only uses the bottom 4 i16 elements for the conversion.
Added constant folding support.
Differential Revision: http://reviews.llvm.org/D12731
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247504
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sat, 12 Sep 2015 11:45:24 +0000 (11:45 +0000)]
[X86][SSE] Use general sext IR for (v)pmovsx stack folding tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247502
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sat, 12 Sep 2015 09:09:14 +0000 (09:09 +0000)]
[PM] Port SROA to the new pass manager.
In some ways this is a very boring port to the new pass manager as there
are no interesting analyses or dependencies or other oddities.
However, this does introduce the first good example of a transformation
pass with non-trivial state porting to the new pass manager. I've tried
to carve out patterns here to replicate elsewhere, and would appreciate
comments on whether folks like these patterns:
- A common need in the new pass manager is to effectively lift the pass
class and some of its state into a public header file. Prior to this,
LLVM used anonymous namespaces to provide "module private" types and
utilities, but that doesn't scale to cases where a public header file
is needed and the new pass manager will exacerbate that. The pattern
I've adopted here is to use the namespace-cased-name of the core pass
(what would be a module if we had them) as a module-private namespace.
Then utility and other code can be declared and defined in this
namespace. At some point in the future, we could even have
(conditionally compiled) code that used modules features when
available to do the same basic thing.
- I've split the actual pass run method in two in order to expose
a private method usable by the old pass manager to wrap the new class
with a minimum of duplicated code. I actually looked at a bunch of
ways to automate or generate these, but they are all quite terrible
IMO. The fundamental need is to extract the set of analyses which need
to cross this interface boundary, and that will end up being too
unpredictable to effectively encapsulate IMO. This is also
a relatively small amount of boiler plate that will live a relatively
short time, so I'm not too worried about the fact that it is boiler
plate.
The rest of the patch is totally boring but results in a massive diff
(sorry). It just moves code around and removes or adds qualifiers to
reflect the new name and nesting structure.
Differential Revision: http://reviews.llvm.org/D12773
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247501
91177308-0d34-0410-b5e6-
96231b3b80d8
Larisse Voufo [Sat, 12 Sep 2015 01:41:55 +0000 (01:41 +0000)]
Clean up: Refactoring the hardcoded value of 6 for FindAvailableLoadedValue()'s parameter MaxInstsToScan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247497
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruce Mitchener [Sat, 12 Sep 2015 01:17:08 +0000 (01:17 +0000)]
Fix typos.
Summary: This fixes a variety of typos in docs, code and headers.
Subscribers: jholewinski, sanjoy, arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D12626
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247495
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Sat, 12 Sep 2015 00:08:21 +0000 (00:08 +0000)]
Move asserts from PHINode::addIncoming to PHINode::setIncoming*
We had asserts in PHINode::addIncoming to check that the value types matched
the type of the PHI, and that the associated BB was not null. These did not
catch, however, later uses of setIncomingValue and setIncomingBlock (which are
called by addIncoming as well). Moving the asserts to PHINode::setIncoming*
provides better coverage. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247492
91177308-0d34-0410-b5e6-
96231b3b80d8
Adrian Prantl [Fri, 11 Sep 2015 23:45:30 +0000 (23:45 +0000)]
dsymutil: Factor out the relocation handling into a RelocationManager (NFC)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247490
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Fri, 11 Sep 2015 22:04:21 +0000 (22:04 +0000)]
[MC] Fix style bugs introduced in r247471. Reported by Rafael Espindola.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247483
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Fri, 11 Sep 2015 20:47:35 +0000 (20:47 +0000)]
[MC] Don't crash on division by zero.
Differential Revision: http://reviews.llvm.org/D12776
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247471
91177308-0d34-0410-b5e6-
96231b3b80d8
Yunzhong Gao [Fri, 11 Sep 2015 20:01:53 +0000 (20:01 +0000)]
Add a non-exiting diagnostic handler for LTO.
This is in order to give LTO clients a chance to do some clean-up before
terminating the process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247461
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Fri, 11 Sep 2015 19:29:18 +0000 (19:29 +0000)]
typo; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247454
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Fri, 11 Sep 2015 18:54:38 +0000 (18:54 +0000)]
Use function attribute "stackrealign" to decide whether stack
realignment should be forced.
With this commit, we can now force stack realignment when doing LTO and
do so on a per-function basis. Also, add a new cl::opt option
"stackrealign" to CommandFlags.h which is used to force stack
realignment via llc's command line.
Out-of-tree projects currently using -force-align-stack to force stack
realignment should make changes to attach the attribute to the functions
in the IR.
Differential Revision: http://reviews.llvm.org/D11814
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247450
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Bieneman [Fri, 11 Sep 2015 18:39:19 +0000 (18:39 +0000)]
[CMake] [Darwin] Need to set lto_library on CMAKE_MODULE_LINKER_FLAGS as well
This is a follow-on to r247308.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247443
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 11 Sep 2015 17:34:34 +0000 (17:34 +0000)]
[X86] Make sure startproc/endproc are paired
We used different conditions to determine if we should emit startproc vs
endproc. Use the same condition to ensure that they will always be
paired.
This fixes PR24374.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247435
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Fri, 11 Sep 2015 17:27:52 +0000 (17:27 +0000)]
[IR] Print the label operands of a catchpad like an invoke
The rest of the EH pads are fine, since they have at most one label and
take fewer operands for the personality.
Old catchpad vs. new:
%5 = catchpad [i8* bitcast (i32 ()* @"\01?filt$0@0@main@@" to i8*)] to label %__except.ret.10 unwind label %catchendblock.9
-----
%5 = catchpad [i8* bitcast (i32 ()* @"\01?filt$0@0@main@@" to i8*)]
to label %__except.ret.10 unwind label %catchendblock.9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247433
91177308-0d34-0410-b5e6-
96231b3b80d8
Ahmed Bougacha [Fri, 11 Sep 2015 17:08:28 +0000 (17:08 +0000)]
[CodeGen] Refactor TLI/AtomicExpand interface to make LLSC explicit.
We used to have this magic "hasLoadLinkedStoreConditional()" callback,
which really meant two things:
- expand cmpxchg (to ll/sc).
- expand atomic loads using ll/sc (rather than cmpxchg).
Remove it, and, instead, introduce explicit callbacks:
- bool shouldExpandAtomicCmpXchgInIR(inst)
- AtomicExpansionKind shouldExpandAtomicLoadInIR(inst)
Differential Revision: http://reviews.llvm.org/D12557
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247429
91177308-0d34-0410-b5e6-
96231b3b80d8
Ahmed Bougacha [Fri, 11 Sep 2015 17:08:17 +0000 (17:08 +0000)]
[CodeGen] Rename AtomicRMWExpansionKind to AtomicExpansionKind.
This lets us generalize its usage to the other atomic instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247428
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 11 Sep 2015 17:08:02 +0000 (17:08 +0000)]
[PR24785] Appease MSC18 to tweak optimizations.
This brings a warning.
cl : Command line warning D9035: option 'Og-' has been deprecated and will be removed in a future release
We should resolve PR11951 to remove this tweak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247427
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Fri, 11 Sep 2015 16:34:14 +0000 (16:34 +0000)]
[libFuzzer] mention more trophies
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247425
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Fri, 11 Sep 2015 16:24:11 +0000 (16:24 +0000)]
[mips] Add missing disassembler tests for MIPS64-MIPS64R5.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247422
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Fri, 11 Sep 2015 15:28:19 +0000 (15:28 +0000)]
[mips] Add missing MIPS32 - MIPS32R5 disassembler tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247420
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Fri, 11 Sep 2015 14:57:54 +0000 (14:57 +0000)]
[mips] Attempt to fix llvm-s390x-linux1
It doesn't seem to like the '|&' in the test command.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247418
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Fri, 11 Sep 2015 14:54:58 +0000 (14:54 +0000)]
[mips] Add missing MIPS-IV disassembler tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247417
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Fri, 11 Sep 2015 14:48:46 +0000 (14:48 +0000)]
[mips] Add missing MIPS-III disassembler tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247416
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnaud A. de Grandmaison [Fri, 11 Sep 2015 14:45:34 +0000 (14:45 +0000)]
Tweak 2 x86 gold tests so they can run on non-x86 platforms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247415
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Fri, 11 Sep 2015 14:34:41 +0000 (14:34 +0000)]
[mips] Add missing MIPS-II disassembler tests.
These tests were found by llvm-mc-fuzzer (see http://reviews.llvm.org/D12723)
and were verified by checking the disassembler output is accepted by GAS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247414
91177308-0d34-0410-b5e6-
96231b3b80d8
Yaron Keren [Fri, 11 Sep 2015 13:22:47 +0000 (13:22 +0000)]
Add #include llvm-config.h to Locale.cpp which depends on LLVM_ON_WIN32.
Source code was assuming that llvm-config.h would be included somehow but
up to r247253 that added #include "llvm/Support/Compiler.h" to StringRef.h
the config file was not actually included. The inclusion of llvm-config.h
caused a change of behaviour in tools/clang/test/Frontend/source-col-map.c:
previously it would output the original UTF-8 but now it outputs <U+03B1>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247409
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Fri, 11 Sep 2015 12:59:03 +0000 (12:59 +0000)]
Re-commit r247405: [mips] Add missing MIPS-I disassembler tests.
These tests were found by llvm-mc-fuzzer (see http://reviews.llvm.org/D12723)
and verified by checking the disassembler output is accepted by GAS.
The problematic tests from the previous commit have been moved to
valid-xfail.txt for now.
Also, give invalid instructions some coverage. invalid-xfail.txt contains
instructions that should be invalid but successfully disassemble.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247407
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Fri, 11 Sep 2015 12:42:38 +0000 (12:42 +0000)]
Revert r247405: [mips] Add missing MIPS-I disassembler tests.
A small number of the added tests have operands that change on each round trip.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247406
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Fri, 11 Sep 2015 12:24:06 +0000 (12:24 +0000)]
[mips] Add missing MIPS-I disassembler tests.
These tests were found by llvm-mc-fuzzer (see http://reviews.llvm.org/D12723)
and verified by checking the disassembler output is accepted by GAS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247405
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 11 Sep 2015 08:20:56 +0000 (08:20 +0000)]
PPCFrameLowering::emitEpilogue(): Avoid manipulating MBBI on iterator end.
It caused crash in MachineInstr::hasPropertyInBundle() since r247237.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247395
91177308-0d34-0410-b5e6-
96231b3b80d8