120584 Commits

Author SHA1 Message Date
Yaron Keren
99b2ac6270 Recommit r244470+ r244471 together, the bot failed between them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244476 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 18:27:51 +00:00
Igor Laevsky
b1b95a51f7 [IndVarSimplify] Make cost estimation in RewriteLoopExitValues smarter
Differential Revision: http://reviews.llvm.org/D11687



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244474 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 18:23:58 +00:00
Yaron Keren
40c54fb97a Revert r244470 and 244471 while looking into it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244472 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 18:14:56 +00:00
Yaron Keren
5e56a4f86e Second part of r244470 (source file was unsaved in editor).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244471 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 18:06:01 +00:00
Yaron Keren
af1c9b3bfb Really implement David Blaikie suggestion in full of seperating
variable initialization from its usage in the push_back making
collapse of the two statements unlikely even without a comment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244470 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 18:03:35 +00:00
Mark Heffernan
214aad9f31 Add new llvm.loop.unroll.enable metadata.
This change adds the unroll metadata "llvm.loop.unroll.enable" which directs
the optimizer to unroll a loop fully if the trip count is known at compile time, and
unroll partially if the trip count is not known at compile time. This differs from
"llvm.loop.unroll.full" which explicitly does not unroll a loop if the trip count is not
known at compile time.

The "llvm.loop.unroll.enable" is intended to be added for loops annotated with
"#pragma unroll".



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244466 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 17:28:08 +00:00
Chad Rosier
20f59c8f98 Typo. Move comment closer to relevant code. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244465 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 17:17:19 +00:00
Sanjay Patel
6726168d22 fix minsize detection: minsize attribute implies optimizing for size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244464 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 17:15:17 +00:00
Sanjay Patel
8fc705702c fix minsize detection: minsize attribute implies optimizing for size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244463 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 17:00:44 +00:00
Yaron Keren
3758d95e05 Fully apply David Blaikie suggestion and add comment explaining why.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244461 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 16:53:30 +00:00
Sanjay Patel
abdf937a22 fix minsize detection: minsize attribute implies optimizing for size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244460 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 16:47:47 +00:00
Sanjay Patel
5891510167 fix minsize detection: minsize attribute implies optimizing for size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244458 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 16:43:20 +00:00
Yaron Keren
b80a26544b Add missing include guard to FuzzerInternal.h, NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244457 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 16:37:40 +00:00
Yaron Keren
ccc3705dab Modify r244405 to clearer code, per David Blaikie suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244455 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 16:15:51 +00:00
Aaron Ballman
4469a05f28 Silence a sign mismatch warning; NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244452 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 15:22:39 +00:00
Silviu Baranga
52aa6d3b71 [TTI] Add a hook for specifying per-target defaults for Interleaved Accesses
Summary:
This adds a hook to TTI which enables us to selectively turn on by default
interleaved access vectorization for targets on which we have have performed
the required benchmarking.

Reviewers: rengolin

Subscribers: rengolin, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244449 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 14:50:54 +00:00
Fraser Cormack
779046e433 Prevent the scalarizer from caching incorrect entries
The scalarizer can cache incorrect entries when walking up a chain of
insertelement instructions. This occurs when it encounters more than one
instruction that it is not actively searching for, as it unconditionally caches
every element it finds. The fix is to only cache the first element that it
isn't searching for so we don't overwrite correct entries.

Reviewers: hfinkel

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244448 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 14:48:47 +00:00
Rafael Espindola
2295449608 elf2yaml: Use existing section walk to find the symbol table. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244447 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 14:27:50 +00:00
Michael Kruse
4b4562925c [RegionInfo] Fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244445 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 13:26:09 +00:00
Michael Kruse
5864ac7711 [RegionInfo] Add debug-time region viewer functions
Summary:
Analogously to Function::viewCFG(), RegionInfo::view() and RegionInfo::viewOnly() are meant to be called in debugging sessions. They open a viewer to show how RegionInfo currently understands the region hierarchy.

The functions viewRegion(Function*) and viewRegionOnly(Function*) invoke a fresh region analysis of the function in contrast to viewRegion(RegionInfo*) and viewRegionOnly(RegionInfo*) which show the current analysis result.

Reviewers: grosser

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244444 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 13:21:59 +00:00
Michael Kruse
6b23651c14 [RegionInfo] Use RegionInfo* instead of RegionInfoPass* as graph type
This allows printing region graphs when only the RegionInfo (e.g. Region::getRegionInfo()), but no RegionInfoPass object is available.

Specifically, we will use this to print RegionInfo graphs in the debugger.

Differential version: http://reviews.llvm.org/D11874

Reviewed-by: grosser



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244442 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 12:57:23 +00:00
Michael Kruse
a7bed6c4c5 [RegionInfo] Update old-style comments
Authorized-by: grosser



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244441 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 12:40:41 +00:00
Michael Kruse
833f982d14 [RegionInfo] More descriptive error messages in verifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244440 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 12:28:52 +00:00
Robert Lougher
0d87d635d7 Trace copies when checking for rematerializability in spill weight calculation
PR24139 contains an analysis of poor register allocation. One of the findings
was that when calculating the spill weight, a rematerializable interval once
split is no longer rematerializable. This is because the isRematerializable
check in CalcSpillWeights.cpp does not follow the copies introduced by live
range splitting (after splitting, the live interval register definition is a
copy which is not rematerializable).

