OSDN Git Service

android-x86/external-llvm.git
8 years agoFix typo in the C API comments
Amaury Sechet [Mon, 18 Jan 2016 01:06:52 +0000 (01:06 +0000)]
Fix typo in the C API comments

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

8 years ago[Orc] Expand a comment explaining a unit test.
Lang Hames [Mon, 18 Jan 2016 01:00:19 +0000 (01:00 +0000)]
[Orc] Expand a comment explaining a unit test.

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

8 years ago[Orc] Enable ORC execution unit tests on non-windows platforms.
Lang Hames [Mon, 18 Jan 2016 00:47:25 +0000 (00:47 +0000)]
[Orc] Enable ORC execution unit tests on non-windows platforms.

Previously these were Darwin-only. Since the switch to direct binary emission
of stubs, trampolines and resolver blocks, these should work on other *nix
platforms too.

These tests can be enabled on Windows once known issues with ORC's handling of
Windows symbol mangling (see e.g. https://llvm.org/PR25940) have been fixed.

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

8 years agominor comment clean and add a method \NFC
Xinliang David Li [Mon, 18 Jan 2016 00:26:33 +0000 (00:26 +0000)]
minor comment clean and add a method \NFC

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

8 years agoRevert assert added in rL258028 as the alloca and OtherPtr types may differ in addres...
Eduard Burtescu [Mon, 18 Jan 2016 00:20:34 +0000 (00:20 +0000)]
Revert assert added in rL258028 as the alloca and OtherPtr types may differ in address space.

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

8 years ago[opaque pointer types] Alloca: use getAllocatedType() instead of getType()->getPointe...
Eduard Burtescu [Mon, 18 Jan 2016 00:10:01 +0000 (00:10 +0000)]
[opaque pointer types] Alloca: use getAllocatedType() instead of getType()->getPointerElementType().

Reviewers: mjacob

Subscribers: llvm-commits, dblaikie

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

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

8 years agofix variable names; NFC
Sanjay Patel [Sun, 17 Jan 2016 23:18:05 +0000 (23:18 +0000)]
fix variable names; NFC

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

8 years agofix typos; NFC
Sanjay Patel [Sun, 17 Jan 2016 23:13:48 +0000 (23:13 +0000)]
fix typos; NFC

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

8 years ago[Support/ELF] Add Sun machine-independent extesions DT_* constants.
Davide Italiano [Sun, 17 Jan 2016 22:46:50 +0000 (22:46 +0000)]
[Support/ELF] Add Sun machine-independent extesions DT_* constants.

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

8 years ago[opaque pointer types] [breaking-change] [NFC] SimplifyGEPInst: take the source eleme...
Manuel Jacob [Sun, 17 Jan 2016 22:46:43 +0000 (22:46 +0000)]
[opaque pointer types] [breaking-change] [NFC] SimplifyGEPInst: take the source element type of the GEP as an argument.

Patch by Eduard Burtescu.

Reviewers: dblaikie, mjacob

Subscribers: llvm-commits

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

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

8 years ago[opaque pointer types] [NFC] CallSite: use getFunctionType() instead of going through...
Manuel Jacob [Sun, 17 Jan 2016 22:37:39 +0000 (22:37 +0000)]
[opaque pointer types] [NFC] CallSite: use getFunctionType() instead of going through PointerType::getElementType.

Patch by Eduard Burtescu.

Reviewers: dblaikie, mjacob

Subscribers: dsanders, llvm-commits, dblaikie

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

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

8 years ago[NFC] Remove one dead PointerType::getElementType() call.
Manuel Jacob [Sun, 17 Jan 2016 22:28:28 +0000 (22:28 +0000)]
[NFC] Remove one dead PointerType::getElementType() call.

Reviewers: dblaikie, mjacob

Subscribers: llvm-commits, dblaikie

Patch by Eduard Burtescu.

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

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

8 years ago[TableGen] Keep a returned const reference instead of making a copy. NFC
Craig Topper [Sun, 17 Jan 2016 20:38:21 +0000 (20:38 +0000)]
[TableGen] Keep a returned const reference instead of making a copy. NFC

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

8 years ago[TableGen] Replace instructions() with getInstructionsByEnumValue(). No need to make...
Craig Topper [Sun, 17 Jan 2016 20:38:18 +0000 (20:38 +0000)]
[TableGen] Replace instructions() with getInstructionsByEnumValue(). No need to make an iterator_range when we already have a function that returns an ArrayRef. NFC

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

8 years ago[TableGen] Return ArrayRef instead of a std::vector reference from getInstructionsByE...
Craig Topper [Sun, 17 Jan 2016 20:38:14 +0000 (20:38 +0000)]
[TableGen] Return ArrayRef instead of a std::vector reference from getInstructionsByEnumValue(). NFC

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

8 years ago[TableGen] Use std::find instead of a manual loop. NFC
Craig Topper [Sun, 17 Jan 2016 19:51:14 +0000 (19:51 +0000)]
[TableGen] Use std::find instead of a manual loop. NFC

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

8 years ago[IndVars] Fix PR25576
Sanjoy Das [Sun, 17 Jan 2016 18:12:52 +0000 (18:12 +0000)]
[IndVars] Fix PR25576

`LCSSASafePhiForRAUW` as computed was incorrect -- in cases like
these (this exact example does not actually trigger the bug):

define i32 @f(i32 %n, i1* %c) {
entry:
  br label %outer.loop

outer.loop:
  br label %inner.loop

inner.loop:
  %iv = phi i32 [ 0, %outer.loop ], [ %iv.inc, %inner.loop ]
  %iv.inc = add nuw nsw i32 %iv, 1
  %tc = udiv i32 %n, 13
  %be.cond = icmp ult i32 %iv, %tc
  br i1 %be.cond, label %inner.loop, label %inner.exit

inner.exit:
  %iv.lcssa = phi i32 [ %iv, %inner.loop ]
  %outer.be.cond = load volatile i1, i1* %c
  br i1 %outer.be.cond, label %outer.loop, label %leave

leave:
  %iv.lcssa.lcssa = phi i32 [ %iv.lcssa, %inner.exit ]
  ret i32 %iv.lcssa.lcssa
}

`LCSSASafePhiForRAUW` is true for `%iv.lcssa` when re-rewriting the exit
value of `%iv` for `%inner.loop` to `%tc` (this can happen due to
`SCEVExpander::findExistingExpansion`), but the RAUW breaks LCSSA.

To fix this, instead of computing `SafePhi` with special logic, decide
the safety of RAUW directly via `replacementPreservesLCSSAForm`.

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

8 years ago[IndVars] Use emplace_back; NFC
Sanjoy Das [Sun, 17 Jan 2016 18:12:48 +0000 (18:12 +0000)]
[IndVars] Use emplace_back; NFC

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

8 years ago[SCEV] Use range for; NFC
Sanjoy Das [Sun, 17 Jan 2016 18:12:45 +0000 (18:12 +0000)]
[SCEV] Use range for; NFC

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

8 years ago[X86][AVX512] Regenerate v1 shuffle tests
Simon Pilgrim [Sun, 17 Jan 2016 14:53:17 +0000 (14:53 +0000)]
[X86][AVX512] Regenerate v1 shuffle tests

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

8 years ago[AVX512] adding AVXVBMI feature flag
Michael Zuckerman [Sun, 17 Jan 2016 13:42:12 +0000 (13:42 +0000)]
[AVX512] adding AVXVBMI feature flag

The feature flag is for VPERMB,VPERMI2B,VPERMT2B and VPMULTISHIFTQB instructions.
More about the instruction can be found in:
hattps://software.intel.com/sites/default/files/managed/07/b7/319433-023.pdf

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

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

8 years agoFix buildbot failure introduced by 258010. Remove local variables became unused.
Artur Pilipenko [Sun, 17 Jan 2016 12:59:40 +0000 (12:59 +0000)]
Fix buildbot failure introduced by 258010. Remove local variables became unused.

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

8 years agoPush isDereferenceableAndAlignedPointer down into isSafeToLoadUnconditionally
Artur Pilipenko [Sun, 17 Jan 2016 12:35:29 +0000 (12:35 +0000)]
Push isDereferenceableAndAlignedPointer down into isSafeToLoadUnconditionally

Reviewed By: reames

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

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

8 years agoAVX512: Use MemIntrinsicSDNode to implement load/store intrinsic.
Igor Breger [Sun, 17 Jan 2016 12:10:24 +0000 (12:10 +0000)]
AVX512: Use MemIntrinsicSDNode to implement load/store intrinsic.

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

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

8 years ago[AVX512] Adding VPERMW/D/Q VPERMPS/D Intrinsics
Michael Zuckerman [Sun, 17 Jan 2016 11:33:29 +0000 (11:33 +0000)]
[AVX512] Adding VPERMW/D/Q VPERMPS/D Intrinsics

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

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

8 years ago[TableGen] Use a StringRef instead of creating a new std::string. It gets passed...
Craig Topper [Sun, 17 Jan 2016 08:47:02 +0000 (08:47 +0000)]
[TableGen] Use a StringRef instead of creating a new std::string. It gets passed to a function that takes a StringRef anyway. NFC

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

8 years ago[AVX512] Adding VPERMQ VPERMPD Intrinsics
Michael Zuckerman [Sun, 17 Jan 2016 08:32:14 +0000 (08:32 +0000)]
[AVX512] Adding VPERMQ VPERMPD Intrinsics

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

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

8 years ago[TableGen] Changes to AsmWriterEmitter to remove the CodeGenInstruction to AsmWriterI...
Craig Topper [Sun, 17 Jan 2016 08:05:33 +0000 (08:05 +0000)]
[TableGen] Changes to AsmWriterEmitter to remove the CodeGenInstruction to AsmWriterInst map. NFC

Adds the corresponding CodeGenInstruction number to each AsmWriterInst. Then write all the operand uniqueing loops using the AsmWriterInst array and indices. Then use the CodeGenInstruction index to fill out the OpCodeInfo array.

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

8 years ago[TableGen] Use std::find instead of a manual loop. NFC
Craig Topper [Sun, 17 Jan 2016 08:05:30 +0000 (08:05 +0000)]
[TableGen] Use std::find instead of a manual loop. NFC

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

8 years agoRemove some stale comments and fix a typo as suggested by David Blaikie in his
Lang Hames [Sun, 17 Jan 2016 01:49:46 +0000 (01:49 +0000)]
Remove some stale comments and fix a typo as suggested by David Blaikie in his
review of r257343.

Thanks Dave!

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

8 years ago[llvm-readobj][ELF] Teach llvm-readobj to show dynamic relocation in REL format
Simon Atanasyan [Sat, 16 Jan 2016 22:40:09 +0000 (22:40 +0000)]
[llvm-readobj][ELF] Teach llvm-readobj to show dynamic relocation in REL format

MIPS 32-bit ABI uses REL relocation record format to save dynamic
relocations. The patch teaches llvm-readobj to show dynamic relocations
in this format.

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

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

8 years ago[X86][AVX] Enable extraction of upper 128-bit subvectors for 'half undef' shuffle...
Simon Pilgrim [Sat, 16 Jan 2016 22:30:20 +0000 (22:30 +0000)]
[X86][AVX] Enable extraction of upper 128-bit subvectors for 'half undef' shuffle lowering

Added support for the extraction of the upper 128-bit subvectors for lower/upper half undef shuffles if it would reduce the number of extractions/insertions or avoid loads of AVX2 permps/permd shuffle masks.

Minor follow up to D15477.

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

8 years agoGlobalValue: use getValueType() instead of getType()->getPointerElementType().
Manuel Jacob [Sat, 16 Jan 2016 20:30:46 +0000 (20:30 +0000)]
GlobalValue: use getValueType() instead of getType()->getPointerElementType().

Reviewers: mjacob

Subscribers: jholewinski, arsenm, dsanders, dblaikie

Patch by Eduard Burtescu.

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

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

8 years ago[X86][SSE] Added extra 'float3' consecutive load tests
Simon Pilgrim [Sat, 16 Jan 2016 19:53:33 +0000 (19:53 +0000)]
[X86][SSE] Added extra 'float3' consecutive load tests

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

8 years agoCXX_FAST_TLS calling convention: fix issue on x86-64.
Manman Ren [Sat, 16 Jan 2016 16:39:46 +0000 (16:39 +0000)]
CXX_FAST_TLS calling convention: fix issue on x86-64.

%RBP can't be handled explicitly. We generate the following code:
    pushq %rbp
    movq  %rsp, %rbp
    ...
    movq  %rbx, (%rbp)  ## 8-byte Spill
where %rbp will be overwritten by the spilled value.

The fix is to let PEI handle %RBP.
PR26136

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

8 years ago[X86][SSE] Regenerated SSE4 CRC32 and v2i64 comparison tests
Simon Pilgrim [Sat, 16 Jan 2016 15:41:42 +0000 (15:41 +0000)]
[X86][SSE] Regenerated SSE4 CRC32 and v2i64 comparison tests

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

8 years ago[X86][AVX] Regenerated AVX tests
Simon Pilgrim [Sat, 16 Jan 2016 15:25:02 +0000 (15:25 +0000)]
[X86][AVX] Regenerated AVX tests

Updated i1 select, vector truncation and subvector extraction tests

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

8 years agoSimilar to rL257663, remove `function` keywords from export.sh and
Dimitry Andric [Sat, 16 Jan 2016 15:18:35 +0000 (15:18 +0000)]
Similar to rL257663, remove `function` keywords from export.sh and
tag.sh, since they are marked to be run with /bin/sh.

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

8 years ago[X86]AVX] Tidyup shift/splat tests
Simon Pilgrim [Sat, 16 Jan 2016 15:13:58 +0000 (15:13 +0000)]
[X86]AVX] Tidyup shift/splat tests

