oota-llvm.git
6 years ago[Support] Add optional argument to SaturatingAdd() and SaturatingMultiply() to indica...
Nathan Slingerland [Mon, 23 Nov 2015 21:54:22 +0000 (21:54 +0000)]
[Support] Add optional argument to SaturatingAdd() and SaturatingMultiply() to indicate that overflow occurred

Summary: Adds the ability for callers to detect when saturation occurred on the result of saturating addition/multiplication.

Reviewers: davidxl, silvas, rsmith

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253921 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[RuntimeDyld] Don't allocate unnecessary stub buffer space
Sanjoy Das [Mon, 23 Nov 2015 21:47:51 +0000 (21:47 +0000)]
[RuntimeDyld] Don't allocate unnecessary stub buffer space

Summary:
For relocation types that are known to not require stub functions, there
is no need to allocate extra space for the stub functions.

Reviewers: lhames, reames, maksfb

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253920 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[RuntimeDyld] Add bounds checking to SectionEntry::advanceStubOffset
Sanjoy Das [Mon, 23 Nov 2015 21:47:46 +0000 (21:47 +0000)]
[RuntimeDyld] Add bounds checking to SectionEntry::advanceStubOffset

Summary:
Change SectionEntry to keep track of the size of its underlying
allocation, and use that to bounds check advanceStubOffset.

Reviewers: lhames, andrew.w.kaylor, reames

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253919 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[RuntimeDyld] Add accessors to `SectionEntry`; NFC
Sanjoy Das [Mon, 23 Nov 2015 21:47:41 +0000 (21:47 +0000)]
[RuntimeDyld] Add accessors to `SectionEntry`; NFC

Summary:
Remove naked access to the data members in `SectionEntry` and route
accesses through accessor functions.  This makes it obvious how the
instances of the class are used, and will also facilitate adding bounds
checking to `advanceStubOffset` in a later change.

Reviewers: lhames, loladiro, andrew.w.kaylor

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253918 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoMake utils/update_llc_test_checks.py note that the assertions are
James Y Knight [Mon, 23 Nov 2015 21:33:58 +0000 (21:33 +0000)]
Make utils/update_llc_test_checks.py note that the assertions are
autogenerated.

Also update existing test cases which appear to be generated by it and
weren't modified (other than addition of the header) by rerunning it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253917 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[WebAssembly] Model the return value of store instructions in wasm.
Dan Gohman [Mon, 23 Nov 2015 21:16:35 +0000 (21:16 +0000)]
[WebAssembly] Model the return value of store instructions in wasm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253916 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[LIR] Put includes in correct order. NFC.
Chad Rosier [Mon, 23 Nov 2015 21:09:13 +0000 (21:09 +0000)]
[LIR] Put includes in correct order. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253915 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[PGO] Add --text option for llvm-profdata show|merge commands
Xinliang David Li [Mon, 23 Nov 2015 20:47:38 +0000 (20:47 +0000)]
[PGO] Add --text option for llvm-profdata show|merge commands

The new option is similar to the SampleProfile dump option.

- dump raw/indexed format into text profile format
- merge the profile and output into text profile format.

Note that Value Profiling data text format is not yet designed.
That functionality will be added later.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253913 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoSamplePGO - Add coverage tracking for samples.
Diego Novillo [Mon, 23 Nov 2015 20:12:21 +0000 (20:12 +0000)]
SamplePGO - Add coverage tracking for samples.

The existing coverage tracker counts the number of records that were used
from the input profile. An alternative view of coverage is to check how
many available samples were applied.

This way, if the profile contains several records with few samples, it
doesn't really matter much that they were not applied. The more
interesting records to apply are the ones that contribute many samples.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253912 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[WinEH] Fix a case where GVN could incorrectly PRE a load into an EH pad.
Andrew Kaylor [Mon, 23 Nov 2015 19:51:41 +0000 (19:51 +0000)]
[WinEH] Fix a case where GVN could incorrectly PRE a load into an EH pad.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253908 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[WebAssembly] Don't use set_local instructions explicitly.
Dan Gohman [Mon, 23 Nov 2015 19:30:43 +0000 (19:30 +0000)]
[WebAssembly] Don't use set_local instructions explicitly.

The current approach to using get_local and set_local is to use them
implicitly, as register uses and defs. Introduce new copy instructions
which are themselves no-ops except for the get_local and set_local
that they imply, so that we use get_local and set_local consistently.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253905 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[ThinLTO] Deduplicate function index loading into shared helper (NFC)
Teresa Johnson [Mon, 23 Nov 2015 19:19:11 +0000 (19:19 +0000)]
[ThinLTO] Deduplicate function index loading into shared helper (NFC)

