OSDN Git Service

android-x86/external-llvm.git
7 years ago[llvm-cov] Fix tests that aren't checking anything (NFC)
Vedant Kumar [Thu, 15 Sep 2016 04:41:37 +0000 (04:41 +0000)]
[llvm-cov] Fix tests that aren't checking anything (NFC)

E.g the 'showProjectSummary' test contains some checks which can't fail
because they match themselves...

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

7 years ago[libFuzzer] implement print_pcs with trace-pc-guard. Change the trace-pc-guard heuris...
Kostya Serebryany [Thu, 15 Sep 2016 04:36:45 +0000 (04:36 +0000)]
[libFuzzer] implement print_pcs with trace-pc-guard. Change the trace-pc-guard heuristic for 8-bit counters to look more like in AFL (not that it's provable better, but the existin test preferes this heuristic)

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

7 years agoAdd a C++ unittest to test the fix for PR30213.
Wei Mi [Thu, 15 Sep 2016 04:06:44 +0000 (04:06 +0000)]
Add a C++ unittest to test the fix for PR30213.

The test exercises the branch in scev expansion when the value in ValueOffsetPair
is a ptr and the offset is not divisible by the elem type size of value.

Differential Revision: https://reviews.llvm.org/D24088

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

7 years ago[doc] [CUDA] Add sections about STL support and differences between nvcc and clang...
Justin Lebar [Thu, 15 Sep 2016 02:04:32 +0000 (02:04 +0000)]
[doc] [CUDA] Add sections about STL support and differences between nvcc and clang to CompileCudaWithLLVM.rst.

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

7 years ago[LangRef] Add a clarifying example for undef
Sanjoy Das [Thu, 15 Sep 2016 01:56:58 +0000 (01:56 +0000)]
[LangRef] Add a clarifying example for undef

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

7 years ago[libFuzzer] add 8-bit counters to trace-pc-guard handler
Kostya Serebryany [Thu, 15 Sep 2016 01:30:18 +0000 (01:30 +0000)]
[libFuzzer] add 8-bit counters to trace-pc-guard handler

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

7 years ago[InstCombine] refactor eq/ne cases in foldICmpUsingKnownBits() ; NFCI
Sanjay Patel [Wed, 14 Sep 2016 23:38:56 +0000 (23:38 +0000)]
[InstCombine] refactor eq/ne cases in foldICmpUsingKnownBits() ; NFCI

The pattern matching and transforms are identical; the cmp predicate just changes.

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

7 years ago[pdb] Fix unit test compilation.
Zachary Turner [Wed, 14 Sep 2016 23:17:08 +0000 (23:17 +0000)]
[pdb] Fix unit test compilation.

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

7 years ago[InstCombine] add vector tests for foldICmpUsingKnownBits()
Sanjay Patel [Wed, 14 Sep 2016 23:15:11 +0000 (23:15 +0000)]
[InstCombine] add vector tests for foldICmpUsingKnownBits()

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

7 years ago[pdb] Get rid of Data and RawData in CVType.
Zachary Turner [Wed, 14 Sep 2016 23:00:16 +0000 (23:00 +0000)]
[pdb] Get rid of Data and RawData in CVType.

The `CVType` had two redundant fields which were confusing and
error-prone to fill out.  By treating member records as a distinct
type from leaf records, we are able to simplify this quite a bit.

Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D24432

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

7 years ago[pdb] Write TPI hash values to the TPI stream.
Zachary Turner [Wed, 14 Sep 2016 23:00:02 +0000 (23:00 +0000)]
[pdb] Write TPI hash values to the TPI stream.

This completes being able to write all the interesting
values of a PDB TPI stream.

Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D24370

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

7 years ago[MC] Handle discardable COFF sections in assembly
Reid Kleckner [Wed, 14 Sep 2016 22:41:50 +0000 (22:41 +0000)]
[MC] Handle discardable COFF sections in assembly

Summary:
This fixes a dumpbin warning on objects produced by the MC assembler
when starting from text. All .debug$S sections are supposed to be marked
IMAGE_SCN_MEM_DISCARDABLE. The main, non-COMDAT .debug$S section had
this set, but any comdat ones were not being marked discardable because
there was no .section flag for it.

This change does two things:

- If the section name starts with .debug, implicitly mark the section as
  discardable. This means we do the same thing as gas on .s files with
  DWARF from GCC, which is important.

- Adds the 'D' flag to the .section directive on COFF to explicitly say
  a section is discardable. We only emit this flag if the section name
  does not start with .debug. This allows the user to explicitly tweak
  their section flags without worrying about magic section names.

The only thing you can't do in this scheme is to create a
non-discardable section with a name starting with ".debug", but
hopefully users don't need that.

Reviewers: majnemer, rafael

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D24582

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

7 years agoFix auto-upgrade of TBAA tags in Bitcode Reader
Mehdi Amini [Wed, 14 Sep 2016 22:29:59 +0000 (22:29 +0000)]
Fix auto-upgrade of TBAA tags in Bitcode Reader

If TBAA is on an intrinsic and it gets upgraded, it'll delete the call
instruction that we collected in a vector. Even if we were to use
WeakVH, it'll drop the TBAA and we'll hit the assert on the upgrade
path.

r263673 gave a shot to make sure the TBAA upgrade happens before
intrinsics upgrade, but failed to account for all cases.

Instead of collecting instructions in a vector, this patch makes it
just upgrade the TBAA on the fly, because metadata are always
already loaded at this point.

Differential Revision: https://reviews.llvm.org/D24533

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

7 years agoFix indentation in codeview code
Reid Kleckner [Wed, 14 Sep 2016 21:49:21 +0000 (21:49 +0000)]
Fix indentation in codeview code

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

7 years ago[LTO] Move tests from test/tools to test/LTO, as they're testing the API functionalit...
Mehdi Amini [Wed, 14 Sep 2016 21:07:32 +0000 (21:07 +0000)]
[LTO] Move tests from test/tools to test/LTO, as they're testing the API functionalities (NFC)

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

7 years ago[LTO] Fix commons handling
Mehdi Amini [Wed, 14 Sep 2016 21:05:04 +0000 (21:05 +0000)]
[LTO] Fix commons handling

Previously the prevailing information was not honored, and commons
symbols could override a strong definition. This patch fixes it and
propose the following semantic for commons: the client should mark
as prevailing the commons that it expects the LTO implementation to
merge (i.e. take the maximum size and alignment).
It implies that commons are allowed to have multiple prevailing
definitions.

Differential Revision: https://reviews.llvm.org/D24545

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

7 years ago[ThinLTO] Add an option to llvm-lto to print some basic statistics for the index
Mehdi Amini [Wed, 14 Sep 2016 21:04:59 +0000 (21:04 +0000)]
[ThinLTO] Add an option to llvm-lto to print some basic statistics for the index

Differential Revision: https://reviews.llvm.org/D24290

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

7 years agoFinish renaming remaining analyzeBranch functions
Matt Arsenault [Wed, 14 Sep 2016 20:43:16 +0000 (20:43 +0000)]
Finish renaming remaining analyzeBranch functions

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

7 years ago[Stackmap] Added callsite counts to emitted function information.
Sanjoy Das [Wed, 14 Sep 2016 20:22:03 +0000 (20:22 +0000)]
[Stackmap] Added callsite counts to emitted function information.

Summary:
It was previously not possible for tools to use solely the stackmap
information emitted to reconstruct the return addresses of callsites in
the map, which is necessary to use the information to walk a stack. This
patch adds per-function callsite counts when emitting the stackmap
section in order to resolve the problem. Note that this slightly alters
the stackmap format, so external tools parsing these maps will need to
be updated.

**Problem Details:**
Records only store their offset from the beginning of the function they
belong to. While these records and the functions are output in program
order, it is not possible to determine where the end of one function's
records are without the callsite count when processing the records to
compute return addresses.

Patch by Kavon Farvardin!

Reviewers: atrick, ributzka, sanjoy

Subscribers: nemanjai

Differential Revision: https://reviews.llvm.org/D23487

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

7 years ago[x86] regenerate checks
Sanjay Patel [Wed, 14 Sep 2016 20:21:28 +0000 (20:21 +0000)]
[x86] regenerate checks

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

7 years ago[x86] regenerate checks
Sanjay Patel [Wed, 14 Sep 2016 20:16:24 +0000 (20:16 +0000)]
[x86] regenerate checks

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

7 years agoRevert "[ARM] Promote small global constants to constant pools"
Evgeniy Stepanov [Wed, 14 Sep 2016 20:02:30 +0000 (20:02 +0000)]
Revert "[ARM] Promote small global constants to constant pools"

Breaks Android tests by introducing text relocations to ARM binaries.

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/25362/steps/run%20asan%20lit%20tests%20%5Barm%2Fbullhead-userdebug%2FMTC20F%5D/logs/stdio

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

7 years ago[x86] regenerate checks
Sanjay Patel [Wed, 14 Sep 2016 19:42:03 +0000 (19:42 +0000)]
[x86] regenerate checks

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

7 years ago[lib/LTO] Fix a typo. NFC.
Davide Italiano [Wed, 14 Sep 2016 18:48:43 +0000 (18:48 +0000)]
[lib/LTO] Fix a typo. NFC.

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

7 years agoRevert "AMDGPU: Use SOPK compare instructions"
Matt Arsenault [Wed, 14 Sep 2016 18:04:42 +0000 (18:04 +0000)]
Revert "AMDGPU: Use SOPK compare instructions"

Accidentally committed

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

7 years agoAMDGPU: Use SOPK compare instructions
Matt Arsenault [Wed, 14 Sep 2016 18:03:53 +0000 (18:03 +0000)]
AMDGPU: Use SOPK compare instructions

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

7 years agoVerifier: Mark orphaned DICompileUnits as a debug info failure.
Adrian Prantl [Wed, 14 Sep 2016 17:30:37 +0000 (17:30 +0000)]
Verifier: Mark orphaned DICompileUnits as a debug info failure.
This is a follow-up to r268778 that adds a couple of missing cases,
most notably orphaned compile units.

rdar://problem/28193346

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

7 years agoMake analyzeBranch family of instruction names consistent
Matt Arsenault [Wed, 14 Sep 2016 17:24:15 +0000 (17:24 +0000)]
Make analyzeBranch family of instruction names consistent

analyzeBranch was renamed to use lowercase first, rename
the related set to match.

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

7 years agoAArch64: Use TTI branch functions in branch relaxation
Matt Arsenault [Wed, 14 Sep 2016 17:23:48 +0000 (17:23 +0000)]
AArch64: Use TTI branch functions in branch relaxation

The main change is to return the code size from
InsertBranch/RemoveBranch.

Patch mostly by Tim Northover

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

7 years ago[x86] fix formatting; NFC
Sanjay Patel [Wed, 14 Sep 2016 17:23:18 +0000 (17:23 +0000)]
[x86] fix formatting; NFC

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

7 years ago[compiler-rt] Avoid instrumenting sanitizer functions
Etienne Bergeron [Wed, 14 Sep 2016 17:18:37 +0000 (17:18 +0000)]
[compiler-rt] Avoid instrumenting sanitizer functions

Summary:
Function __asan_default_options is called by __asan_init before the
shadow memory got initialized. Instrumenting that function may lead
to flaky execution.

As the __asan_default_options is provided by users, we cannot expect
them to add the appropriate function atttributes to avoid
instrumentation.

Reviewers: kcc, rnk

Subscribers: dberris, chrisha, llvm-commits

Differential Revision: https://reviews.llvm.org/D24566

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

7 years ago[X86][SSE] Improve recognition of i64 sitofp conversions that can be performed as...
Simon Pilgrim [Wed, 14 Sep 2016 17:15:26 +0000 (17:15 +0000)]
[X86][SSE] Improve recognition of i64 sitofp conversions that can be performed as i32 (PR29078)

Until AVX512DQ we only support i64/vXi64 sitofp conversion as scalars.

This patch sees if the sign bit extends far enough that we can truncate to a i32 type and then perform sitofp without loss of precision.

Differential Revision: https://reviews.llvm.org/D24345

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

7 years ago[LoopInterchange] Typo. NFC.
Chad Rosier [Wed, 14 Sep 2016 17:12:30 +0000 (17:12 +0000)]
[LoopInterchange] Typo. NFC.

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

7 years ago[LoopInterchange] Add CL option to override cost threshold.
Chad Rosier [Wed, 14 Sep 2016 17:07:13 +0000 (17:07 +0000)]
[LoopInterchange] Add CL option to override cost threshold.

Mostly useful for getting consistent lit testing.

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

7 years ago[X86][SSE] Don't use PSHUFD directly - lower with generic shuffle
Simon Pilgrim [Wed, 14 Sep 2016 17:04:22 +0000 (17:04 +0000)]
[X86][SSE] Don't use PSHUFD directly - lower with generic shuffle

Remove the last user of the old getTargetShuffleNode helpers

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

7 years agogetValueType().getScalarSizeInBits() -> getScalarValueSizeInBits(), round 2 ; NFCI
Sanjay Patel [Wed, 14 Sep 2016 16:54:10 +0000 (16:54 +0000)]
getValueType().getScalarSizeInBits() -> getScalarValueSizeInBits(), round 2 ; NFCI

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

7 years ago[LoopInterchange] Cleanup debug whitespace. NFC.
Chad Rosier [Wed, 14 Sep 2016 16:43:19 +0000 (16:43 +0000)]
[LoopInterchange] Cleanup debug whitespace. NFC.

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

7 years agogetVectorElementType().getSizeInBits() -> getScalarSizeInBits() ; NFCI
Sanjay Patel [Wed, 14 Sep 2016 16:37:15 +0000 (16:37 +0000)]
getVectorElementType().getSizeInBits() -> getScalarSizeInBits() ; NFCI

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

7 years agogetValueType().getSizeInBits() -> getValueSizeInBits() ; NFCI
Sanjay Patel [Wed, 14 Sep 2016 16:05:51 +0000 (16:05 +0000)]
getValueType().getSizeInBits() -> getValueSizeInBits() ; NFCI

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

7 years agoFix typo in comment [NFC]
Etienne Bergeron [Wed, 14 Sep 2016 15:59:32 +0000 (15:59 +0000)]
Fix typo in comment [NFC]

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

7 years agoAMDGPU: Support folding FrameIndex operands
Matt Arsenault [Wed, 14 Sep 2016 15:51:33 +0000 (15:51 +0000)]
AMDGPU: Support folding FrameIndex operands

This avoids test regressions in a future commit.

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

7 years agogetValueType().getScalarSizeInBits() -> getScalarValueSizeInBits() ; NFCI
Sanjay Patel [Wed, 14 Sep 2016 15:43:44 +0000 (15:43 +0000)]
getValueType().getScalarSizeInBits() -> getScalarValueSizeInBits() ; NFCI

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

7 years agogetScalarType().getSizeInBits() -> getScalarSizeInBits() ; NFCI
Sanjay Patel [Wed, 14 Sep 2016 15:21:00 +0000 (15:21 +0000)]
getScalarType().getSizeInBits() -> getScalarSizeInBits() ; NFCI

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

7 years agoAMDGPU: Improve splitting 64-bit bit ops by constants
Matt Arsenault [Wed, 14 Sep 2016 15:19:03 +0000 (15:19 +0000)]
AMDGPU: Improve splitting 64-bit bit ops by constants

This addresses a TODO to handle operations besides and. This
also starts eliminating no-op operations with a constant that
can emerge later.

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

7 years ago[LV] Process pointer IVs with PHINodes in collectLoopUniforms
Matthew Simpson [Wed, 14 Sep 2016 14:47:40 +0000 (14:47 +0000)]
[LV] Process pointer IVs with PHINodes in collectLoopUniforms

This patch moves the processing of pointer induction variables in
collectLoopUniforms from the consecutive pointer phase of the analysis to the
phi node phase. Previously, if a pointer induction variable was used by both a
scalarized non-memory instruction as well as a vectorized memory instruction,
we would incorrectly identify the pointer as uniform. Pointer induction
variables should be treated the same as other phi nodes. That is, they are
uniform if all users of the induction variable and induction variable update
are uniform.

Differential Revision: https://reviews.llvm.org/D24511

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

7 years ago[ARM] Promote small global constants to constant pools
James Molloy [Wed, 14 Sep 2016 14:47:27 +0000 (14:47 +0000)]
[ARM] Promote small global constants to constant pools

If a constant is unamed_addr and is only used within one function, we can save
on the code size and runtime cost of an indirection by changing the global's storage
to inside the constant pool. For example, instead of:

      ldr r0, .CPI0
      bl printf
      bx lr
    .CPI0: &format_string
    format_string: .asciz "hello, world!\n"

We can emit:

      adr r0, .CPI0
      bl printf
      bx lr
    .CPI0: .asciz "hello, world!\n"

This can cause significant code size savings when many small strings are used in one
function (4 bytes per string).

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

7 years agoMCInstrDesc: this fixes an issue setting/getting member Flags, which
Sjoerd Meijer [Wed, 14 Sep 2016 14:32:17 +0000 (14:32 +0000)]
MCInstrDesc: this fixes an issue setting/getting member Flags, which
is an uint64_t. However, getter function getFlags returned an unsigned,
and in function hasProperty (1 << MCFlag) was used instead of (1ULL << MCFlag).

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

7 years ago[X86][SSE] Removed unused getTargetShuffleNode function
Simon Pilgrim [Wed, 14 Sep 2016 14:30:00 +0000 (14:30 +0000)]
[X86][SSE] Removed unused getTargetShuffleNode function

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

7 years ago[X86] Added i128 lshr+shl -> mask combine test
Simon Pilgrim [Wed, 14 Sep 2016 14:29:16 +0000 (14:29 +0000)]
[X86] Added i128 lshr+shl -> mask combine test

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

7 years agoFix code-gen crash on Power9 for insert_vector_elt with variable index (PR30189)
Nemanja Ivanovic [Wed, 14 Sep 2016 14:19:09 +0000 (14:19 +0000)]
Fix code-gen crash on Power9 for insert_vector_elt with variable index (PR30189)

This patch corresponds to review:
https://reviews.llvm.org/D24021

In the initial implementation of this instruction, I forgot to account for
variable indices. This patch fixes PR30189 and should probably be merged into
3.9.1 (I'll open a bug according to the new instructions).

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

7 years ago[InstCombine] Merged two test files and regenerated checks using update_test_checks...
Andrea Di Biagio [Wed, 14 Sep 2016 14:18:21 +0000 (14:18 +0000)]
[InstCombine] Merged two test files and regenerated checks using update_test_checks.py. NFC.

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

7 years ago[StackProtector] Use INITIALIZE_TM_PASS instead of INITIALIZE_PASS
Silviu Baranga [Wed, 14 Sep 2016 14:09:43 +0000 (14:09 +0000)]
[StackProtector] Use INITIALIZE_TM_PASS instead of INITIALIZE_PASS
in order to make sure that its TargetMachine constructor is
registered.

This allows us to run the PEI machine pass with MIR input
(see PR30324).

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

7 years agoAdding missing directive for Power9.
Nemanja Ivanovic [Wed, 14 Sep 2016 14:09:39 +0000 (14:09 +0000)]
Adding missing directive for Power9.
There is currently no codegen for Power9 that depends on the directive
so this is NFC for now but will be important in the future. This was
missed in r268950 so I'm adding it now.

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

7 years ago[X86][SSE] Don't blend vector shifts with MOVSS/MOVSD directly, lower from generic...
Simon Pilgrim [Wed, 14 Sep 2016 14:08:18 +0000 (14:08 +0000)]
[X86][SSE] Don't blend vector shifts with MOVSS/MOVSD directly, lower from generic shuffle

Shuffle lowering will correctly lower to MOVSS/MOVSD/PBLEND, improving commutation opportunities

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

7 years ago[asan] Enable -asan-use-private-alias on Darwin/Mach-O, add test for ODR false positi...
Kuba Brecka [Wed, 14 Sep 2016 14:06:33 +0000 (14:06 +0000)]
[asan] Enable -asan-use-private-alias on Darwin/Mach-O, add test for ODR false positive with LTO (llvm part)

The '-asan-use-private-alias’ option (disabled by default) option is currently only enabled for Linux and ELF, but it also works on Darwin and Mach-O. This option also fixes a known problem with LTO on Darwin (https://github.com/google/sanitizers/issues/647). This patch enables the support for Darwin (but still keeps it off by default) and adds the LTO test case.

Differential Revision: https://reviews.llvm.org/D24292

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

7 years agoRevert "[Thumb] Teach ISel how to lower compares of AND bitmasks efficiently"
James Molloy [Wed, 14 Sep 2016 09:45:28 +0000 (09:45 +0000)]
Revert "[Thumb] Teach ISel how to lower compares of AND bitmasks efficiently"

This reverts commit r281323. It caused chromium test failures and a selfhost failure.

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

7 years agoMissing includes.
Vassil Vassilev [Wed, 14 Sep 2016 08:55:18 +0000 (08:55 +0000)]
Missing includes.

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

7 years agoGlobalISel: mark pointer stores as legal on AArch64.
Tim Northover [Wed, 14 Sep 2016 08:28:54 +0000 (08:28 +0000)]
GlobalISel: mark pointer stores as legal on AArch64.

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

7 years agoThis reapplies r281304. The issue was that I had missed
Sjoerd Meijer [Wed, 14 Sep 2016 08:20:03 +0000 (08:20 +0000)]
This reapplies r281304. The issue was that I had missed
to copy the new isAdd field in the tablegen data structure.

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

7 years agoAVX-512: Fixed a bug in kortest.z intrinsic
Elena Demikhovsky [Wed, 14 Sep 2016 08:06:54 +0000 (08:06 +0000)]
AVX-512: Fixed a bug in kortest.z intrinsic

Lowering was wrong - X86ISD::SETCC node should return i8 type.

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

7 years ago[AVX512BW] Change truncStore action (v16i16->v16i18). It can be legal only with AVX512VL.
Igor Breger [Wed, 14 Sep 2016 08:04:28 +0000 (08:04 +0000)]
[AVX512BW] Change truncStore action (v16i16->v16i18). It can be legal only with AVX512VL.

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

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

7 years ago[X86] Remove the VCVTSI2SD32 with rounding intrinsic. It's not used by clang and...
Craig Topper [Wed, 14 Sep 2016 06:27:46 +0000 (06:27 +0000)]
[X86] Remove the VCVTSI2SD32 with rounding intrinsic. It's not used by clang and not needed since 32-bit integer to double is always exact.

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

7 years agoCreate a getelementptr instead of sub expr for ValueOffsetPair if the
Wei Mi [Wed, 14 Sep 2016 04:39:50 +0000 (04:39 +0000)]
Create a getelementptr instead of sub expr for ValueOffsetPair if the
value is a pointer.

This patch is to fix PR30213. When expanding an expr based on ValueOffsetPair,
if the value is of pointer type, we can only create a getelementptr instead
of sub expr.

Differential Revision: https://reviews.llvm.org/D24088

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

7 years agoEnsure Polly linking works without BUILD_SHARED_LIBS
Tobias Grosser [Wed, 14 Sep 2016 03:09:48 +0000 (03:09 +0000)]
Ensure Polly linking works without BUILD_SHARED_LIBS

This change ensures all necessary symbols are resolved correctly. Before this
change on some systems, the linker may have eliminated some symbols not directly
used in bugpoint, but used in Polly.

Suggested-by: Michael Kruse <lvm@meinersbur.de>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281438 91177308-0d34-0410-b5e6-96231b3b80d8

7 years agogold: Simplify. Do not unnecessarily enumerate Obj's symbols.
Peter Collingbourne [Wed, 14 Sep 2016 02:55:16 +0000 (02:55 +0000)]
gold: Simplify. Do not unnecessarily enumerate Obj's symbols.

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

7 years ago[libFuzzer] start using trace-pc-guard as an alternative source of coverage
Kostya Serebryany [Wed, 14 Sep 2016 02:13:06 +0000 (02:13 +0000)]
[libFuzzer] start using trace-pc-guard as an alternative source of coverage

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

7 years ago[sanitizer-coverage] add yet another flavour of coverage instrumentation: trace-pc...
Kostya Serebryany [Wed, 14 Sep 2016 01:39:35 +0000 (01:39 +0000)]
[sanitizer-coverage] add yet another flavour of coverage instrumentation: trace-pc-guard. The intent is to eventually replace all of {bool coverage, 8bit-counters, trace-pc} with just this one. LLVM part

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

7 years agoAddress Pete's review comment and define OrigArg on its own line.
Akira Hatanaka [Tue, 13 Sep 2016 23:53:43 +0000 (23:53 +0000)]
Address Pete's review comment and define OrigArg on its own line.

This is a follow-up to r281419.

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

7 years ago[ObjCARC] Traverse chain downwards to replace uses of argument passed to
Akira Hatanaka [Tue, 13 Sep 2016 23:43:11 +0000 (23:43 +0000)]
[ObjCARC] Traverse chain downwards to replace uses of argument passed to
ObjC library call with call return.

ARC contraction tries to replace uses of an argument passed to an
objective-c library call with the call return value. For example, in the
following IR, it replaces uses of argument %9 and uses of the values
discovered traversing the chain upwards (%7 and %8) with the call return
%10, if they are dominated by the call to @objc_autoreleaseReturnValue.
This transformation enables code-gen to tail-call the call to
@objc_autoreleaseReturnValue, which is necessary to enable auto release
return value optimization.

%7 = tail call i8* @objc_loadWeakRetained(i8** %6)
%8 = bitcast i8* %7 to %0*
%9 = bitcast %0* %8 to i8*
%10 = tail call i8* @objc_autoreleaseReturnValue(i8* %9)
ret %0* %8

Since r276727, llvm started removing redundant bitcasts and as a result
started feeding the following IR to ARC contraction:

%7 = tail call i8* @objc_loadWeakRetained(i8** %6)
%8 = bitcast i8* %7 to %0*
%9 = tail call i8* @objc_autoreleaseReturnValue(i8* %7)
ret %0* %8

ARC contraction no longer does the optimization described above since it
only traverses the chain upwards and fails to recognize that the
function return can be replaced by the call return. This commit changes
ARC contraction to traverse the chain downwards too and replace uses of
bitcasts with the call return.

rdar://problem/28011339

Differential Revision: https://reviews.llvm.org/D24523

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

7 years ago[llvm-cov] Just emit the version number in the index file
Vedant Kumar [Tue, 13 Sep 2016 23:00:13 +0000 (23:00 +0000)]
[llvm-cov] Just emit the version number in the index file

Having the version information in every view is distracting, especially
if there are several sub-views.

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

7 years ago[AArch64] Simplify patchpoint/stackmap size test (r281301). NFC.
Ahmed Bougacha [Tue, 13 Sep 2016 22:16:40 +0000 (22:16 +0000)]
[AArch64] Simplify patchpoint/stackmap size test (r281301). NFC.

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

7 years ago[CodeGen] Fix invalid shift in mul expansion
Pawel Bylica [Tue, 13 Sep 2016 21:55:41 +0000 (21:55 +0000)]
[CodeGen] Fix invalid shift in mul expansion

Summary: When expanding mul in type legalization make sure the type for shift amount can actually fit the value. This fixes PR30354 https://llvm.org/bugs/show_bug.cgi?id=30354.

Reviewers: hfinkel, majnemer, RKSimon

Subscribers: RKSimon, llvm-commits

Differential Revision: https://reviews.llvm.org/D24478

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

7 years ago[DAG] Allow build-to-shuffle combine to combine builds from two wide vectors.
Michael Kuperstein [Tue, 13 Sep 2016 21:53:32 +0000 (21:53 +0000)]
[DAG] Allow build-to-shuffle combine to combine builds from two wide vectors.

This allows us to, in some cases, create a vector_shuffle out of a build_vector, when
the inputs to the build are extract_elements from two different vectors, at least one
of which is wider than the output. (E.g. a <8 x i16> being constructed out of
elements from a <16 x i16> and a <8 x i16>).

Differential Revision: https://reviews.llvm.org/D24491

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

7 years agoNext set of additional error checks for invalid Mach-O files for bad load commands
Kevin Enderby [Tue, 13 Sep 2016 21:42:28 +0000 (21:42 +0000)]
Next set of additional error checks for invalid Mach-O files for bad load commands
that use the Mach::dyld_info_command type for the load commands that are
currently use in the MachOObjectFile constructor.

This contains the missing checks for LC_DYLD_INFO and
LC_DYLD_INFO_ONLY load commands and the fields for the
Mach::dyld_info_command type.

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

7 years ago[Hexagon] Better handling of HVX vector lowering
Krzysztof Parzyszek [Tue, 13 Sep 2016 21:16:07 +0000 (21:16 +0000)]
[Hexagon] Better handling of HVX vector lowering

- Expand SELECT_CC and BR_CC for vector types.
- Implement TLI::isShuffleMaskLegal.

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

7 years agoadd tests for PR28672
Sanjay Patel [Tue, 13 Sep 2016 20:36:13 +0000 (20:36 +0000)]
add tests for PR28672

I'm not sure if we actually want to transform all of these in InstCombine yet,
so I'm not labeling these with FIXME.

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

7 years agoReapply "InstCombine: Reduce trunc (shl x, K) width."
Matt Arsenault [Tue, 13 Sep 2016 19:43:57 +0000 (19:43 +0000)]
Reapply "InstCombine: Reduce trunc (shl x, K) width."

This reapplies r272987 with a fix for infinitely looping
when the truncated value is another shift of a constant.

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

7 years agoAArch64: Cleanup tailcall CC check, enable swiftcc.
Matthias Braun [Tue, 13 Sep 2016 19:27:38 +0000 (19:27 +0000)]
AArch64: Cleanup tailcall CC check, enable swiftcc.

Cleanup/change the code that checks for possible tailcall conventions to
look the same as the one in the X86 target. This makes the distinction
between calling conventions that can guarnatee tailcalls and the ones
that may tailcall more obvious.

- Add Swift to the mayTailCall list
- PreserveMost seemed to be incorrectly part of the guarnteed tail call
  list, move it to the mayTailCall list.

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

7 years agoAMDGPU: Remove code I think is dead
Matt Arsenault [Tue, 13 Sep 2016 19:15:25 +0000 (19:15 +0000)]
AMDGPU: Remove code I think is dead

As far as I can tell, resolveFrameIndex is supposed to be
called with a legal offset, so inserting an add shouldn't be
necessary.

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

7 years ago.clang-tidy: correct style name is 'camelBack' not 'lowerCase'.
Mike Aizatsky [Tue, 13 Sep 2016 19:04:26 +0000 (19:04 +0000)]
.clang-tidy: correct style name is 'camelBack' not 'lowerCase'.

Summary: clang-tidy doesn't like to complain.

Differential Revision: https://reviews.llvm.org/D24413

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

7 years agoAMDGPU: Support commuting a FrameIndex operand
Matt Arsenault [Tue, 13 Sep 2016 19:03:12 +0000 (19:03 +0000)]
AMDGPU: Support commuting a FrameIndex operand

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

7 years ago[LV] Clean up uniform induction variable analysis (NFC)
Matthew Simpson [Tue, 13 Sep 2016 19:01:45 +0000 (19:01 +0000)]
[LV] Clean up uniform induction variable analysis (NFC)

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

7 years ago[LTO] Don't pass SF_Undefined symbols to the IRmover.
Davide Italiano [Tue, 13 Sep 2016 18:45:13 +0000 (18:45 +0000)]
[LTO] Don't pass SF_Undefined symbols to the IRmover.

This should fix PR 30363.

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

7 years agoFix MSVC 2013 build by using our <thread> wrapper header
Reid Kleckner [Tue, 13 Sep 2016 18:40:04 +0000 (18:40 +0000)]
Fix MSVC 2013 build by using our <thread> wrapper header

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

7 years ago[DAGCombiner] Use APInt directly in (shl (zext (srl x, C)), C) combine range test
Simon Pilgrim [Tue, 13 Sep 2016 18:33:29 +0000 (18:33 +0000)]
[DAGCombiner] Use APInt directly in (shl (zext (srl x, C)), C) combine range test

To avoid assertion, we must ensure that the inner shift constant is within range before calling ConstantSDNode::getZExtValue(). We already know that the outer shift constant is in range.

Followup to D23007

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

7 years agoRevert r281336 (and r281337), it caused PR30372.
Nico Weber [Tue, 13 Sep 2016 18:17:00 +0000 (18:17 +0000)]
Revert r281336 (and r281337), it caused PR30372.

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

7 years ago[Myriad]: set LeonCASA processor feature
Douglas Katzman [Tue, 13 Sep 2016 17:51:41 +0000 (17:51 +0000)]
[Myriad]: set LeonCASA processor feature

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

7 years ago[X86][SSE] Added AVX512F and additional vector truncate test cases
Simon Pilgrim [Tue, 13 Sep 2016 17:34:56 +0000 (17:34 +0000)]
[X86][SSE] Added AVX512F and additional vector truncate test cases

trunc16i16_16i8 is currently commented out due to PR25684

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

7 years ago[DAGCombiner] Use APInt directly in (shl (ext (shl x, c1)), c2) combine
Simon Pilgrim [Tue, 13 Sep 2016 17:15:28 +0000 (17:15 +0000)]
[DAGCombiner] Use APInt directly in (shl (ext (shl x, c1)), c2) combine

Fix failure to detect out of range shift constants leading to assert in ConstantSDNode::getZExtValue()

Followup to D23007

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

7 years agoFix misleading comment for getOrEnforceKnownAlignment
Matt Arsenault [Tue, 13 Sep 2016 16:39:43 +0000 (16:39 +0000)]
Fix misleading comment for getOrEnforceKnownAlignment

It does not return 0 to indicate failure, and returns the known
alignment.

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

7 years ago[ConstantFold] Improve the bitcast folding logic for constant vectors.
Andrea Di Biagio [Tue, 13 Sep 2016 14:50:47 +0000 (14:50 +0000)]
[ConstantFold] Improve the bitcast folding logic for constant vectors.

The constant folder didn't know how to always fold bitcasts of constant integer
vectors. In particular, it was unable to handle the case where a constant vector
had some undef elements, and the resulting (i.e. bitcasted) vector type had more
elements than the original vector type.

Example:
  %cast = bitcast <2 x i64><i64 undef, i64 2> to <4 x i32>

On a little endian target, %cast could have been folded to:
  <4 x i32><i32 undef, i32 undef, i32 2, i32 0>

This patch improves the folding logic by teaching how to correctly propagate
undef elements in the folded vector.

Differential Revision: https://reviews.llvm.org/D24301

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

7 years ago[X86] Regenerated shift combine tests.
Simon Pilgrim [Tue, 13 Sep 2016 14:41:39 +0000 (14:41 +0000)]
[X86] Regenerated shift combine tests.

Added x86_64 tests

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

7 years ago[modules] Re-enable some previously excluded files.
Vassil Vassilev [Tue, 13 Sep 2016 14:41:35 +0000 (14:41 +0000)]
[modules] Re-enable some previously excluded files.

Our modules support seems to be able to handle them nowadays.

Patch by Cristina Cristescu!

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

7 years ago[Hexagon] Clear the flow queue after visiting a single instruction
Krzysztof Parzyszek [Tue, 13 Sep 2016 14:36:55 +0000 (14:36 +0000)]
[Hexagon] Clear the flow queue after visiting a single instruction

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

7 years agoApply Clang-format to MCAsmParser.cpp NFC.
Nirav Dave [Tue, 13 Sep 2016 13:57:16 +0000 (13:57 +0000)]
Apply Clang-format to MCAsmParser.cpp NFC.

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

7 years agoDefer asm errors to post-statement failure
Nirav Dave [Tue, 13 Sep 2016 13:55:06 +0000 (13:55 +0000)]
Defer asm errors to post-statement failure

Recommitting after fixing AsmParser Initialization.

Allow errors to be deferred and emitted as part of clean up to simplify
and shorten Assembly parser code. This will allow error messages to be
emitted in helper functions and be modified by the caller which has
better context.

As part of this many minor cleanups to the Parser:

* Unify parser cleanup on error
* Add Workaround for incorrect return values in ParseDirective instances
* Tighten checks on error-signifying return values for parser functions
  and fix in-tree TargetParsers to be more consistent with the changes.
* Fix AArch64 test cases checking for spurious error messages that are
  now fixed.

These changes should be backwards compatible with current Target Parsers
so long as the error status are correctly returned in appropriate
functions.

Reviewers: rnk, majnemer

Subscribers: aemerson, jyknight, llvm-commits

Differential Revision: https://reviews.llvm.org/D24047

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

7 years ago[LoopInterchange] Minor refactor. NFC.
Chad Rosier [Tue, 13 Sep 2016 13:30:30 +0000 (13:30 +0000)]
[LoopInterchange] Minor refactor. NFC.

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

7 years ago[InstSimplify] Add tests to show missed bitcast folding opportunities.
Andrea Di Biagio [Tue, 13 Sep 2016 13:17:42 +0000 (13:17 +0000)]
[InstSimplify] Add tests to show missed bitcast folding opportunities.

InstSimplify doesn't always know how to fold a bitcast of a constant vector.
In particular, the logic in InstSimplify doesn't know how to handle the case
where the constant vector in input contains some undef elements, and the
number of elements is smaller than the number of elements of the bitcast
vector type.

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

7 years agoDon't use else if after return. Tidy comments. NFC.
Chad Rosier [Tue, 13 Sep 2016 13:08:53 +0000 (13:08 +0000)]
Don't use else if after return. Tidy comments. NFC.

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

7 years agoTypo. NFC.
Chad Rosier [Tue, 13 Sep 2016 13:00:29 +0000 (13:00 +0000)]
Typo. NFC.

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