Missing comments, fixed bad word wrapping

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

8 years ago[X86][SSE] Regenerated HADD/HSUB tests
Simon Pilgrim [Sat, 16 Jan 2016 14:03:40 +0000 (14:03 +0000)]
[X86][SSE] Regenerated HADD/HSUB tests

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

8 years ago[BasicAliasAnalysis] Take into account operand bundles in the getModRefInfo function
Igor Laevsky [Sat, 16 Jan 2016 12:15:53 +0000 (12:15 +0000)]
[BasicAliasAnalysis] Take into account operand bundles in the getModRefInfo function

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

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

8 years agoFixed CRLF->LF line endings from r257914. NFC.
George Rimar [Sat, 16 Jan 2016 10:38:32 +0000 (10:38 +0000)]
Fixed CRLF->LF line endings from r257914. NFC.

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

8 years ago[llvm-readobj] Dump DT_RELACOUNT correctly.
Davide Italiano [Sat, 16 Jan 2016 06:06:36 +0000 (06:06 +0000)]
[llvm-readobj] Dump DT_RELACOUNT correctly.

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

8 years ago[PGO] fix a bug in profile summary computation
Xinliang David Li [Sat, 16 Jan 2016 05:29:49 +0000 (05:29 +0000)]
[PGO] fix a bug in profile summary computation