Add a shared helper routine to read the function index from a file
and create/return the function index object. Use it in llvm-link and
llvm-lto.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253903 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[WinEH] Fix problem where CodeGenPrepare incorrectly sinks a bitcast into an EH pad.
Andrew Kaylor [Mon, 23 Nov 2015 19:16:15 +0000 (19:16 +0000)]
[WinEH] Fix problem where CodeGenPrepare incorrectly sinks a bitcast into an EH pad.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253902 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[WebAssembly] Always print loop end labels
Dan Gohman [Mon, 23 Nov 2015 19:12:37 +0000 (19:12 +0000)]
[WebAssembly] Always print loop end labels

WebAssembly is currently using labels to end scopes, so for example a
loop scope looks like this:

BB0_0:
  loop BB0_1
  ...
BB0_1:

with BB0_0 being the label of the first block not in the loop. This
requires that the label be printed even when it's only reachable via
fallthrough. To arrange this, insert a no-op LOOP_END instruction in
such cases at the end of the loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253901 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[PGO] Introduce alignment macro for instr-prof control data(NFC)
Xinliang David Li [Mon, 23 Nov 2015 18:02:59 +0000 (18:02 +0000)]
[PGO] Introduce alignment macro for instr-prof control data(NFC)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253893 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[WebAssembly] Remove incomplete MCCodeEmitter bits.
Dan Gohman [Mon, 23 Nov 2015 18:00:04 +0000 (18:00 +0000)]
[WebAssembly] Remove incomplete MCCodeEmitter bits.

These are parts of a separate patch that I accidentally included in r253878.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253892 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoRemove unused function parameter (NFC)
Teresa Johnson [Mon, 23 Nov 2015 17:42:49 +0000 (17:42 +0000)]
Remove unused function parameter (NFC)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253889 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoAdd Windows error code and tidy formatting for system errors.
Paul Robinson [Mon, 23 Nov 2015 17:34:20 +0000 (17:34 +0000)]
Add Windows error code and tidy formatting for system errors.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253888 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoFix comment not allowed in C90
Xinliang David Li [Mon, 23 Nov 2015 17:05:45 +0000 (17:05 +0000)]
Fix comment not allowed in C90

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253880 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[WebAssembly] Emit .param, .result, and .local through MC.
Dan Gohman [Mon, 23 Nov 2015 16:50:18 +0000 (16:50 +0000)]
[WebAssembly] Emit .param, .result, and .local through MC.

This eliminates one of the main remaining uses of EmitRawText.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253878 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoSamplePGO - Clear coverage tracking when clearing per-function data.
Diego Novillo [Mon, 23 Nov 2015 16:30:17 +0000 (16:30 +0000)]
SamplePGO - Clear coverage tracking when clearing per-function data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253877 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[WebAssembly] Use dominator information to improve BLOCK placement
Dan Gohman [Mon, 23 Nov 2015 16:19:56 +0000 (16:19 +0000)]
[WebAssembly] Use dominator information to improve BLOCK placement

Always starting blocks at the top of their containing loops works, but creates
unnecessarily deep nesting because it makes all blocks in a loop overlap.
Refine the BLOCK placement algorithm to start blocks at nearest common
dominating points instead, which significantly shrinks them and reduces
overlapping.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253876 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[mips] .ent and .end should also set the type and size of the symbol respectively.
Daniel Sanders [Mon, 23 Nov 2015 16:08:03 +0000 (16:08 +0000)]
[mips] .ent and .end should also set the type and size of the symbol respectively.

Reviewers: vkalintiris

Subscribers: llvm-commits, seanbruno, emaste, vkalintiris, dsanders

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253875 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[Support] Fix SaturatingMultiply<T>() to be correct (and fast), Re-enable Unit Tests
Nathan Slingerland [Mon, 23 Nov 2015 15:33:43 +0000 (15:33 +0000)]
[Support] Fix SaturatingMultiply<T>() to be correct (and fast), Re-enable Unit Tests

Summary:
This change fixes the SaturatingMultiply<T>() function template to not cause undefined behavior with T=uint16_t.
Thanks to Richard Smith's contribution, it also no longer requires an integer division.

Patch by Richard Smith.

Reviewers: silvas, davidxl