Reviewers: qcolombet

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244439 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 11:59:44 +00:00
Marina Yatsina
099d569fc1 Test commit to verify commit access
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244438 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 11:33:10 +00:00
Yaron Keren
1a9ed33a8b Rangify for loop, NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244434 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 07:04:29 +00:00
NAKAMURA Takumi
085ee025f0 Reformat headers in ADT and Support partially.
Note, I didn't reformat entirely, but partially where I touched in previous commits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244432 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 04:22:36 +00:00
NAKAMURA Takumi
d1769e33c4 Whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244431 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 04:22:09 +00:00
NAKAMURA Takumi
e4b461c8d7 Reformat linebreaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244430 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 04:21:43 +00:00
NAKAMURA Takumi
8f38c5f0d3 llvm/include/llvm/Support/Memory.h: Fix comment header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244429 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-10 04:21:19 +00:00
Craig Topper
03973a139d [TableGen] Make StringInit constructor take a StringRef instead of const std::string&. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244426 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-09 22:03:04 +00:00
Saleem Abdulrasool
964343c299 X86: remove a dead store (NFC)
The SP was always unconditionally assigned to later, but initialised early.
This delays the initialisation, and avoids the dead store.  Identified by
clang static analysis.  No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244423 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-09 20:39:09 +00:00
Adam Nemet
15a7a33742 [LAA] Remove unused pointer partition argument from needsChecking(), NFC
This is no longer used in any of the callers.  Also remove the logic of
handling this argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244421 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-09 20:06:08 +00:00
Adam Nemet
85fb628f1f [LAA] Remove unused pointer partition argument from generateChecks, NFC
LoopDistribution does its own filtering now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244420 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-09 20:06:06 +00:00
David Majnemer
9585c546b9 [PHITransAddr] Don't assume that instruction operands are translatable
We can only PHI translate instructions.  In our attempt to PHI translate
a bitcast, we attempt to translate its operand; however, the operand
might be an argument or a global instead of an instruction.  Benignly
bail out when this happens.

This fixes PR24397.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244418 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-09 15:43:02 +00:00
David Majnemer
97bdbf60d9 [IR] Remove unused declaration
CatchReturnInst::init is never referenced, remove it.
No functionality change is intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244408 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-09 00:32:18 +00:00
Justin Bogner
91d509f4fc cmake: Error on invalid CMAKE_BUILD_TYPE
Apparently if you make a typo in the argument to CMAKE_BUILD_TYPE,
cmake silently accepts this but doesn't apply any particular build
type to your build. This means you get a build that doesn't really
make any sense - it's sort of a debug build with asserts disabled.

Error out instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244406 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 21:04:45 +00:00
Yaron Keren
c19de56ad9 Fix dangling reference in DwarfLinker.cpp. The original code
Seq.emplace_back(Seq.back());

does not work as planned, since Seq.back() may become a dangling reference
when emplace_back is called and possibly reallocates vector. To avoid this,
the vector allocation should be reserved first and only then used.

This broke test/tools/dsymutil/X86/custom-line-table.test with Visual C++ 2013.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244405 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 21:03:19 +00:00
Sanjay Patel
1c8de8dde4 [x86] enable machine combiner reassociations for 128-bit vector single/double adds
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244403 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 19:08:20 +00:00
Benjamin Kramer
d3c712e50b Fix some comment typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244402 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 18:27:36 +00:00
David Majnemer
a39dacef00 [IR] Cleanup some formatting issues in the EH instructions
No functionality change is intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244399 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 17:41:21 +00:00
Rafael Espindola
e32110a559 Return early on error. Should fix the asan bots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244397 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 14:54:09 +00:00
Craig Topper
73b16a70f1 [X86] Add ADX and RDSEED to Skylake processor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244396 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 07:31:15 +00:00
Craig Topper
bef8d8f82e Add SlowBTMem to Sandy Bridge and newer Intel CPUs. Reading through Agner Fog's table suggests there have been no improvements to these processors relative to Westmere for bit test instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244395 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 07:20:04 +00:00
David Majnemer
3309afe8f5 [InstCombine] Don't try to sink EH pad instructions
Found by inspection, this change should not effect the existing
landingpad behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244391 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 03:51:49 +00:00
NAKAMURA Takumi
5ba219fe8d 244368: Fix a comment line introduced in r244368. [-Wdocumentation]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244388 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 01:34:20 +00:00
David Majnemer
8d96c6989e [IR] Stop hacking around a bug in GCC 4.5
GCC 4.5 miscompiled this aspect of LLVM.  We support a minimum version
of 4.7.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244387 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 01:33:30 +00:00
Craig Topper
9f7761b487 Add model numbers for Skylake CPUs and an additional Broadwell model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244385 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 01:29:15 +00:00
Craig Topper
87432f3518 Add Intel family 6 model 93 as Silvermont.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244384 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 01:16:05 +00:00
Tom Stellard
56697dd222 AMDGPU/SI: Another attempt to fix Windows bots broken by r244372
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244383 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-08 01:11:07 +00:00