Entry block count was not counted and is corrected. Also
introduce a new metric that is MaxInternalBlockCount which
show command shows (as before).

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

8 years ago[libFuzzer] replace vector with a simpler data structure in the Dictionaries to avoid...
Kostya Serebryany [Sat, 16 Jan 2016 03:53:32 +0000 (03:53 +0000)]
[libFuzzer] replace vector with a simpler data structure in the Dictionaries to avoid memory allocations on hot path

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

8 years ago[Cygwin] Use -femulated-tls by default since r257718 introduced the new pass.
NAKAMURA Takumi [Sat, 16 Jan 2016 03:44:52 +0000 (03:44 +0000)]
[Cygwin] Use -femulated-tls by default since r257718 introduced the new pass.

FIXME: Add more targets to use emutls into clang/test/Driver/emulated-tls.cpp.
FIXME: Add cygwin tests into llvm/test/CodeGen/X86. Working in progress.

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

8 years ago[libFuzzer] introduce LLVMFuzzerInitialize
Kostya Serebryany [Sat, 16 Jan 2016 01:23:12 +0000 (01:23 +0000)]
[libFuzzer] introduce LLVMFuzzerInitialize

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

8 years ago[DwarfDebug] Don't merge DebugLocEntries if their pieces overlap
Keno Fischer [Sat, 16 Jan 2016 01:15:32 +0000 (01:15 +0000)]
[DwarfDebug] Don't merge DebugLocEntries if their pieces overlap