Subscribers: rsmith, davidxl, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253870 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoSamplePGO - Use newly introduced local variable. NFC.
Diego Novillo [Mon, 23 Nov 2015 15:24:13 +0000 (15:24 +0000)]
SamplePGO - Use newly introduced local variable. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253868 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[Hexagon] Update instruction formats
Krzysztof Parzyszek [Mon, 23 Nov 2015 14:09:26 +0000 (14:09 +0000)]
[Hexagon] Update instruction formats

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253867 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoARM: address WoA division overflow crash
Martell Malone [Mon, 23 Nov 2015 13:11:39 +0000 (13:11 +0000)]
ARM: address WoA division overflow crash

Disable custom handling of signed 32-bit and 64-bit integer divide.
Add test cases for both 32-bit and 64-bit integer overflow crashes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253865 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[TableGen] Use std::remove_if instead of manually coded loops that called erase insid...
Craig Topper [Mon, 23 Nov 2015 07:19:10 +0000 (07:19 +0000)]
[TableGen] Use std::remove_if instead of manually coded loops that called erase inside them. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253857 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[TableGen] Use empty() instead of checking if size of vector is greater than or equal...
Craig Topper [Mon, 23 Nov 2015 07:19:08 +0000 (07:19 +0000)]
[TableGen] Use empty() instead of checking if size of vector is greater than or equal to 1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253856 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[Mips] Remove an unnecessary wrapping of a predicate with std::ptr_fun. NFC
Craig Topper [Mon, 23 Nov 2015 07:19:06 +0000 (07:19 +0000)]
[Mips] Remove an unnecessary wrapping of a predicate with std::ptr_fun. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253855 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoMove two Value Profiler data structs to InstrProfData.inc (NFC)
Xinliang David Li [Mon, 23 Nov 2015 05:29:51 +0000 (05:29 +0000)]
Move two Value Profiler data structs to InstrProfData.inc (NFC)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253848 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[PGO] Fix remaining bugs in ProfData template file (when used by compiler-rt)
Xinliang David Li [Mon, 23 Nov 2015 03:49:07 +0000 (03:49 +0000)]
[PGO] Fix remaining bugs in ProfData template file (when used by compiler-rt)

1. move const qualifier out of raw header field type as runtime use of the header
   needs to initialze the fields
2. use C style casting for integer types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253844 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[Analysis/CallGraph] Switch dump() definitions over to LLVM_DUMP_METHOD.
Davide Italiano [Mon, 23 Nov 2015 02:58:42 +0000 (02:58 +0000)]
[Analysis/CallGraph] Switch dump() definitions over to LLVM_DUMP_METHOD.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253842 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[LoopStrengthReduce] Mark dump() definitions as LLVM_DUMP_METHOD.
Davide Italiano [Mon, 23 Nov 2015 02:47:30 +0000 (02:47 +0000)]
[LoopStrengthReduce] Mark dump() definitions as LLVM_DUMP_METHOD.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253841 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoAdd const qualifier for FunctionInfoIndex in ModuleLinker and linkInModule() (NFC)
Mehdi Amini [Mon, 23 Nov 2015 01:59:16 +0000 (01:59 +0000)]
Add const qualifier for FunctionInfoIndex in ModuleLinker and linkInModule() (NFC)

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253840 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoAdd const qualifier on FunctionInfoIndex::hasExportedFunctions() (NFC)
Mehdi Amini [Mon, 23 Nov 2015 01:59:12 +0000 (01:59 +0000)]
Add const qualifier on FunctionInfoIndex::hasExportedFunctions() (NFC)

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253839 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoRevert a portion of r253836 that seems to have broke a couple bots.
Craig Topper [Sun, 22 Nov 2015 22:43:40 +0000 (22:43 +0000)]
Revert a portion of r253836 that seems to have broke a couple bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253838 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[SCEV] Use C++11'isms
Sanjoy Das [Sun, 22 Nov 2015 21:20:13 +0000 (21:20 +0000)]
[SCEV] Use C++11'isms

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253837 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[TableGen] Use range-based for loops. NFC
Craig Topper [Sun, 22 Nov 2015 20:46:24 +0000 (20:46 +0000)]
[TableGen] Use range-based for loops. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253836 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[TableGen] Use std::fill instead of a manually coded loop. NFC
Craig Topper [Sun, 22 Nov 2015 20:46:22 +0000 (20:46 +0000)]
[TableGen] Use std::fill instead of a manually coded loop. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253835 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoFurther simplify from r253832 with some unique_ptr and coalescing conditions
David Blaikie [Sun, 22 Nov 2015 20:11:21 +0000 (20:11 +0000)]
Further simplify from r253832 with some unique_ptr and coalescing conditions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253834 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoFurther simplify from r253832, removing unnecessary intermediate lambdas
David Blaikie [Sun, 22 Nov 2015 20:02:58 +0000 (20:02 +0000)]
Further simplify from r253832, removing unnecessary intermediate lambdas

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253833 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[TableGen] Use std::any_of and std::find instead of manual loops. NFC
Craig Topper [Sun, 22 Nov 2015 19:27:02 +0000 (19:27 +0000)]
[TableGen] Use std::any_of and std::find instead of manual loops. NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253832 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[X86][FMA] Regenerate tests.
Simon Pilgrim [Sun, 22 Nov 2015 19:05:53 +0000 (19:05 +0000)]
[X86][FMA] Regenerate tests.

