Yi Jiang
bbea6143f2
Continue slp vectorization even the BB already has vectorized store radar://16641956
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207572 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 19:37:20 +00:00
Yi Jiang
156cfdf763
Add slp vectorization to LTO passes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207571 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 19:35:39 +00:00
Adam Nemet
1363a7718b
Reapply r207271 without the testcase
...
PR19608 was filed to find a suitable testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207569 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 18:25:28 +00:00
Reed Kotler
52c03fbb3b
Add Simple return instruction to Mips fast-isel
...
Reviewers: dsanders
Reviewed by: dsanders
Differential Revision: http://reviews.llvm.org/D3430
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207565 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 17:57:50 +00:00
Alexey Samsonov
b58db2293d
[DWARF parser] Compress DIEMinimal even further, simplify building DIE tree.
...
DIE doesn't need to store a pointer to its parent: we can traverse the DIE tree
only with functions getFirstChild() and getSibling(). Parents must be known
only when we construct the tree. Rewrite setDIERelations() procedure in a more
straightforward way, and get rid of lots of now unused DIEMinimal methods.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207563 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 17:12:42 +00:00
Duncan P. N. Exon Smith
f38f17c463
SupportTest: Fix test names harder
...
r207552, r207553 and r207554 all had bad test names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207560 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 17:07:45 +00:00
Duncan P. N. Exon Smith
67f5fcac4b
BranchProb: Simplify printing code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207559 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 17:07:42 +00:00
Daniel Sanders
a70510a1c6
[mips] Remove two more redundant 'let Predicates = [HasStdEnc]' statements that were missed
...
Summary:
The InstSE class already initializes Predicates to [HasStdEnc].
No functional change (confirmed by diffing tablegen-erated files before and
after)
Differential Revision: http://reviews.llvm.org/D3548
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207558 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 17:04:30 +00:00
Duncan P. N. Exon Smith
d419606bec
Support: Remove out-of-date comments
...
The code is now shared... no need for a note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207555 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:47:39 +00:00
Duncan P. N. Exon Smith
31413d8f1d
Support: More BlockFrequencyTest => BranchProbabilityTest
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207554 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:44:59 +00:00
Duncan P. N. Exon Smith
3dbfacec2e
Support: Fix test name
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207553 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:44:56 +00:00
Duncan P. N. Exon Smith
2c252dd576
Support: BlockFrequencyTest => BranchProbabilityTest
...
Move a detailed test of `BranchProbability::scale()` from
`BlockFrequencyTest` over to `BranchProbabilityTest`.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207552 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:40:17 +00:00
Daniel Sanders
8c4dcca434
[mips] Remove more redundant 'let Predicates = [HasStdEnc]' statements
...
Summary:
The InstSE class already initializes Predicates to [HasStdEnc].
No functional change (confirmed by diffing tablegen-erated files before and
after)
Differential Revision: http://reviews.llvm.org/D3547
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207551 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:37:01 +00:00
Duncan P. N. Exon Smith
07f96126af
blockfreq: Defer to BranchProbability::scale() (again)
...
Change `BlockFrequency` to defer to `BranchProbability::scale()` and
`BranchProbability::scaleByInverse()`.
This removes `BlockFrequency::scale()` from its API (and drops the
ability to see the remainder), but the only user was the unit tests. If
some code in the future needs an API that exposes the remainder, we can
add something to `BranchProbability`, but I find that unlikely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207550 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:31:29 +00:00
Daniel Sanders
18f4763a08
[mips] Remove redundant 'let Predicates = [HasStdEnc]' statements
...
Summary:
The MipsPat class already initializes Predicates to [HasStdEnc].
No functional change (confirmed by diffing tablegen-erated files before and
after)
Differential Revision: http://reviews.llvm.org/D3546
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207548 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:24:10 +00:00
Duncan P. N. Exon Smith
6919443535
blockfreq: Defer to BranchProbability::scale()
...
`BlockMass` can now defer to `BranchProbability::scale()`.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207547 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:20:05 +00:00
Duncan P. N. Exon Smith
81566c52fd
blockfreq: Remove BlockMass*BlockMass
...
Since `BlockMass` is an implementation detail and there are no current
users of this, delete `BlockMass::operator*=(BlockMass)`. I might need
this when I try to strip out `UnsignedFloat`, but I can pull it back in
at that point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207546 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:20:01 +00:00
Duncan P. N. Exon Smith
d699090a22
Support: remove unnecessary namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207545 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:15:39 +00:00
Duncan P. N. Exon Smith
048f520b91
Support: Add BranchProbability::scale() and ::scaleByInverse()
...
Add API to `BranchProbability` for scaling big integers. Next job is to
rip the logic out of `BlockMass` and `BlockFrequency`.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207544 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:15:35 +00:00
Dan Liew
f90262a09d
Document recently added sphinx documentation options in
...
CMake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207543 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:13:27 +00:00
Duncan P. N. Exon Smith
9c77098125
Support: Simplify BranchProbability operators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207541 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:12:16 +00:00
Duncan P. N. Exon Smith
4afab2afa8
Support: Add unit tests for BranchProbability
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207540 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 16:12:13 +00:00
David Blaikie
4b26377660
DwarfDebug: Split the initialization of abstract and non-abstract subprogram DIEs.
...
These were called from distinct places and had significant distinct
behavior. No need to make that a dynamic check inside the function
rather than just having two functions (refactoring some common code into
a helper function to be called from the two separate functions).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207539 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 15:58:35 +00:00
NAKAMURA Takumi
ec96ef30c9
LinkModulesTest.cpp: Reformat.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207537 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 15:52:46 +00:00
NAKAMURA Takumi
d294b68e28
[CMake] Enable llvm/unittests/LinkerTests. It had not been enabled since r199354.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207536 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 15:52:36 +00:00
NAKAMURA Takumi
13085edf46
LinkModulesTest.cpp: Use test-specific Ctx instead of getGlobalContext(). The global context might not be free'd. [vg_leak]
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207535 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 15:52:27 +00:00
Tilmann Scheller
e26c8c2d82
[ARM64] Disable regression tests for the old JIT.
...
Since the ARM64 backend doesn't implement support for the old JIT those tests are failing when the regression tests are run on an AArch64 host.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207530 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 15:02:40 +00:00
Daniel Sanders
4551e311c6
[mips][msa] Use CHECK-LABEL in basic_operations*.ll
...
Differential Revision: http://reviews.llvm.org/D3536
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207529 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 14:28:58 +00:00
Diego Novillo
44180390f8
Add optimization remarks to the loop unroller and vectorizer.
...
Summary:
This calls emitOptimizationRemark from the loop unroller and vectorizer
at the point where they make a positive transformation. For the
vectorizer, it reports vectorization and interleave factors. For the
loop unroller, it reports all the different supported types of
unrolling.
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D3456
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207528 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 14:27:31 +00:00
Joerg Sonnenberger
edc4595472
Parse and create GOT_PREL relocations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207526 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 13:42:02 +00:00
Daniel Sanders
285c5693b8
[mips][msa] Fix element extraction where the index is variable.
...
Summary:
This isn't supported directly so we splat the vector element and extract
the most convenient copy.
Reviewers: matheusalmeida
Reviewed By: matheusalmeida
Differential Revision: http://reviews.llvm.org/D3530
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207524 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 13:31:37 +00:00
Yaron Keren
0b4cdf44e8
Updated the link to the correct URL.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207523 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 13:21:05 +00:00
Rafael Espindola
1c5f439f41
Centralize the handling of the thumb bit.
...
This patch centralizes the handling of the thumb bit around
MCStreamer::isThumbFunc and makes isThumbFunc handle aliases.
This fixes a corner case, but the main advantage is having just one
way to check if a MCSymbol is thumb or not. This should still be
refactored to be ARM only, but at least now it is just one predicate
that has to be refactored instead of 3 (isThumbFunc,
ELF_Other_ThumbFunc, and SF_ThumbFunc).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207522 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 12:46:50 +00:00
Tim Northover
65baf804ba
ARM: fix test after change to indirect symbol emission.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207519 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 10:13:10 +00:00
Tim Northover
d5d3e188f0
X86: emit hidden stubs into a proper non_lazy_symbol_pointer section.
...
rdar://problem/16660411
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207518 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 10:06:10 +00:00
Tim Northover
8ea9566fee
ARM: emit hidden stubs into a proper non_lazy_symbol_pointer section.
...
rdar://problem/16660411
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207517 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 10:06:05 +00:00
Zinovy Nis
0f79399dee
[BUG] Fix -Wunused-variable warning in Release mode. Thnx to Kostya Serebryany for pointing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207516 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 09:45:08 +00:00
Benjamin Kramer
43705683fd
AArch64: Mark vector long multiplication as expand.
...
There are no patterns for this. This was already fixed for ARM64 but I forgot
to apply it to AArch64 too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207515 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 09:37:54 +00:00
Kostya Serebryany
0f99bc0606
fix -Wunused-variable warning in Release mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207514 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 09:33:02 +00:00
Elena Demikhovsky
e3e08acd09
AVX-512: optimized a shuffle pattern to VINSERTI64x4.
...
Added intrinsics for VPERMT2PS/PD/D/Q instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207513 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 09:09:15 +00:00
Zinovy Nis
c5e41aed09
[OPENMP][LV][D3423] Respect Hints.Force meta-data for loops in LoopVectorizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207512 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 08:55:11 +00:00
Craig Topper
eda7f44b27
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207511 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 07:58:41 +00:00
Craig Topper
0fd57f4b56
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. AArch64 edition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207510 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 07:58:34 +00:00
Craig Topper
a4f9f5e7de
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. ARM64 edition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207509 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 07:58:25 +00:00
Craig Topper
aab65f8023
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207508 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 07:58:16 +00:00
Craig Topper
e17a0260a8
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. MSP430 edition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207507 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 07:58:09 +00:00
Craig Topper
91b10fb0e9
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207506 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 07:58:02 +00:00
Craig Topper
6b7b725179
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. NVPTX edition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207505 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 07:57:44 +00:00
Craig Topper
e651935ab8
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. PowerPC edition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207504 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 07:57:37 +00:00
Craig Topper
c279ae979e
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207503 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-29 07:57:24 +00:00