Summary:
Later in DWARF emission we check that DebugLocEntries have
non-overlapping pieces, so we should create any such entries
by merging here.

Fixes PR26163.

Reviewers: aprantl
Differential Revision: http://reviews.llvm.org/D16249

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

8 years ago[DwarfDebug] Move MergeValues to .cpp, NFC
Keno Fischer [Sat, 16 Jan 2016 01:11:33 +0000 (01:11 +0000)]
[DwarfDebug] Move MergeValues to .cpp, NFC

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

8 years agoRevert of 57967
George Rimar [Sat, 16 Jan 2016 00:49:19 +0000 (00:49 +0000)]
Revert of 57967
Initial commit message:
CRLF -> LF. NFC

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

8 years agoIntroduce sanstats tool and llvm::CreateSanitizerStatReport function.
Peter Collingbourne [Sat, 16 Jan 2016 00:31:11 +0000 (00:31 +0000)]
Introduce sanstats tool and llvm::CreateSanitizerStatReport function.

This is part of a new statistics gathering feature for the sanitizers.
See clang/docs/SanitizerStats.rst for further info and docs.

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

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

8 years ago[WebAssembly] Add some more README.txt entries.
Dan Gohman [Sat, 16 Jan 2016 00:20:03 +0000 (00:20 +0000)]
[WebAssembly] Add some more README.txt entries.

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

8 years agoCRLF -> LF. NFC
George Rimar [Sat, 16 Jan 2016 00:14:21 +0000 (00:14 +0000)]
CRLF -> LF. NFC

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

8 years ago[codeview] Remove custom line info struct in favor of DebugLoc
Reid Kleckner [Sat, 16 Jan 2016 00:09:09 +0000 (00:09 +0000)]
[codeview] Remove custom line info struct in favor of DebugLoc

The only functional change would be that we might emit multiple filename
segments on code like this:

  void f() {
  #include "p1/../t.h"
  #include "p2/../t.h"
  }

I believe these get separate DIFile metadata nodes, but will have the
same canonicalized absolute path. Previously by computing the path up
front and comparing it we would merge the line info segments.

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

8 years ago[X86]: Make param names in header and body match for isCalleePop.
Kevin B. Smith [Sat, 16 Jan 2016 00:08:36 +0000 (00:08 +0000)]
[X86]: Make param names in header and body match for isCalleePop.
Differential Revision: http://reviews.llvm.org/D16246

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

8 years ago[libFuzzer] move some code from public interface header to a non-public header. NFC
Kostya Serebryany [Sat, 16 Jan 2016 00:04:36 +0000 (00:04 +0000)]
[libFuzzer] move some code from public interface header to a non-public header. NFC

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

8 years ago[WebAssembly] Don't create a needless .note.GNU-stack section
Dan Gohman [Fri, 15 Jan 2016 23:59:13 +0000 (23:59 +0000)]
[WebAssembly] Don't create a needless .note.GNU-stack section