Fixes some broken checks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253830 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[MDBuilder] Simplify code using initializer lists. NFC.
Benjamin Kramer [Sun, 22 Nov 2015 18:03:17 +0000 (18:03 +0000)]
[MDBuilder] Simplify code using initializer lists. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253826 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[SCEV] Simplify code. NFC.
Benjamin Kramer [Sun, 22 Nov 2015 17:27:27 +0000 (17:27 +0000)]
[SCEV] Simplify code. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253825 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[X86][AVX] Added load splat tests.
Simon Pilgrim [Sun, 22 Nov 2015 16:52:16 +0000 (16:52 +0000)]
[X86][AVX] Added load splat tests.

Placeholder for upcoming patch for PR23022.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253824 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoRemove duplicate getValueType() calls. NFCI.
Simon Pilgrim [Sun, 22 Nov 2015 16:49:38 +0000 (16:49 +0000)]
Remove duplicate getValueType() calls. NFCI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253823 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoRevert r253810. The builds should be fine now.
Krzysztof Parzyszek [Sun, 22 Nov 2015 16:13:51 +0000 (16:13 +0000)]
Revert r253810. The builds should be fine now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253822 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[Utils] Updated shuffle fuzz script to generate more modern (valid) IR.
Simon Pilgrim [Sun, 22 Nov 2015 16:04:32 +0000 (16:04 +0000)]
[Utils] Updated shuffle fuzz script to generate more modern (valid) IR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253821 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoAvoid dependency between TableGen and CodeGen
Krzysztof Parzyszek [Sun, 22 Nov 2015 15:20:19 +0000 (15:20 +0000)]
Avoid dependency between TableGen and CodeGen

Duplicate a few common definitions between DFAPacketizer.cpp and
DFAPacketizerEmitter.cpp to avoid including files from CodeGen
in TableGen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253820 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoAVX-512: Optimized INSERT_SUBVECTOR for i1 vector types
Elena Demikhovsky [Sun, 22 Nov 2015 13:57:38 +0000 (13:57 +0000)]
AVX-512: Optimized INSERT_SUBVECTOR for i1 vector types

ISERT_SUBVECTOR for i1 vectors may be done with shifts, when we insert into the lower part, or into the upper part, on into all-zero vector.
CONCAT_VECTORS uses ISERT_SUBVECTOR.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253819 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[PGO] move names of runtime sections definitions to InstrProfData.inc
Xinliang David Li [Sun, 22 Nov 2015 05:42:31 +0000 (05:42 +0000)]
[PGO] move names of runtime sections definitions to InstrProfData.inc

In profile runtime implementation for Darwin, Linux and FreeBSD, the
names of sections holding profile control/counter/naming data need
to be known by the runtime in order to locate the start/end of the
data. Moving the name definitions to the common file to specify the
connection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253814 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoTemporary fix broken build.ninja after r253790.
NAKAMURA Takumi [Sun, 22 Nov 2015 02:32:49 +0000 (02:32 +0000)]
Temporary fix broken build.ninja after r253790.

FIXME: This can be reverted several hours later.

r253790 introduced cyclic deps around llvm-tblgen and it was affecting after reverting.

  ninja: error: dependency cycle: include/llvm/IR/Attributes.inc -> include/llvm/IR/Attributes.inc.tmp -> bin/llvm-tblgen -> utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o -> include/llvm/IR/Attributes.inc

It may be a ninja's bug.

FYI, renaming DFAPacketizerEmitter.cpp would be useless.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253810 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[PGO] move raw magic and version def to InstrProfData.inc
Xinliang David Li [Sun, 22 Nov 2015 02:05:50 +0000 (02:05 +0000)]
[PGO] move raw magic and version def to InstrProfData.inc

