oota-llvm.git
9 years ago[RewriteStatepointsForGC] Strip deref info after rewriting.
Sanjoy Das [Tue, 2 Jun 2015 22:33:37 +0000 (22:33 +0000)]
[RewriteStatepointsForGC] Strip deref info after rewriting.

Summary:
Once a gc.statepoint has been rewritten to relocate live references, the
SSA values represent physical pointers instead of logical references.
Logical dereferencability does not imply physical dereferencability and
after RewriteStatepointsForGC has run any attributes that imply
dereferencability of the logical references need to be stripped.

This current approach is conservative, and can be made more precise
later if needed.  For starters, we need to strip dereferencable
attributes only from pointers that live in the GC address space.

Reviewers: reames, pgavlin

Subscribers: llvm-commits

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

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

9 years ago[NFCI] Change RewriteStatepointsForGC to a ModulePass.
Sanjoy Das [Tue, 2 Jun 2015 22:33:34 +0000 (22:33 +0000)]
[NFCI] Change RewriteStatepointsForGC to a ModulePass.

Summary:
A later change that has RewriteStatepointsForGC change function
attributes throughout the module depends on this.

Reviewers: reames, pgavlin

Subscribers: llvm-commits

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

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

9 years ago[SelectionDAG] Fix PR23603.
Sanjoy Das [Tue, 2 Jun 2015 22:33:30 +0000 (22:33 +0000)]
[SelectionDAG] Fix PR23603.

Summary:
LLVM's MI level notion of invariant_load is different from LLVM's IR
level notion of invariant_load with respect to dereferenceability.  The
IR notion of invariant_load only guarantees that all *non-faulting*
invariant loads result in the same value.  The MI notion of invariant
load guarantees that the load can be legally moved to any location
within its containing function.  The MI notion of invariant_load is
stronger than the IR notion of invariant_load -- an MI invariant_load is
an IR invariant_load + a guarantee that the location being loaded from
is dereferenceable throughout the function's lifetime.

Reviewers: hfinkel, reames

Subscribers: llvm-commits

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

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

9 years agoPass a MCSymbolELF to a few ELF only functions. NFC.
Rafael Espindola [Tue, 2 Jun 2015 21:30:13 +0000 (21:30 +0000)]
Pass a MCSymbolELF to a few ELF only functions. NFC.

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

9 years ago[IR/AsmWriter] Output escape sequences if the first character isdigit()
Filipe Cabecinhas [Tue, 2 Jun 2015 21:25:08 +0000 (21:25 +0000)]
[IR/AsmWriter] Output escape sequences if the first character isdigit()

If the first character in a metadata attachment's name is a digit, it has
to be output using an escape sequence, otherwise it's not valid text IR.

Removed an over-zealous assert from LLVMContext which didn't allow this.
The rule should only apply to text IR. Actual names can have any sequence
of non-NUL bytes.

Also added some documentation on accepted names.

Bug found with AFL fuzz.

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

9 years agoCHECK-LABEL-ize test. NFC
Filipe Cabecinhas [Tue, 2 Jun 2015 21:25:03 +0000 (21:25 +0000)]
CHECK-LABEL-ize test. NFC

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

9 years agoclang-format a few functions. NFC
Filipe Cabecinhas [Tue, 2 Jun 2015 21:25:00 +0000 (21:25 +0000)]
clang-format a few functions. NFC

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

9 years agoMerge MCELF.h into MCSymbolELF.h.
Rafael Espindola [Tue, 2 Jun 2015 20:38:46 +0000 (20:38 +0000)]
Merge MCELF.h into MCSymbolELF.h.

Now that we have a dedicated type for ELF symbol, these helper functions can
become member function of MCSymbolELF.

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