WebAssembly's stack will never be executable by default, so it isn't
necessary to declare .note.GNU-stack sections to request a non-executable
stack.

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

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

8 years ago[NVPTX] Do not emit .hidden or .protected directives as they are not allowed by PTX.
Artem Belevich [Fri, 15 Jan 2016 23:57:53 +0000 (23:57 +0000)]
[NVPTX] Do not emit .hidden or .protected directives as they are not allowed by PTX.

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

8 years ago[WebAssembly] Re-enable a test.
Dan Gohman [Fri, 15 Jan 2016 23:47:19 +0000 (23:47 +0000)]
[WebAssembly] Re-enable a test.

Out-of-tree projects that don't support this can disable the test for
themselves rather than having it disabled in LLVM itself.

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

8 years ago[Orc] Replace switch cases with a macro.
Lang Hames [Fri, 15 Jan 2016 23:19:06 +0000 (23:19 +0000)]
[Orc] Replace switch cases with a macro.

The cases of this switch are all perfectly regular (except for the first case).
A macro is more readable here.

Thanks to Dave Blaikie for the suggestion.

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

8 years ago[opaque pointer types] Remove an unnecessary extra explicit value type in Function
David Blaikie [Fri, 15 Jan 2016 23:07:58 +0000 (23:07 +0000)]
[opaque pointer types] Remove an unnecessary extra explicit value type in Function

Now that this is up in GlobalValue, just use the value there.

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

8 years agoValueTracking: Put DataLayout reference into the Query structure, NFC.
Matthias Braun [Fri, 15 Jan 2016 22:22:04 +0000 (22:22 +0000)]
ValueTracking: Put DataLayout reference into the Query structure, NFC.

It looks nicer and improves the compiletime of a typical
clang -O3 -emit-llvm run by ~0.6% for me.

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

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

8 years ago[codeview] Handle multiple frame descriptions in readobj
Reid Kleckner [Fri, 15 Jan 2016 22:09:13 +0000 (22:09 +0000)]
[codeview] Handle multiple frame descriptions in readobj

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

8 years agoRemove a now-empty file left behind by r257940.
Dan Gohman [Fri, 15 Jan 2016 22:07:35 +0000 (22:07 +0000)]
Remove a now-empty file left behind by r257940.

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

8 years ago[SelectionDAG] CSE nodes with differing SDNodeFlags
Dan Gohman [Fri, 15 Jan 2016 21:56:40 +0000 (21:56 +0000)]
[SelectionDAG] CSE nodes with differing SDNodeFlags

In the optimizer (GVN etc.) when eliminating redundant nodes with different
flags, the flags are ignored for the purposes of testing for congruence, and
then intersected for the purposes of producing a result that supports the union
of all the uses. This commit makes SelectionDAG's CSE do the same thing,
allowing it to CSE nodes in more cases. This fixes PR26063.

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

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

8 years ago[Orc] Make FDRPCChannel final.
Lang Hames [Fri, 15 Jan 2016 21:35:24 +0000 (21:35 +0000)]
[Orc] Make FDRPCChannel final.

This class is in the LLI tool, and isn't subclassed.

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

8 years agoPM: Fix an inverted condition in simplifyFunctionCFG
Justin Bogner [Fri, 15 Jan 2016 21:21:39 +0000 (21:21 +0000)]
PM: Fix an inverted condition in simplifyFunctionCFG

I mentioned the issue here in code review way back in September and
was sure we'd fixed it, but apparently we forgot:

  http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20150921/301850.html

In any case, as soon as you try to use this pass in anything but the
most basic pipeline everything falls apart. Fix the condition.

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

8 years ago[WinEH] Rename CatchReturnInst::getParentPad, NFC
Joseph Tremoulet [Fri, 15 Jan 2016 21:16:19 +0000 (21:16 +0000)]
[WinEH] Rename CatchReturnInst::getParentPad, NFC

Summary:
Rename to getCatchSwitchParentPad, to make it more clear which ancestor
the "parent" in question is.  Add a comment pointing out the key feature
that the returned pad indicates which funclet contains the successor
block.

Reviewers: rnk, andrew.w.kaylor, majnemer

Subscribers: llvm-commits

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

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

8 years ago[Orc] Remove some reinterpret casts in debugging output.
Lang Hames [Fri, 15 Jan 2016 21:14:05 +0000 (21:14 +0000)]
[Orc] Remove some reinterpret casts in debugging output.

These casts were from function pointer to data pointer type, which some
compilers (including GCC) may warn about. In all cases where these casts were
used the original value was still available as a TargetAddress (uint64_t), so
we can just print a formatted version of that instead.

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

8 years agoCXX_FAST_TLS calling convention: fix issue on ARM.
Manman Ren [Fri, 15 Jan 2016 20:24:11 +0000 (20:24 +0000)]
CXX_FAST_TLS calling convention: fix issue on ARM.

When we have a single basic block, the explicit copy-back instructions should
be inserted right before the terminator. Before this fix, they were wrongly
placed at the beginning of the basic block.