These are shared definitions too. (NFC)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253809 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[llvm-rtdyld] Refactor to reduce indentation.
Davide Italiano [Sun, 22 Nov 2015 01:58:33 +0000 (01:58 +0000)]
[llvm-rtdyld] Refactor to reduce indentation.

Suggested by: David Blaikie.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253808 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[PGO] InstrProf Template file documentation change
Xinliang David Li [Sun, 22 Nov 2015 01:51:31 +0000 (01:51 +0000)]
[PGO] InstrProf Template file documentation change

Add more complete description of the content and structure
of the template file. Made the comment in C style to be
shared by C runtime. Also enhance the file structure so
that it can included as standalone header for common
definitions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253807 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[PGO] Move Value Profile Kind to InstrProfData.inc
Xinliang David Li [Sun, 22 Nov 2015 01:39:07 +0000 (01:39 +0000)]
[PGO] Move Value Profile Kind to InstrProfData.inc

ValueProfKind value affects runtime data structure and
definition is shared between compiler-rt and LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253806 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[PGO] Define value profiling updater API signature in InstrProfData.inc (NFC)
Xinliang David Li [Sun, 22 Nov 2015 00:22:07 +0000 (00:22 +0000)]
[PGO] Define value profiling updater API signature in InstrProfData.inc (NFC)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253805 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoHave a single way for creating unique value names.
Rafael Espindola [Sun, 22 Nov 2015 00:16:24 +0000 (00:16 +0000)]
Have a single way for creating unique value names.

We had two code paths. One would create names like "foo.1" and the other
names like "foo1".

For globals it is important to use "foo.1" to help C++ name demangling.
For locals there is no strong reason to go one way or the other so I
kept the most common mangling (foo1).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253804 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[PGO] Move Raw Header def into template file InstrProfData.inc
Xinliang David Li [Sun, 22 Nov 2015 00:06:39 +0000 (00:06 +0000)]
[PGO] Move Raw Header def into template file InstrProfData.inc

To enable code sharing with compiler-rt (NFC)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253803 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agofix formatting; NFC
Sanjay Patel [Sun, 22 Nov 2015 00:03:16 +0000 (00:03 +0000)]
fix formatting; NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253802 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[SCEVExpander] Use C++isms; NFC
Sanjoy Das [Sat, 21 Nov 2015 23:20:10 +0000 (23:20 +0000)]
[SCEVExpander] Use C++isms; NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253801 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoNow fix errors in NDEBUG build.
Krzysztof Parzyszek [Sat, 21 Nov 2015 22:46:52 +0000 (22:46 +0000)]
Now fix errors in NDEBUG build.

Hope this won't break any hardware next.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253799 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoFix warnings in NDEBUG build
Krzysztof Parzyszek [Sat, 21 Nov 2015 22:19:50 +0000 (22:19 +0000)]
Fix warnings in NDEBUG build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253798 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[ThinLTO] Handle bitcode without function summary sections gracefully
Teresa Johnson [Sat, 21 Nov 2015 21:55:48 +0000 (21:55 +0000)]
[ThinLTO] Handle bitcode without function summary sections gracefully

Summary:
Several fixes to the handling of bitcode files without function summary
sections so that they are skipped during ThinLTO processing in llvm-lto
and the gold plugin when appropriate instead of aborting.

1 Don't assert when trying to add a FunctionInfo that doesn't have
  a summary attached.
2 Skip FunctionInfo structures that don't have attached function summary
  sections when trying to create the combined function summary.
3 In both llvm-lto and gold-plugin, check whether a bitcode file has
  a function summary section before trying to parse the index, and skip
  the bitcode file if it does not.
4 Fix hasFunctionSummaryInMemBuffer in BitcodeReader, which had a bug
  where we returned to early while looking for the summary section.

Also added llvm-lto and gold-plugin based tests for cases where we
don't have function summaries in the bitcode file. I verified that
either the first couple fixes described above are enough to avoid the
crashes, or fixes 1,3,4. But have combined them all here for added
robustness.

Reviewers: joker.eph

Subscribers: llvm-commits, joker.eph

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253796 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[MachineInstrBuilder] Support for adding a ConstantPoolIndex MO with an additional...
Simon Pilgrim [Sat, 21 Nov 2015 21:42:26 +0000 (21:42 +0000)]
[MachineInstrBuilder] Support for adding a ConstantPoolIndex MO with an additional offset.