9 years ago[mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only.
Daniel Sanders [Tue, 2 Jun 2015 20:32:50 +0000 (20:32 +0000)]
[mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only.

Summary:
Following on from r209907 which made personality encodings indirect, do the
same for TType encodings. This fixes the case where a try/catch block needs
to generate references to, for example, std::exception in the
.gcc_except_table.

Previous attempts at committing this broke the buildbots due to bugs in IAS.
These bugs have now been fixed so trying again.

Reviewers: petarj

Reviewed By: petarj

Subscribers: srhines, joerg, tberghammer, llvm-commits

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

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

9 years agoAArch64: fix typo in SMIN far atomics and add tests
Tim Northover [Tue, 2 Jun 2015 18:37:20 +0000 (18:37 +0000)]
AArch64: fix typo in SMIN far atomics and add tests

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

9 years agoDebugInfo: Really support 2^16 arguments in a subprogram
Duncan P. N. Exon Smith [Tue, 2 Jun 2015 17:17:44 +0000 (17:17 +0000)]
DebugInfo: Really support 2^16 arguments in a subprogram

As a follow-up to r235955, actually support up to 65535 arguments in a
subprogram.  r235955 missed assembly support, having only tested the new
limit via C++ unit tests.  Code patch by Amjad Aboud.

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

9 years agoDebugInfo: Rename testcases from MD* to DI*, NFC
Duncan P. N. Exon Smith [Tue, 2 Jun 2015 17:13:25 +0000 (17:13 +0000)]
DebugInfo: Rename testcases from MD* to DI*, NFC

As a follow-up to r236120, rename testcases to match the new names.

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

9 years ago[mips][mcjit] Add support for R_MIPS_PC32.
Daniel Sanders [Tue, 2 Jun 2015 15:28:29 +0000 (15:28 +0000)]
[mips][mcjit] Add support for R_MIPS_PC32.

Summary:
This allows us to resolve relocations for DW_EH_PE_pcrel TType encodings
in the exception handling LSDA.

Also fixed a nearby typo.

Reviewers: petarj, vkalintiris

Reviewed By: vkalintiris

Subscribers: vkalintiris, llvm-commits

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

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

9 years agoPush constness through LoopInfo::isLoopHeader and clean it up a bit.
Benjamin Kramer [Tue, 2 Jun 2015 15:28:27 +0000 (15:28 +0000)]
Push constness through LoopInfo::isLoopHeader and clean it up a bit.

NFC.

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

9 years agomake reciprocal estimate code generation more flexible by adding command-line options...
Sanjay Patel [Tue, 2 Jun 2015 15:28:15 +0000 (15:28 +0000)]
make reciprocal estimate code generation more flexible by adding command-line options (2nd try)

The first try (r238051) to land this was reverted due to bot failures
that were hopefully addressed by r238788.

This patch adds a TargetRecip class for processing many recip codegen possibilities.
The class is intended to handle both command-line options to llc as well
as options passed in from a front-end such as clang with the -mrecip option.

The x86 backend is updated to use the new functionality.
Only -mcpu=btver2 with -ffast-math should see a functional change from this patch.
All other x86 CPUs continue to *not* use reciprocal estimates by default with -ffast-math.

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

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

9 years ago[mips] Add RuntimeDyld tests for currently supported O32 relocations.
Daniel Sanders [Tue, 2 Jun 2015 15:01:25 +0000 (15:01 +0000)]
[mips] Add RuntimeDyld tests for currently supported O32 relocations.

Reviewers: petarj, vkalintiris

Reviewed By: vkalintiris

Subscribers: vkalintiris, llvm-commits

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

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

9 years agoAVX-512: Implemented VRANGESD and VRANGESS instructions for SKX Implemented DAG lower...
Elena Demikhovsky [Tue, 2 Jun 2015 14:12:54 +0000 (14:12 +0000)]
AVX-512: Implemented VRANGESD and VRANGESS instructions for SKX Implemented DAG lowering for all these forms.
Added tests for encoding.

By Igor Breger (igor.breger@intel.com)

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

9 years agoAVX-512: Shorten implementation of lowerV16X32VectorShuffle()
Elena Demikhovsky [Tue, 2 Jun 2015 13:43:18 +0000 (13:43 +0000)]
AVX-512: Shorten implementation of lowerV16X32VectorShuffle()
using lowerVectorShuffleWithSHUFPS() and other shuffle-helpers routines.
Added matching of VALIGN instruction.

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

9 years ago[mips] Add support for dynamic stack realignment.
Vasileios Kalintiris [Tue, 2 Jun 2015 13:14:46 +0000 (13:14 +0000)]
[mips] Add support for dynamic stack realignment.

Summary:
With this change we are able to realign the stack dynamically, whenever it
contains objects with alignment requirements that are larger than the
alignment specified from the given ABI.

We have to use the $fp register as the frame pointer when we perform
dynamic stack realignment. In complex stack frames, with variably-sized
objects, we reserve additionally the callee-saved register $s7 as the
base pointer in order to reference locals.

Reviewers: dsanders

Subscribers: llvm-commits

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

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

9 years agoSimplify now that we always use an alignment of 2 for ELF files.
Rafael Espindola [Tue, 2 Jun 2015 12:05:27 +0000 (12:05 +0000)]
Simplify now that we always use an alignment of 2 for ELF files.

This saves 123144 bytes out of llvm-nm on powerpc64le.

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

9 years agoRevert "ARM: Thumb2 LDRD/STRD supports independent input/output regs"
Renato Golin [Tue, 2 Jun 2015 11:47:30 +0000 (11:47 +0000)]
Revert "ARM: Thumb2 LDRD/STRD supports independent input/output regs"

This reverts commit r238795, as it broke the Thumb2 self-hosting buildbot.

Since self-hosting issues with Clang are hard to investigate, I'm taking the
liberty to revert now, so we can investigate it offline.

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

9 years ago[AArch64] Add v8.1a atomic instructions
Vladimir Sukharev [Tue, 2 Jun 2015 10:58:41 +0000 (10:58 +0000)]
[AArch64] Add v8.1a atomic instructions

Patch by: Tom Coxon

Reviewers: t.p.northover

Subscribers: llvm-commits

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

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

9 years ago[mips] [IAS] Reformat mips-expansions.s. NFC.
Toma Tabacu [Tue, 2 Jun 2015 10:34:10 +0000 (10:34 +0000)]
[mips] [IAS] Reformat mips-expansions.s. NFC.

Summary:
Make mips-expansions.s more readable by grouping the instructions with their respective CHECK's.
This test is going to get a lot bigger soon and it will become essentially unreadable if the current formatting is kept.

I've also made the comments more useful and accurate, and I've restricted the RUN lines to under 80 columns.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits

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

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

9 years ago[mips] Test both %dtprel_hi and %dtprel_lo instead of testing %dtprel_hi twice.
Daniel Sanders [Tue, 2 Jun 2015 10:09:08 +0000 (10:09 +0000)]
[mips] Test both %dtprel_hi and %dtprel_lo instead of testing %dtprel_hi twice.

The second %dtprel_hi is used on an addiu so it looks like a copy/paste error.

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

9 years ago[mips] Expand tabs in test/MC/Mips/mips-relocations.s
Daniel Sanders [Tue, 2 Jun 2015 10:02:00 +0000 (10:02 +0000)]
[mips] Expand tabs in test/MC/Mips/mips-relocations.s

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

9 years ago[mips] [IAS] Add support for the .set softfloat/hardfloat directives.
Toma Tabacu [Tue, 2 Jun 2015 09:48:04 +0000 (09:48 +0000)]
[mips] [IAS] Add support for the .set softfloat/hardfloat directives.

Summary: These directives are used to set the current value of the SoftFloat feature.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits, mpf

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

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

9 years agoAVX-512: Implemented VFIXUPIMMSD and VFIXUPIMMSS instructions for KNL
Elena Demikhovsky [Tue, 2 Jun 2015 08:28:57 +0000 (08:28 +0000)]
AVX-512: Implemented VFIXUPIMMSD and VFIXUPIMMSS instructions for KNL
Implemented DAG lowering for all these forms.
Added tests for encoding.

By Igor Breger (igor.breger@intel.com)

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

9 years agorevert 238809
Asaf Badouh [Tue, 2 Jun 2015 07:45:19 +0000 (07:45 +0000)]
revert 238809

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

9 years agoAVX-512: Implemented GETEXP instruction for KNL and SKX
Asaf Badouh [Tue, 2 Jun 2015 07:18:14 +0000 (07:18 +0000)]
AVX-512: Implemented GETEXP instruction for KNL and SKX
Added rounding mode modifier for SQRTPS/PD
Added tests for encoding and intrinsics.

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

9 years ago[TableGen] Use range-based for loops. NFC
Craig Topper [Tue, 2 Jun 2015 06:19:28 +0000 (06:19 +0000)]
[TableGen] Use range-based for loops. NFC

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

9 years agoFix typo in comment. NFC
Craig Topper [Tue, 2 Jun 2015 06:19:25 +0000 (06:19 +0000)]
Fix typo in comment. NFC

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

9 years ago[TableGen] Rename ListInit::getSize to just 'size' to be more consistent.
Craig Topper [Tue, 2 Jun 2015 04:15:57 +0000 (04:15 +0000)]
[TableGen] Rename ListInit::getSize to just 'size' to be more consistent.

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

9 years ago[TableGen] Use range-based for loops. NFC.
Craig Topper [Tue, 2 Jun 2015 04:15:51 +0000 (04:15 +0000)]
[TableGen] Use range-based for loops. NFC.

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

9 years ago[RuntimeDydlELF] Use range-based loop.
Davide Italiano [Tue, 2 Jun 2015 01:52:28 +0000 (01:52 +0000)]
[RuntimeDydlELF] Use range-based loop.

Differential Revision: http://reviews.llvm.org/D10165
Reviewed by: rafael

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

9 years agoCreate a MCSymbolELF.
Rafael Espindola [Tue, 2 Jun 2015 00:25:12 +0000 (00:25 +0000)]
Create a MCSymbolELF.

This create a MCSymbolELF class and moves SymbolSize since only ELF
needs a size expression.

This reduces the size of MCSymbol from 56 to 48 bytes.

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

9 years agoMC: Tidy up LOH naming a bit. NFC.
Jim Grosbach [Mon, 1 Jun 2015 23:55:06 +0000 (23:55 +0000)]
MC: Tidy up LOH naming a bit. NFC.

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

9 years agoMC: Tidy up formatting a bit. NFC.
Jim Grosbach [Mon, 1 Jun 2015 23:55:02 +0000 (23:55 +0000)]
MC: Tidy up formatting a bit. NFC.

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

9 years ago[Support] Simplify Triple::getOSVersion
David Majnemer [Mon, 1 Jun 2015 23:45:25 +0000 (23:45 +0000)]
[Support] Simplify Triple::getOSVersion

Those who are interested in the Android version can use
getEnvironmentVersion instead of getOSVersion.

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

9 years ago[ADT] Add Triple::getEnvironmentVersion
David Majnemer [Mon, 1 Jun 2015 23:38:09 +0000 (23:38 +0000)]
[ADT] Add Triple::getEnvironmentVersion

This allows us to extract version numbers from the environment.
getOSVersion is currently overloaded for that purpose, this allows us to
clean it up.

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

9 years agoARM: Thumb2 LDRD/STRD supports independent input/output regs
Matthias Braun [Mon, 1 Jun 2015 23:27:08 +0000 (23:27 +0000)]
ARM: Thumb2 LDRD/STRD supports independent input/output regs

The existing code would unnecessarily break LDRD/STRD apart with
non-adjacent registers, on thumb2 this is not necessary.

Ideally on thumb2 we shouldn't match for ldrd/strd pre-regalloc anymore
as there is not reason to set register hints anymore, changing that is
something for a future patch however.

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

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

9 years agoAArch64: Use CMP;CCMP sequences for and/or/setcc trees.
Matthias Braun [Mon, 1 Jun 2015 22:31:17 +0000 (22:31 +0000)]
AArch64: Use CMP;CCMP sequences for and/or/setcc trees.

Previously CCMP/FCCMP instructions were only used by the
AArch64ConditionalCompares pass for control flow. This patch uses them
for SELECT like instructions as well by matching patterns in ISelLowering.

PR20927, rdar://18326194

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

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

9 years ago[bpf] fix build
Alexei Starovoitov [Mon, 1 Jun 2015 22:24:36 +0000 (22:24 +0000)]
[bpf] fix build

fix breakage due to r238634

Patch by Vijay Subramanian.

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

9 years agoMove the name pointer out of Value into a map that lives on the
Owen Anderson [Mon, 1 Jun 2015 22:24:01 +0000 (22:24 +0000)]
Move the name pointer out of Value into a map that lives on the
LLVMContext.  Production builds of clang do not set names on most
Value's, so this is wasted space on almost all subclasses of Value.
This reduces the size of all Value subclasses by 8 bytes on 64 bit
hosts.

The one tricky part of this change is averting compile time regression
by keeping Value::hasName() fast.  This required stealing bits out of
NumOperands.

With this change, peak memory usage on verify-uselistorder-nodbg.lto.bc
is decreased by approximately 2.3% (~3MB absolute on my machine).

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

9 years ago[dsymutil] Remove extraneous std::move of local in return statement.
Frederic Riss [Mon, 1 Jun 2015 22:03:05 +0000 (22:03 +0000)]
[dsymutil] Remove extraneous std::move of local in return statement.

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

9 years agoR600/SI: Don't hardcode pointer type
Matt Arsenault [Mon, 1 Jun 2015 21:58:24 +0000 (21:58 +0000)]
R600/SI: Don't hardcode pointer type

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

9 years agoadd missing dependency for ExecutionEngine lib
Sanjay Patel [Mon, 1 Jun 2015 21:56:56 +0000 (21:56 +0000)]
add missing dependency for ExecutionEngine lib

This appears to be masked most of the time, but the problem
was exposed on some bots by r238051.

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

9 years agoLiveRangeEdit: Fix liveranges not shrinking on subrange kill.
Matthias Braun [Mon, 1 Jun 2015 21:26:26 +0000 (21:26 +0000)]
LiveRangeEdit: Fix liveranges not shrinking on subrange kill.

If a dead instruction we may not only have a last-use in the main live
range but also in a subregister range if subregisters are tracked. We
need to partially rebuild live ranges in both cases.

The testcase only broke when subregister liveness was enabled. I
commited it in the current form because there is currently no flag to
enable/disable subregister liveness.

This fixes PR23720.

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

9 years agoARMLoadStoreOptimizer: Fix doxygen comments; NFC
Matthias Braun [Mon, 1 Jun 2015 21:26:23 +0000 (21:26 +0000)]
ARMLoadStoreOptimizer: Fix doxygen comments; NFC

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

9 years ago[dsymutil] Remove unnecessary ';'
Frederic Riss [Mon, 1 Jun 2015 21:25:53 +0000 (21:25 +0000)]
[dsymutil] Remove unnecessary ';'

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

9 years ago[dsymutil] Use YAMLIO to dump debug map.
Frederic Riss [Mon, 1 Jun 2015 21:12:45 +0000 (21:12 +0000)]
[dsymutil] Use YAMLIO to dump debug map.

Doing so will allow us to also accept a YAML debug map in input as using
YAMLIO gives us the parsing for free. Being able to have textual debug
maps will in turn allow much more control over the tests, because 1/
no need to check-in a binary containing the debug map and 2/ it will allow
to use the same objects/IR files with made-up debug-maps to test
different scenari.

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

9 years agoMake the C++ LTO API easier to use from C++ clients.
Peter Collingbourne [Mon, 1 Jun 2015 20:08:30 +0000 (20:08 +0000)]
Make the C++ LTO API easier to use from C++ clients.

Start using C++ types such as StringRef and MemoryBuffer in the C++ LTO
API. In doing so, clarify the ownership of the native object file: the caller
now owns it, not the LTOCodeGenerator. The C libLTO library has been modified
to use a derived class of LTOCodeGenerator that owns the object file.

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

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

9 years agoRevert "[Hexagon] Adding basic ELF relocation generation and testing advanced relaxat...
Rafael Espindola [Mon, 1 Jun 2015 19:20:47 +0000 (19:20 +0000)]
Revert "[Hexagon] Adding basic ELF relocation generation and testing advanced relaxation codepath."

This reverts commit r238748.

It broke the msan bot:

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/4372/steps/check-llvm%20msan/logs/stdio

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

9 years agolit: Allow configurations to restrict the set of tests to run
Arnold Schwaighofer [Mon, 1 Jun 2015 17:50:03 +0000 (17:50 +0000)]
lit: Allow configurations to restrict the set of tests to run

By setting limit_to_features to a non empty list of features a configuration can
restrict the set of tests to run to only include tests that require a feature in
this list.

rdar://21082253

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

9 years agoDisable MachineSink on convergent operations, similar to how IR Sink is
Owen Anderson [Mon, 1 Jun 2015 17:26:30 +0000 (17:26 +0000)]
Disable MachineSink on convergent operations, similar to how IR Sink is
restricted.  No test because no in-tree target currently has convergent
MachineInstr's.

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

9 years agoTeach the IR Sink pass to (conservatively) respect convergent annotations.
Owen Anderson [Mon, 1 Jun 2015 17:20:31 +0000 (17:20 +0000)]
Teach the IR Sink pass to (conservatively) respect convergent annotations.

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

9 years ago[mips][FastISel] Implement bswap.
Vasileios Kalintiris [Mon, 1 Jun 2015 16:40:45 +0000 (16:40 +0000)]
[mips][FastISel] Implement bswap.

Summary: Implement bswap intrinsic for MIPS FastISel. It's very different for misp32 r1/r2 .

Based on a patch by Reed Kotler.

Test Plan:
bswap1.ll
test-suite

Reviewers: dsanders, rkotler

Subscribers: llvm-commits, rfuhler

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

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

9 years ago[mips][FastISel] Implement intrinsics memset, memcopy & memmove.
Vasileios Kalintiris [Mon, 1 Jun 2015 16:36:01 +0000 (16:36 +0000)]
[mips][FastISel] Implement intrinsics memset, memcopy & memmove.

Summary:
Implement the intrinsics memset, memcopy and memmove in MIPS FastISel.
Make some needed infrastructure fixes so that this can work.

Based on a patch by Reed Kotler.

Test Plan:
memtest1.ll
The patch passes test-suite for mips32 r1/r2 and at O0/O2

Reviewers: rkotler, dsanders

Subscribers: llvm-commits, rfuhler

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

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

9 years ago[mips][FastISel] Implement srem/urem and sdiv/udiv instructions.
Vasileios Kalintiris [Mon, 1 Jun 2015 16:17:37 +0000 (16:17 +0000)]
[mips][FastISel] Implement srem/urem and sdiv/udiv instructions.

Summary: Implement the LLVM assembly urem/srem and sdiv/udiv instructions in MIPS FastISel.

Based on a patch by Reed Kotler.

Test Plan:
srem1.ll
div1.ll
test-suite at O0/O2 for mips32 r1/r2

Reviewers: dsanders, rkotler

Subscribers: llvm-commits, rfuhler

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

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

9 years ago[mips][FastISel] Implement the select statement for MIPS FastISel.
Vasileios Kalintiris [Mon, 1 Jun 2015 15:56:40 +0000 (15:56 +0000)]
[mips][FastISel] Implement the select statement for MIPS FastISel.

Summary: Implement the LLVM IR select statement for MIPS FastISelsel.

Based on a patch by Reed Kotler.

Test Plan:
"Make check" test included now.
Passes test-suite at O2/O0 mips32 r1/r2.

Reviewers: dsanders, rkotler

Subscribers: llvm-commits, rfuhler

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

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

9 years ago[mips][FastISel] Clobber HI0/LO0 registers in MUL instructions.
Vasileios Kalintiris [Mon, 1 Jun 2015 15:48:09 +0000 (15:48 +0000)]
[mips][FastISel] Clobber HI0/LO0 registers in MUL instructions.

Summary:
The contents of the HI/LO registers are unpredictable after the execution of
the MUL instruction. In addition to implicitly defining these registers in the
MUL instruction definition, we have to mark those registers as dead too.

Without this the fast register allocator is running out of registers when the
MUL instruction is followed by another one that tries to allocate the AC0
register.

Based on a patch by Reed Kotler.

Reviewers: dsanders, rkotler

Subscribers: llvm-commits, rfuhler

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

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

9 years agoDrop remaining Dragonegg support in release scripts
Hans Wennborg [Mon, 1 Jun 2015 15:37:58 +0000 (15:37 +0000)]
Drop remaining Dragonegg support in release scripts

r236077 and r236081 dropped Dragonegg support from the release scripts
but left some pieces. The most notable change is that Dragonegg won't
be tagged any more.

Patch by David Wiberg <dwiberg@gmail.com>.

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

9 years agoFix relocation selection for foo-. on mips.
Rafael Espindola [Mon, 1 Jun 2015 15:10:51 +0000 (15:10 +0000)]
Fix relocation selection for foo-. on mips.

This handles only the 32 bit case.

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

9 years agoSimplify code, NFC.
Rafael Espindola [Mon, 1 Jun 2015 14:58:29 +0000 (14:58 +0000)]
Simplify code, NFC.

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

9 years agoAdd isConstant argument to MDBuilder::createTBAAStructTagNode
Artur Pilipenko [Mon, 1 Jun 2015 14:53:55 +0000 (14:53 +0000)]
Add isConstant argument to MDBuilder::createTBAAStructTagNode

According to the TBAA description struct-path tag node can have an optional IsConstant field. Add corresponding argument to MDBuilder::createTBAAStructTagNode.

Reviewed By: hfinkel

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

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

9 years ago[Hexagon] Adding basic ELF relocation generation and testing advanced relaxation...
Colin LeMahieu [Mon, 1 Jun 2015 14:51:26 +0000 (14:51 +0000)]
[Hexagon] Adding basic ELF relocation generation and testing advanced relaxation codepath.

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

9 years agoThe fragment implies the section, don't store both.
Rafael Espindola [Mon, 1 Jun 2015 14:34:40 +0000 (14:34 +0000)]
The fragment implies the section, don't store both.

This reduces MCSymbol from 64 to 56 bytes on x86_64.

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

9 years agoFirst commit test.
Asaf Badouh [Mon, 1 Jun 2015 13:56:00 +0000 (13:56 +0000)]
First commit test.

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

9 years ago[CMake] Revert commits r238740/r238741 for embedding Windows version info.
Greg Bedwell [Mon, 1 Jun 2015 13:40:14 +0000 (13:40 +0000)]
[CMake] Revert commits r238740/r238741 for embedding Windows version info.

The clang Windows bots are showing mysterious failures.
Reverting until I can figure out what's going on.

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

9 years agoAVX-512: Optimized vector shuffle for v16f32 and v16i32 types.
Elena Demikhovsky [Mon, 1 Jun 2015 13:26:18 +0000 (13:26 +0000)]
AVX-512: Optimized vector shuffle for v16f32 and v16i32 types.

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

9 years agoRemoving commited assembly file.
Luke Cheeseman [Mon, 1 Jun 2015 13:18:53 +0000 (13:18 +0000)]
Removing commited assembly file.

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

9 years agoremove the use of the LOCATION CMake variable from r238740.
Greg Bedwell [Mon, 1 Jun 2015 13:06:10 +0000 (13:06 +0000)]
remove the use of the LOCATION CMake variable from r238740.

It caused the following failure:
"Policy CMP0026 is not set: Disallow use of the LOCATION target property."

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

9 years agoIn MSVC builds embed a VERSIONINFO resource in our exe and DLL files.
Greg Bedwell [Mon, 1 Jun 2015 12:41:55 +0000 (12:41 +0000)]
In MSVC builds embed a VERSIONINFO resource in our exe and DLL files.

This embeds Windows version information into our executables and DLLs.
The most visible place to view this data is in the details tab of the file
properties window in Windows explorer.

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

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

9 years agoRe-commit of r238201 with fix for building with shared libraries.
Luke Cheeseman [Mon, 1 Jun 2015 12:02:47 +0000 (12:02 +0000)]
Re-commit of r238201 with fix for building with shared libraries.

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

9 years agoAVX-512: Implemented VRANGEPD and VRANGEPD instructions for SKX.
Elena Demikhovsky [Mon, 1 Jun 2015 11:05:34 +0000 (11:05 +0000)]
AVX-512: Implemented VRANGEPD and VRANGEPD instructions for SKX.
Implemented DAG lowering for all these forms.
Added tests for encoding.

By Igor Breger (igor.breger@intel.com)

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

9 years agoAVX-512: Implemented vector shuffle lowering for v8i64 and v8f64 types.
Elena Demikhovsky [Mon, 1 Jun 2015 09:49:53 +0000 (09:49 +0000)]
AVX-512: Implemented vector shuffle lowering for v8i64 and v8f64 types.
I removed the vector-shuffle-512-v8.ll, it is auto-generated test, not valid any more.

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

9 years ago[WinCOFF] Ignore .safeseh for non-x86 architectures
David Majnemer [Mon, 1 Jun 2015 07:34:26 +0000 (07:34 +0000)]
[WinCOFF] Ignore .safeseh for non-x86 architectures

We don't want to bother with creating .sxdata sections on Win64; all the
relevant information is already in the .pdata section.

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

9 years agoAVX-512: added all forms of VPSHUFD and VPSHUFHW, VPSHUFLW
Elena Demikhovsky [Mon, 1 Jun 2015 07:17:23 +0000 (07:17 +0000)]
AVX-512: added all forms of VPSHUFD and VPSHUFHW, VPSHUFLW
including encodings.

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

9 years agoAVX-512: Implemented VFIXUPIMMPD and VFIXUPIMMPS instructions for KNL and SKX
Elena Demikhovsky [Mon, 1 Jun 2015 06:50:49 +0000 (06:50 +0000)]
AVX-512: Implemented VFIXUPIMMPD and VFIXUPIMMPS instructions for KNL and SKX
Implemented DAG lowering for all these forms.
Added tests for encoding.

by Igor Breger (igor.breger@intel.com)

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

9 years ago[TableGen] Move a couple virtual methods out of line so vtable anchors can be removed...
Craig Topper [Mon, 1 Jun 2015 06:44:18 +0000 (06:44 +0000)]
[TableGen] Move a couple virtual methods out of line so vtable anchors can be removed. NFC

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

9 years ago[TableGen] Remove unnecessary explicit initialization to null of a unique_ptr. NFC
Craig Topper [Mon, 1 Jun 2015 06:44:16 +0000 (06:44 +0000)]
[TableGen] Remove unnecessary explicit initialization to null of a unique_ptr. NFC

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

9 years ago[TableGen] Remove unnecessary forward declarations. NFC
Craig Topper [Mon, 1 Jun 2015 06:44:14 +0000 (06:44 +0000)]
[TableGen] Remove unnecessary forward declarations. NFC

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

9 years agoAVX-512: Fixed a bug in compress and expand intrinsics.
Elena Demikhovsky [Mon, 1 Jun 2015 06:30:13 +0000 (06:30 +0000)]
AVX-512: Fixed a bug in compress and expand intrinsics.

By Igor Breger (igor.breger@intel.com)

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

9 years agoAdd address space argument to isLegalAddressingMode
Matt Arsenault [Mon, 1 Jun 2015 05:31:59 +0000 (05:31 +0000)]
Add address space argument to isLegalAddressingMode

This is important because of different addressing modes
depending on the address space for GPU targets.

This only adds the argument, and does not update
any of the uses to provide the correct address space.

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

9 years ago[opaque pointer type] Explicitly store the pointee type of the result of a GEP
David Blaikie [Mon, 1 Jun 2015 03:09:34 +0000 (03:09 +0000)]
[opaque pointer type] Explicitly store the pointee type of the result of a GEP

Alternatively, this type could be derived on-demand whenever
getResultElementType is called - if someone thinks that's the better
choice (simple time/space tradeoff), I'm happy to give it a go.

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

9 years agoTry to fix the build of IntelJITEventListener.
Rafael Espindola [Mon, 1 Jun 2015 02:18:14 +0000 (02:18 +0000)]
Try to fix the build of IntelJITEventListener.

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

9 years agoRename HasData to IsRegistered.
Rafael Espindola [Mon, 1 Jun 2015 01:52:18 +0000 (01:52 +0000)]
Rename HasData to IsRegistered.

There is no MCSectionData, so the old name is now meaningless.

Also remove some asserts/checks that were there just because the information
they used was in MCSectionData.

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

9 years agoRemove trivial forwarding function.
Rafael Espindola [Mon, 1 Jun 2015 01:39:15 +0000 (01:39 +0000)]
Remove trivial forwarding function.

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

9 years agoStore a bit in MCSection saying if it was registered with MCAssembler.
Rafael Espindola [Mon, 1 Jun 2015 01:30:01 +0000 (01:30 +0000)]
Store a bit in MCSection saying if it was registered with MCAssembler.

With this we can replace a SetVector with a plain std::vector.

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

9 years agoUse a bitfield. NFC.
Rafael Espindola [Mon, 1 Jun 2015 01:05:07 +0000 (01:05 +0000)]
Use a bitfield. NFC.

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

9 years agoUse a 32 bit field for the symbol index.
Rafael Espindola [Mon, 1 Jun 2015 00:58:31 +0000 (00:58 +0000)]
Use a 32 bit field for the symbol index.

Even 64 ELF uses a 32 bit field to refer to symbols.

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

9 years agoSimplify another function that doesn't fail.
Rafael Espindola [Mon, 1 Jun 2015 00:27:26 +0000 (00:27 +0000)]
Simplify another function that doesn't fail.

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

9 years ago[PHITransAddr] Don't translate unreachable values
David Majnemer [Mon, 1 Jun 2015 00:15:08 +0000 (00:15 +0000)]
[PHITransAddr] Don't translate unreachable values

Unreachable values may use themselves in strange ways due to their
dominance property.  Attempting to translate through them can lead to
infinite recursion, crashing LLVM.  Instead, claim that we weren't able
to translate the value.

This fixes PR23096.

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

9 years ago[PHITransAddr] Use std::find instead of std::count
David Majnemer [Mon, 1 Jun 2015 00:15:04 +0000 (00:15 +0000)]
[PHITransAddr] Use std::find instead of std::count

There is no need to visit all the elements if we are merely performing a
membership check.  NFCI.

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

9 years agoSimplify interface of function that doesn't fail.
Rafael Espindola [Sun, 31 May 2015 23:52:50 +0000 (23:52 +0000)]
Simplify interface of function that doesn't fail.

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

9 years ago[DWARF] Fix a bug in line info handling
Keno Fischer [Sun, 31 May 2015 23:37:04 +0000 (23:37 +0000)]
[DWARF] Fix a bug in line info handling

This fixes a bug in the line info handling in the dwarf code, based on a
problem I when implementing RelocVisitor support for MachO.
Since addr+size will give the first address past the end of the function,
we need to back up one line table entry. Fix this by looking up the
end_addr-1, which is the last address in the range. Note that this also
removes a duplicate output from the llvm-rtdyld line table dump. The
relevant line is the end_sequence one in the line table and has an offset
of the first address part the end of the range and hence should not be
included.
Also factor out the common functionality into a separate function.
This comes up on MachO much more than on ELF, since MachO
doesn't store the symbol size separately, hence making
said situation always occur.

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

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

9 years agoFor COFF and MachO, compute the gap between to symbols.
Rafael Espindola [Sun, 31 May 2015 23:15:35 +0000 (23:15 +0000)]
For COFF and MachO, compute the gap between to symbols.

Before r238028 we used to do this in O(N^2), now we do it in O(N log N).

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

9 years agoARMConstantIslandPass.cpp: Prune an empty \brief. [-Wdocumentation]
NAKAMURA Takumi [Sun, 31 May 2015 23:05:35 +0000 (23:05 +0000)]
ARMConstantIslandPass.cpp: Prune an empty \brief.  [-Wdocumentation]

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

9 years ago[Hexagon] Including raw_ostream for debug builds.
Colin LeMahieu [Sun, 31 May 2015 22:29:33 +0000 (22:29 +0000)]
[Hexagon] Including raw_ostream for debug builds.

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

9 years ago[Hexagon] classes are actually structs.
Colin LeMahieu [Sun, 31 May 2015 22:18:42 +0000 (22:18 +0000)]
[Hexagon] classes are actually structs.

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

9 years agoUse a range loop. NFC.
Rafael Espindola [Sun, 31 May 2015 22:13:51 +0000 (22:13 +0000)]
Use a range loop. NFC.

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