PR26136

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

8 years agoCXX_FAST_TLS calling convention: fix issue on AArch64.
Manman Ren [Fri, 15 Jan 2016 20:13:28 +0000 (20:13 +0000)]
CXX_FAST_TLS calling convention: fix issue on AArch64.

When we have a single basic block, the explicit copy-back instructions should
be inserted right before the terminator. Before this fix, they were wrongly
placed at the beginning of the basic block.

I will commit fixes to other platforms as well.

PR26136

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

8 years ago[Orc] Add a void cast to work around a GCC diagnostic bug.
Lang Hames [Fri, 15 Jan 2016 19:37:14 +0000 (19:37 +0000)]
[Orc] Add a void cast to work around a GCC diagnostic bug.

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

8 years agoCXX_FAST_TLS calling convention: fix issue on X86-64.
Manman Ren [Fri, 15 Jan 2016 19:35:42 +0000 (19:35 +0000)]
CXX_FAST_TLS calling convention: fix issue on X86-64.

When we have a single basic block, the explicit copy-back instructions should
be inserted right before the terminator. Before this fix, they were wrongly
placed at the beginning of the basic block.

I will commit fixes to other platforms as well.

PR26136

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

8 years agoFix -Wmismatched-tags warning/error
Xinliang David Li [Fri, 15 Jan 2016 19:22:41 +0000 (19:22 +0000)]
Fix -Wmismatched-tags warning/error

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

8 years agoCodegen: [PPC] Silence false-positive initialization warning. NFC
Kyle Butt [Fri, 15 Jan 2016 19:20:06 +0000 (19:20 +0000)]
Codegen: [PPC] Silence false-positive initialization warning. NFC

Some compilers don't do exhaustive switch checking. For those compilers,
add an initialization to prevent un-initialized variable warnings from
firing. For compilers with exhaustive switch checking, we still get a
guarantee that the switch is exhaustive, and hence the initializations
are redundant, and a non-functional change.

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

8 years ago[PGO] Commonize (more) index profile file and buffer writer.
Xinliang David Li [Fri, 15 Jan 2016 19:01:04 +0000 (19:01 +0000)]
[PGO] Commonize (more) index profile file and buffer writer.

The file and buffer writer code are mostly shared except for the
stream back-patching. This is because raw_string_ostream does not
support seek like interface. The result is that the data patching
code needs to be pushed to the caller which is not quite readable
(passing around offset, value etc). This also makes future enhancement
(which needs more patching) more difficult (and can make impl messy).

In this patch, two types of streams needed by the writer are now
unified with same set of interfaces under ProfOStream class. The patch
method is added so that common implementation becomes cleaner. It
also enables future enhancement. Should be NFC.

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

8 years agoBring back "Assert that we have all use/users in the getters."
Rafael Espindola [Fri, 15 Jan 2016 19:00:20 +0000 (19:00 +0000)]
Bring back "Assert that we have all use/users in the getters."

This reverts commit r257751, bringing back r256105.

The problem the assert found was fixed in r257915.

Original commit message:

Assert that we have all use/users in the getters.

An error that is pretty easy to make is to use the lazy bitcode reader
and then do something like

if (V.use_empty())

The problem is that uses in unmaterialized functions are not accounted
for.

This patch adds asserts that all uses are known.

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

8 years agoRevert "[ARM] Add ARMv8-M security extension instructions to ARMv8-M Baseline/Mainline"
Reid Kleckner [Fri, 15 Jan 2016 18:55:12 +0000 (18:55 +0000)]
Revert "[ARM] Add ARMv8-M security extension instructions to ARMv8-M Baseline/Mainline"

This reverts commit r257883.

Somehow this didn't make it into r257916.

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

8 years agoReapply r257800 with fix
Matthew Simpson [Fri, 15 Jan 2016 18:51:51 +0000 (18:51 +0000)]
Reapply r257800 with fix

The fix uniques the bundle of getelementptr indices we are about to vectorize
since it's possible for the same index to be used by multiple instructions.
The original commit message is below.

[SLP] Vectorize the index computations of getelementptr instructions.

This patch seeds the SLP vectorizer with getelementptr indices. The primary
motivation in doing so is to vectorize gather-like idioms beginning with
consecutive loads (e.g., g[a[0] - b[0]] + g[a[1] - b[1]] + ...). While these
cases could be vectorized with a top-down phase, seeding the existing bottom-up
phase with the index computations avoids the complexity, compile-time, and
phase ordering issues associated with a full top-down pass. Only bundles of
single-index getelementptrs with non-constant differences are considered for
vectorization.

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

8 years ago# This is a combination of 2 commits.
Reid Kleckner [Fri, 15 Jan 2016 18:31:29 +0000 (18:31 +0000)]
# This is a combination of 2 commits.
# The first commit's message is:

Revert "[ARM] Add DSP build attribute and extension targeting"

This reverts commit b11cc50c0b4a7c8cdb628abc50b7dc226ff583dc.