MachineInstrBuilder::addDisp can already add an immediate or global address MO with an adjusted offset, this patch adds support for constant pool indices as well.

All remaining MO types still assert - there are a number of other types that could support adjusted offsets but I have no test cases at this time.

Required to fix a regression in D13988 found by Mikael Holmén during stress testing (test case attached).

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253795 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoHexagon V60/HVX DFA scheduler support
Krzysztof Parzyszek [Sat, 21 Nov 2015 20:00:45 +0000 (20:00 +0000)]
Hexagon V60/HVX DFA scheduler support

Extended DFA tablegen to:
  - added "-debug-only dfa-emitter" support to llvm-tblgen

  - defined CVI_PIPE* resources for the V60 vector coprocessor

  - allow specification of multiple required resources
    - supports ANDs of ORs
    - e.g. [SLOT2, SLOT3], [CVI_MPY0, CVI_MPY1] means:
           (SLOT2 OR SLOT3) AND (CVI_MPY0 OR CVI_MPY1)

  - added support for combo resources
    - allows specifying ORs of ANDs
    - e.g. [CVI_XLSHF, CVI_MPY01] means:
           (CVI_XLANE AND CVI_SHIFT) OR (CVI_MPY0 AND CVI_MPY1)

  - increased DFA input size from 32-bit to 64-bit
    - allows for a maximum of 4 AND'ed terms of 16 resources

  - supported expressions now include:

    expression     => term [AND term] [AND term] [AND term]
    term           => resource [OR resource]*
    resource       => one_resource | combo_resource
    combo_resource => (one_resource [AND one_resource]*)

Author: Dan Palermo <dpalermo@codeaurora.org>

kparzysz: Verified AMDGPU codegen to be unchanged on all llc
tests, except those dealing with instruction encodings.

Reapply the previous patch, this time without circular dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253793 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoUse modulo operator instead of multiplying result of a divide and subtracting from...
Craig Topper [Sat, 21 Nov 2015 17:44:42 +0000 (17:44 +0000)]
Use modulo operator instead of multiplying result of a divide and subtracting from the original dividend. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253792 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoRevert r253790: it breaks all builds for some reason.
Krzysztof Parzyszek [Sat, 21 Nov 2015 17:38:33 +0000 (17:38 +0000)]
Revert r253790: it breaks all builds for some reason.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253791 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoHexagon V60/HVX DFA scheduler support
Krzysztof Parzyszek [Sat, 21 Nov 2015 17:23:52 +0000 (17:23 +0000)]
Hexagon V60/HVX DFA scheduler support

Extended DFA tablegen to:
  - added "-debug-only dfa-emitter" support to llvm-tblgen

  - defined CVI_PIPE* resources for the V60 vector coprocessor

  - allow specification of multiple required resources
    - supports ANDs of ORs
    - e.g. [SLOT2, SLOT3], [CVI_MPY0, CVI_MPY1] means:
           (SLOT2 OR SLOT3) AND (CVI_MPY0 OR CVI_MPY1)

  - added support for combo resources
    - allows specifying ORs of ANDs
    - e.g. [CVI_XLSHF, CVI_MPY01] means:
           (CVI_XLANE AND CVI_SHIFT) OR (CVI_MPY0 AND CVI_MPY1)

  - increased DFA input size from 32-bit to 64-bit
    - allows for a maximum of 4 AND'ed terms of 16 resources

  - supported expressions now include:

    expression     => term [AND term] [AND term] [AND term]
    term           => resource [OR resource]*
    resource       => one_resource | combo_resource
    combo_resource => (one_resource [AND one_resource]*)

Author: Dan Palermo <dpalermo@codeaurora.org>

kparzysz: Verified AMDGPU codegen to be unchanged on all llc
tests, except those dealing with instruction encodings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253790 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agouse ternary ops; NFC
Sanjay Patel [Sat, 21 Nov 2015 16:51:19 +0000 (16:51 +0000)]
use ternary ops; NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253787 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoremove unnecessary temp variables; NFC
Sanjay Patel [Sat, 21 Nov 2015 16:37:09 +0000 (16:37 +0000)]
remove unnecessary temp variables; NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253786 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agofix typo; NFC
Sanjay Patel [Sat, 21 Nov 2015 16:16:29 +0000 (16:16 +0000)]
fix typo; NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253785 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agomove a single test case to where most other instcombine shuffle bug test cases exist
Sanjay Patel [Sat, 21 Nov 2015 16:12:58 +0000 (16:12 +0000)]
move a single test case to where most other instcombine shuffle bug test cases exist

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253784 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[X86][SSE] Added SSE2 PSUBUS tests
Simon Pilgrim [Sat, 21 Nov 2015 13:57:22 +0000 (13:57 +0000)]
[X86][SSE] Added SSE2 PSUBUS tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253783 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[X86][SSE] Regenerate TRUNC-SEXT tests
Simon Pilgrim [Sat, 21 Nov 2015 13:32:29 +0000 (13:32 +0000)]
[X86][SSE] Regenerate TRUNC-SEXT tests

Tidied up triple and regenerate tests using update_llc_test_checks.py

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253782 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[X86][SSE] Regenerate MINMAX tests
Simon Pilgrim [Sat, 21 Nov 2015 13:29:42 +0000 (13:29 +0000)]
[X86][SSE] Regenerate MINMAX tests

Tidied up triple and regenerate tests using update_llc_test_checks.py

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253781 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[X86][SSE] Regenerate PSUBUS tests
Simon Pilgrim [Sat, 21 Nov 2015 13:25:50 +0000 (13:25 +0000)]
[X86][SSE] Regenerate PSUBUS tests

Tidied up triple and regenerate tests using update_llc_test_checks.py

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253780 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[DAGCombiner] Bugfix for lost chain depenedency.
Jonas Paulsson [Sat, 21 Nov 2015 13:25:07 +0000 (13:25 +0000)]
[DAGCombiner] Bugfix for lost chain depenedency.

When MergeConsecutiveStores() combines two loads and two stores into
wider loads and stores, the chain users of both of the original loads
must be transfered to the new load, because it may be that a chain
user only depends on one of the loads.

New test case: test/CodeGen/SystemZ/dag-combine-01.ll

Reviewed by James Y Knight.

Bugzilla: https://llvm.org/bugs/show_bug.cgi?id=25310#c6

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253779 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[X86][AVX] Regenerate AVX splat tests
Simon Pilgrim [Sat, 21 Nov 2015 13:23:14 +0000 (13:23 +0000)]
[X86][AVX] Regenerate AVX splat tests

Tidied up triple and regenerate tests using update_llc_test_checks.py

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253778 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[X86][AVX512] Added AVX512 VMOVLHPS/VMOVHLPS shuffle decode comments.
Simon Pilgrim [Sat, 21 Nov 2015 13:04:42 +0000 (13:04 +0000)]
[X86][AVX512] Added AVX512 VMOVLHPS/VMOVHLPS shuffle decode comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253777 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[X86][SSE] Legal XMM Register Class ordering for SSE1
Simon Pilgrim [Sat, 21 Nov 2015 12:38:34 +0000 (12:38 +0000)]
[X86][SSE] Legal XMM Register Class ordering for SSE1

It turns out we have a number of places that just grab the first type attached to a register class for various reasons. This is fine unless for some reason that type isn't legal on the current target, such as for SSE1 which doesn't support v16i8/v8i16/v4i32/v2i64 - all of which were included before 4f32 in the class.

Given that this is such a rare situation I've just re-ordered the types and placed the float types first.

Fix for PR16133

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253773 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[docs] Minor fixes to the operand bundle section
Sanjoy Das [Sat, 21 Nov 2015 09:12:07 +0000 (09:12 +0000)]
[docs] Minor fixes to the operand bundle section

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253771 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoUnbreak build on OpenBSD by not adding -Wl,-z,defs to linker flags.
Yaron Keren [Sat, 21 Nov 2015 06:33:54 +0000 (06:33 +0000)]
Unbreak build on OpenBSD by not adding -Wl,-z,defs to linker flags.
This is similar to the fix for FreeBSD in r226862. Without this patch,
the build aborts when linkling libLTO.so, complaining about undefined
references to assert2, cxa_atexit, etc.

Patch by Stefan Kempf!

http://reviews.llvm.org/D14236

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253769 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[SimplifyLibCalls] Removed some TODOs which are already implemented. NFC.
Weiming Zhao [Sat, 21 Nov 2015 06:10:20 +0000 (06:10 +0000)]
[SimplifyLibCalls] Removed some TODOs which are already implemented. NFC.

Summary:
D14302 implements tan(atan(x)) -> x
D14045 implements pow(exp(x), y) -> exp(x*y)

Patch by Mandeep Singh Grang <mgrang@codeaurora.org>