# This is the 2nd commit message:

Revert "[ARM] Add new system registers to ARMv8-M Baseline/Mainline"

This reverts commit 837d08454e3e5beb8581951ac26b22fa07df3cd5.

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

8 years agoDon't try to check all uses if lazy loading.
Rafael Espindola [Fri, 15 Jan 2016 18:23:46 +0000 (18:23 +0000)]
Don't try to check all uses if lazy loading.

This means that LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN will not be set
in a few cases.

This should have no impact in ld64 since it doesn't use lazy loading
when merging modules and that is when it checks
LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN.

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

8 years agoRecommit r257912
George Rimar [Fri, 15 Jan 2016 18:21:34 +0000 (18:21 +0000)]
Recommit r257912
Added forgotten ELFDumper.cpp to commit.

Initial commit message:
[llvm-readobj] Add support for TLSDESC_PLT and TLSDESC_GOT dynamic section tags to the llvm-readobj.

If module uses uses lazy TLSDESC relocations it should define DT_TLSDESC_PLT and DT_TLSDESC_GOT entries.
They were unknown for llvm-readobj before this patch.

Differential revision: http://reviews.llvm.org/D16224

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

8 years agoRevert r257912 - forgot to commit one file.
George Rimar [Fri, 15 Jan 2016 18:19:06 +0000 (18:19 +0000)]
Revert r257912 - forgot to commit one file.

Initial commit message:
[llvm-readobj] Add support for TLSDESC_PLT and TLSDESC_GOT dynamic section tags to the llvm-readobj.

If module uses uses lazy TLSDESC relocations it should define DT_TLSDESC_PLT and DT_TLSDESC_GOT entries.
They were unknown for llvm-readobj before this patch.

Differential revision: http://reviews.llvm.org/D16224
----
Added : /llvm/trunk/test/tools/llvm-readobj/Inputs/dynamic-table-so.aarch64
Modified : /llvm/trunk/test/tools/llvm-readobj/Inputs/dynamic-table.c
Modified : /llvm/trunk/test/tools/llvm-readobj/dynamic.test

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

8 years ago[llvm-readobj] Add support for TLSDESC_PLT and TLSDESC_GOT dynamic section tags to...
George Rimar [Fri, 15 Jan 2016 18:13:59 +0000 (18:13 +0000)]
[llvm-readobj] Add support for TLSDESC_PLT and TLSDESC_GOT dynamic section tags to the llvm-readobj.

If module uses uses lazy TLSDESC relocations it should define DT_TLSDESC_PLT and DT_TLSDESC_GOT entries.
They were unknown for llvm-readobj before this patch.

Differential revision: http://reviews.llvm.org/D16224

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

8 years ago[Support/ELF] - Added DT_TLSDESC_PLT and DT_TLSDESC_GOT constants.
George Rimar [Fri, 15 Jan 2016 18:09:27 +0000 (18:09 +0000)]
[Support/ELF] - Added DT_TLSDESC_PLT and DT_TLSDESC_GOT constants.

Added 2 constants:

DT_TLSDESC_PLT = 0x6FFFFEF6, Location of PLT entry for TLS descriptor resolver calls.
DT_TLSDESC_GOT = 0x6FFFFEF7, Location of GOT entry used by TLS descriptor resolver PLT entry.

Constants were taken from "Thread-Local Storage Descriptors for IA32 and AMD64/EM64T Version 0.9.5" http://www.fsfla.org/~lxoliva/writeups/TLS/RFC-TLSDESC-x86.txt

Differential revision: http://reviews.llvm.org/D16185

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

8 years ago[codeview] Dump the file checksum substream
Reid Kleckner [Fri, 15 Jan 2016 18:06:25 +0000 (18:06 +0000)]
[codeview] Dump the file checksum substream

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

8 years ago[CMake] Need to install VersionFromVCS.cmake as part of LLVM's CMake modules
Chris Bieneman [Fri, 15 Jan 2016 17:49:46 +0000 (17:49 +0000)]
[CMake] Need to install VersionFromVCS.cmake as part of LLVM's CMake modules

This is required to support clang --version detecting the clang repository information.

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

8 years agotest-release.sh: Fix clang-tools-extra symlink for CMake build
Hans Wennborg [Fri, 15 Jan 2016 17:04:45 +0000 (17:04 +0000)]
test-release.sh: Fix clang-tools-extra symlink for CMake build

The CMake and Autoconf builds want the symlink set up differently.

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

8 years agoAdd a test showing when ld64 can hide linkonce_odr symbols.
Rafael Espindola [Fri, 15 Jan 2016 16:40:20 +0000 (16:40 +0000)]
Add a test showing when ld64 can hide linkonce_odr symbols.

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

8 years agoStop increasing alignment of externally-visible globals on ELF
James Y Knight [Fri, 15 Jan 2016 16:33:06 +0000 (16:33 +0000)]
Stop increasing alignment of externally-visible globals on ELF
platforms.