Reviewers: majnemer, davide

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253768 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[llvm-rtdyld] Fail early if we can't load dynamic libraries.
Davide Italiano [Sat, 21 Nov 2015 05:58:19 +0000 (05:58 +0000)]
[llvm-rtdyld] Fail early if we can't load dynamic libraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253767 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[llvm-rtdyld] Turn assertion into errors, it seems more appropriate.
Davide Italiano [Sat, 21 Nov 2015 05:49:07 +0000 (05:49 +0000)]
[llvm-rtdyld] Turn assertion into errors, it seems more appropriate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253766 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[llvm-rtdyld] Improve error handling, use Error().
Davide Italiano [Sat, 21 Nov 2015 05:44:41 +0000 (05:44 +0000)]
[llvm-rtdyld] Improve error handling, use Error().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253765 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoMove new assert to correct location
Teresa Johnson [Sat, 21 Nov 2015 03:51:23 +0000 (03:51 +0000)]
Move new assert to correct location

This assert was meant to execute at the end of parseMetadata, but
we return early and never reach the end of the function. Caught
by a compile-time warning since the function doesn't return a value
from that location.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253762 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[libFuzzer] don't crash when reporting a leak in test_single_input mode
Kostya Serebryany [Sat, 21 Nov 2015 03:46:43 +0000 (03:46 +0000)]
[libFuzzer] don't crash when reporting a leak in test_single_input mode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253761 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[llvm-rtdyld] Use report_fatal_error().
Davide Italiano [Sat, 21 Nov 2015 02:15:51 +0000 (02:15 +0000)]
[llvm-rtdyld] Use report_fatal_error().

This is a first step towards saner/uniform error reporting in llvm-rtdyld.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253759 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoARMLoadStoreOptimizer: Cleanup isMemoryOp(); NFC
Matthias Braun [Sat, 21 Nov 2015 02:09:49 +0000 (02:09 +0000)]
ARMLoadStoreOptimizer: Cleanup isMemoryOp(); NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253757 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agollvm-link option and test for recent metadata mapping bug
Teresa Johnson [Sat, 21 Nov 2015 00:35:38 +0000 (00:35 +0000)]
llvm-link option and test for recent metadata mapping bug

Summary:
Add a -preserve-modules option to llvm-link that simulates LTO
clients that don't destroy modules as they are linked. This enables
reproduction of a recent bug introduced by a metadata linking change
that was only caught when the modules weren't destroyed before
writing bitcode (LTO on Windows).

See http://llvm.org/viewvc/llvm-project?view=revision&revision=253170
for more details on the original bug and the fix.

Confirmed the new test added here reproduces the failure using the new
option when I suppress the fix.

Reviewers: pcc

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253740 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoTest commit
Vinicius Tinti [Fri, 20 Nov 2015 23:20:12 +0000 (23:20 +0000)]
Test commit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253737 91177308-0d34-0410-b5e6-96231b3b80d8

6 years ago[llvm-rtdyld] Message() is used only once. Inline. NFC.
Davide Italiano [Fri, 20 Nov 2015 23:12:15 +0000 (23:12 +0000)]
[llvm-rtdyld] Message() is used only once. Inline. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253736 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoAdd some constantness to GetSuccessorNumber().
Rong Xu [Fri, 20 Nov 2015 23:02:06 +0000 (23:02 +0000)]
Add some constantness to GetSuccessorNumber().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253733 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoMove free-zext.ll to llvm/test/Transforms/CodeGenPrepare/AArch64/
NAKAMURA Takumi [Fri, 20 Nov 2015 22:55:34 +0000 (22:55 +0000)]
Move free-zext.ll to llvm/test/Transforms/CodeGenPrepare/AArch64/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253730 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoPower8 and later support fusing addis/addi and addis/ld instruction
Eric Christopher [Fri, 20 Nov 2015 22:38:20 +0000 (22:38 +0000)]
Power8 and later support fusing addis/addi and addis/ld instruction
pairs that use the same register to execute as a single instruction.
No Functional Change

Patch by Kyle Butt!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253724 91177308-0d34-0410-b5e6-96231b3b80d8

6 years agoFix another infinite loop in Reassociate caused by Constant::isZero().
Owen Anderson [Fri, 20 Nov 2015 22:34:48 +0000 (22:34 +0000)]
Fix another infinite loop in Reassociate caused by Constant::isZero().

Not all zero vectors are ConstantDataVector's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253723 91177308-0d34-0410-b5e6-96231b3b80d8