With ELF, the alignment of a global variable in a shared library will
get copied into an executables linked against it, if the executable even
accesss the variable. So, it's not possible to implicitly increase
alignment based on access patterns, or you'll break existing binaries.

This happened to affect libc++'s std::cout symbol, for example. See
thread: http://thread.gmane.org/gmane.comp.compilers.clang.devel/45311

(This is a re-commit of r257719, without the bug reported in
PR26144. I've tweaked the code to not assert-fail in
enforceKnownAlignment when computeKnownBits doesn't recurse far enough
to find the underlying Alloca/GlobalObject value.)

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

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

8 years agoMake sure this test is actually executed.
Rafael Espindola [Fri, 15 Jan 2016 16:16:46 +0000 (16:16 +0000)]
Make sure this test is actually executed.

Before it was always unsupported.

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

8 years agoRe-commit r257064, after it was reverted in r257340.
Silviu Baranga [Fri, 15 Jan 2016 15:52:05 +0000 (15:52 +0000)]
Re-commit r257064, after it was reverted in r257340.

This contains a fix for the issue that caused the revert:
we no longer assume that we can insert instructions after the
instruction that produces the base pointer. We previously
assumed that this would be ok, because the instruction produces
a value and therefore is not a terminator. This is false for invoke
instructions. We will now insert these new instruction directly
at the location of the users.

Original commit message:

[InstCombine] Look through PHIs, GEPs, IntToPtrs and PtrToInts to expose more constants when comparing GEPs

Summary:
When comparing two GEP instructions which have the same base pointer
and one of them has a constant index, it is possible to only compare
indices, transforming it to a compare with a constant. This removes
one use for the GEP instruction with the constant index, can reduce
register pressure and can sometimes lead to removing the comparisson
entirely.

InstCombine was already doing this when comparing two GEPs if the base
pointers were the same. However, in the case where we have complex
pointer arithmetic (GEPs applied to GEPs, PHIs of GEPs, conversions to
or from integers, etc) the value of the original base pointer will be
hidden to the optimizer and this transformation will be disabled.

This change detects when the two sides of the comparison can be
expressed as GEPs with the same base pointer, even if they don't
appear as such in the IR. The transformation will convert all the
pointer arithmetic to arithmetic done on indices and all the relevant
uses of GEPs to GEPs with a common base pointer. The GEP comparison
will be converted to a comparison done on indices.

Reviewers: majnemer, jmolloy

Subscribers: hfinkel, jevinskie, jmolloy, aadg, llvm-commits

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

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

8 years agoChange isSafeToLoadUnconditionally arguments order. Separated from http://reviews...
Artur Pilipenko [Fri, 15 Jan 2016 15:27:46 +0000 (15:27 +0000)]
Change isSafeToLoadUnconditionally arguments order. Separated from reviews.llvm.org/D10920.

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

8 years ago[InstructionsTest] delete via unique_ptr (NFC)
Joseph Tremoulet [Fri, 15 Jan 2016 15:08:36 +0000 (15:08 +0000)]
[InstructionsTest] delete via unique_ptr (NFC)

Summary:
Simplify the memory management of mock IR in test AlterInvokeBundles.

Reviewers: dblaikie

Subscribers: llvm-commits

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

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

8 years ago[Hexagon] Generate CONST64 when optimizing for size in copy-to-combine
Krzysztof Parzyszek [Fri, 15 Jan 2016 14:08:31 +0000 (14:08 +0000)]
[Hexagon] Generate CONST64 when optimizing for size in copy-to-combine

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

8 years ago[Hexagon] Handle DBG_VALUE instructions in copy-to-combine
Krzysztof Parzyszek [Fri, 15 Jan 2016 13:55:57 +0000 (13:55 +0000)]
[Hexagon] Handle DBG_VALUE instructions in copy-to-combine

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

8 years agoRevert "[SLP] Vectorize the index computations of getelementptr instructions."
Matthew Simpson [Fri, 15 Jan 2016 13:10:46 +0000 (13:10 +0000)]
Revert "[SLP] Vectorize the index computations of getelementptr instructions."

This reverts commit r257800.

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

8 years ago[CodeGenPrepare] Try and appease sanitizers
James Molloy [Fri, 15 Jan 2016 10:36:01 +0000 (10:36 +0000)]
[CodeGenPrepare] Try and appease sanitizers

dupRetToEnableTailCallOpts(BB) can invalidate BB. It must run *after* we iterate across BB!

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

8 years ago[ARM] Add DSP build attribute and extension targeting
Bradley Smith [Fri, 15 Jan 2016 10:28:25 +0000 (10:28 +0000)]
[ARM] Add DSP build attribute and extension targeting

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

8 years ago[ARM] Add new system registers to ARMv8-M Baseline/Mainline
Bradley Smith [Fri, 15 Jan 2016 10:28:03 +0000 (10:28 +0000)]
[ARM] Add new system registers to ARMv8-M Baseline/Mainline

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