OSDN Git Service

android-x86/external-llvm.git
8 years agoFix shouldAssumeDSOLocal for private linkage.
Rafael Espindola [Wed, 25 May 2016 19:55:16 +0000 (19:55 +0000)]
Fix shouldAssumeDSOLocal for private linkage.

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

8 years ago[libFuzzer] document the proposed FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
Kostya Serebryany [Wed, 25 May 2016 18:41:53 +0000 (18:41 +0000)]
[libFuzzer] document the proposed FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION

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

8 years ago[IR] Copy comdats in GlobalObject::copyAttributesFrom
Reid Kleckner [Wed, 25 May 2016 18:36:22 +0000 (18:36 +0000)]
[IR] Copy comdats in GlobalObject::copyAttributesFrom

This is probably correct for all uses except cross-module IR linking,
where we need to move the comdat from the source module to the
destination module.

Fixes PR27870.

Reviewers: majnemer

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

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

8 years ago[llvm-pdbdump] Dump raw stream contents as binary block.
Zachary Turner [Wed, 25 May 2016 18:32:07 +0000 (18:32 +0000)]
[llvm-pdbdump] Dump raw stream contents as binary block.

Dumping it as ASCII makes it fairly useless.

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

8 years agoTableGen: Use StringRef instead of std::string
Matt Arsenault [Wed, 25 May 2016 18:07:40 +0000 (18:07 +0000)]
TableGen: Use StringRef instead of std::string

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

8 years agoAMDGPU: Fix v2i64/v2f64 bitcasts
Matt Arsenault [Wed, 25 May 2016 18:07:36 +0000 (18:07 +0000)]
AMDGPU: Fix v2i64/v2f64 bitcasts

These operations tend to get promoted away to v4i32 so
this doesn't happen often.

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

8 years agoAMDGPU: Fix missing br_cc i1 test coverage
Matt Arsenault [Wed, 25 May 2016 17:58:27 +0000 (17:58 +0000)]
AMDGPU: Fix missing br_cc i1 test coverage

Also un xfail a test.

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

8 years ago[SelectionDAG] Add smarts for BSWAP in computeKnownBits.
Chad Rosier [Wed, 25 May 2016 17:52:38 +0000 (17:52 +0000)]
[SelectionDAG] Add smarts for BSWAP in computeKnownBits.

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

8 years agoAMDGPU: Make vectorization defeating test changes
Matt Arsenault [Wed, 25 May 2016 17:42:39 +0000 (17:42 +0000)]
AMDGPU: Make vectorization defeating test changes

Simplifies test updates in the future.

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

8 years ago[PM] CorrelatedValuePropagation: pass state to function. NFCI.
Davide Italiano [Wed, 25 May 2016 17:39:54 +0000 (17:39 +0000)]
[PM] CorrelatedValuePropagation: pass state to function. NFCI.

While here, convert the logic of the pass to use static function(s).
This is in preparation for porting this pass to the new PM.

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

8 years agoAMDGPU: Fix inconsistent lowering of select of vectors
Matt Arsenault [Wed, 25 May 2016 17:34:58 +0000 (17:34 +0000)]
AMDGPU: Fix inconsistent lowering of select of vectors

f32 vectors would use a sequence of BFI instructions instead
of unrolled cmp + select. This was better in the case of a VALU
select with SGPR inputs, but we don't have a way of dealing with that
in the DAG.

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

8 years ago[x86] avoid code explosion from LoopVectorizer for gather loop (PR27826)
Sanjay Patel [Wed, 25 May 2016 17:27:54 +0000 (17:27 +0000)]
[x86] avoid code explosion from LoopVectorizer for gather loop (PR27826)

By making pointer extraction from a vector more expensive in the cost model,
we avoid the vectorization of a loop that is very likely to be memory-bound:
https://llvm.org/bugs/show_bug.cgi?id=27826

There are still bugs related to this, so we may need a more general solution
to avoid vectorizing obviously memory-bound loops when we don't have HW gather
support.

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

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

8 years agoUse new triple API to check if comdat is supported
Xinliang David Li [Wed, 25 May 2016 17:17:51 +0000 (17:17 +0000)]
Use new triple API to check if comdat is supported

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

8 years agoAdd a new helper API in triple /NFC
Xinliang David Li [Wed, 25 May 2016 17:11:31 +0000 (17:11 +0000)]
Add a new helper API in triple /NFC

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

8 years ago[obj2yaml] [yaml2obj] MachO support for rebase opcodes
Chris Bieneman [Wed, 25 May 2016 17:09:07 +0000 (17:09 +0000)]
[obj2yaml] [yaml2obj] MachO support for rebase opcodes

This is the first bit of support for MachO __LINKEDIT segment data.

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

8 years ago[CMake] LINK_LIBS need to be public for Darwin dylib targets
Chris Bieneman [Wed, 25 May 2016 17:08:43 +0000 (17:08 +0000)]
[CMake] LINK_LIBS need to be public for Darwin dylib targets

This should actually address PR27855. This results in adding references to the system libs inside generated dylibs so that they get correctly pulled in when linking against the dylib.

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

8 years agoMove and add comments to the top for tailcall-string-rvo.ll
Tim Shen [Wed, 25 May 2016 17:01:09 +0000 (17:01 +0000)]
Move and add comments to the top for tailcall-string-rvo.ll

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

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

8 years ago[SDAG] Add a fallback multiplication expansion
Hal Finkel [Wed, 25 May 2016 16:50:22 +0000 (16:50 +0000)]
[SDAG] Add a fallback multiplication expansion

LegalizeIntegerTypes does not have a way to expand multiplications for large
integer types (i.e. larger than twice the native bit width). There's no
standard runtime call to use in that case, and so we'd just assert.

Unfortunately, as it turns out, it is possible to hit this case from
standard-ish C code in rare cases. A particular case a user ran into yesterday
involved an __int128 induction variable and a loop with a quadratic (not
linear) recurrence which triggered some backend logic using SCEVExpander. In
this case, the BinomialCoefficient code in SCEV generates some i129 variables,
which get widened to i256. At a high level, this is not actually good (i.e. the
underlying optimization, PPCLoopPreIncPrep, should not be transforming the loop
in question for performance reasons), but regardless, the backend shouldn't
crash because of cost-modeling issues in the optimizer.

This is a straightforward implementation of the multiplication expansion, based
on the algorithm in Hacker's Delight. I validated it against the code for the
mul256b function from http://locklessinc.com/articles/256bit_arithmetic/ using
random inputs. There should be no functional change for previously-working code
(the new expansion code only replaces an assert).

Fixes PR19797.

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

8 years ago[ThinLTO] Fix test check prefix so that intended prefix tested
Teresa Johnson [Wed, 25 May 2016 16:45:08 +0000 (16:45 +0000)]
[ThinLTO] Fix test check prefix so that intended prefix tested

There aren't any checks with prefix PROMOTE, should be PROMOTE_MOD1
which wasn't being tested (but works as expected).

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

8 years ago[x86, AVX] allow explicit calls to VZERO* to modify state in VZeroUpperInserter pass...
Sanjay Patel [Wed, 25 May 2016 16:39:47 +0000 (16:39 +0000)]
[x86, AVX] allow explicit calls to VZERO* to modify state in VZeroUpperInserter pass (PR27823)

As noted in the review, there are still problems, so this doesn't the bug completely.

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

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

8 years ago[RuntimeDyld] Call the SymbolResolver::findSymbolInLogicalDylib method when
Lang Hames [Wed, 25 May 2016 16:23:59 +0000 (16:23 +0000)]
[RuntimeDyld] Call the SymbolResolver::findSymbolInLogicalDylib method when
searching for external symbols, and fall back to the SymbolResolver::findSymbol
method if the former returns null.

This makes RuntimeDyld behave more like a static linker: Symbol definitions
from within the current module's "logical dylib" will be preferred to
external definitions. We can build on this behavior in the future to properly
support weak symbol handling.

Custom symbol resolvers that override the findSymbolInLogicalDylib method may
notice changes due to this patch. Clients who have not overridden this method
should generally be unaffected, however users of the OrcMCJITReplacement class
may notice changes.

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

8 years agoClarify that we match BSwap in InstCombine and BitReverse in CGP. NFC.
Chad Rosier [Wed, 25 May 2016 16:22:14 +0000 (16:22 +0000)]
Clarify that we match BSwap in InstCombine and BitReverse in CGP. NFC.

Also, rename recognizeBitReverseOrBSwapIdiom to recognizeBSwapOrBitReverseIdiom,
so the ordering of the MatchBSwaps and MatchBitReversals arguments are
consistent with the function name.

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

8 years ago[X86][AVX] Sync with clang/test/CodeGen/avx2-builtins.c
Simon Pilgrim [Wed, 25 May 2016 15:30:08 +0000 (15:30 +0000)]
[X86][AVX] Sync with clang/test/CodeGen/avx2-builtins.c

Only tests for the gather intrinsic are still to be added

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

8 years ago[ThinLTO] Refactor ODR resolution and internalization (NFC)
Teresa Johnson [Wed, 25 May 2016 14:03:11 +0000 (14:03 +0000)]
[ThinLTO] Refactor ODR resolution and internalization (NFC)

Move the now index-based ODR resolution and internalization routines out
of ThinLTOCodeGenerator.cpp and into either LTO.cpp (index-based
analysis) or FunctionImport.cpp (index-driven optimizations).
This is to enable usage by other linkers.

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

8 years ago[SCEV] No-wrap flags are not propagated when folding "{S,+,X}+T ==> {S+T,+,X}"
Oleg Ranevskyy [Wed, 25 May 2016 13:01:33 +0000 (13:01 +0000)]
[SCEV] No-wrap flags are not propagated when folding "{S,+,X}+T ==> {S+T,+,X}"

Summary:
**Description**

This makes `WidenIV::widenIVUse` (IndVarSimplify.cpp) fail to widen narrow IV uses in some cases. The latter affects IndVarSimplify which may not eliminate narrow IV's when there actually exists such a possibility, thereby producing ineffective code.

When `WidenIV::widenIVUse` gets a NarrowUse such as `{(-2 + %inc.lcssa),+,1}<nsw><%for.body3>`, it first tries to get a wide recurrence for it via the `getWideRecurrence` call.
`getWideRecurrence` returns recurrence like this: `{(sext i32 (-2 + %inc.lcssa) to i64),+,1}<nsw><%for.body3>`.

Then a wide use operation is generated by `cloneIVUser`. The generated wide use is evaluated to `{(-2 + (sext i32 %inc.lcssa to i64))<nsw>,+,1}<nsw><%for.body3>`, which is different from the `getWideRecurrence` result. `cloneIVUser` sees the difference and returns nullptr.

This patch also fixes the broken LLVM tests by adding missing <nsw> entries introduced by the correction.

**Minimal reproducer:**
```
int foo(int a, int b, int c);
int baz();

void bar()
{
   int arr[20];
   int i = 0;

   for (i = 0; i < 4; ++i)
     arr[i] = baz();

   for (; i < 20; ++i)
     arr[i] = foo(arr[i - 4], arr[i - 3], arr[i - 2]);
}
```

**Clang command line:**
```
clang++ -mllvm -debug -S -emit-llvm -O3 --target=aarch64-linux-elf test.cpp -o test.ir
```

**Expected result:**
The ` -mllvm -debug` log shows that all the IV's for the second `for` loop have been eliminated.

Reviewers: sanjoy

Subscribers: atrick, asl, aemerson, mzolotukhin, llvm-commits

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

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

8 years ago[AArch64] Adding a TargetParser for AArch64
Renato Golin [Wed, 25 May 2016 12:02:33 +0000 (12:02 +0000)]
[AArch64] Adding a TargetParser for AArch64

There's already a ARMTargetParser,now adding a similar one for aarch64.
so we can use it to do ARCH/CPU/FPU parsing in clang and llvm, instead of
string comparison.

Patch by Jojo Ma.

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

8 years ago[X86][AVX2] Added more fast-isel tests to match clang/test/CodeGen/avx2-builtins.c
Simon Pilgrim [Wed, 25 May 2016 10:56:23 +0000 (10:56 +0000)]
[X86][AVX2] Added more fast-isel tests to match clang/test/CodeGen/avx2-builtins.c

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

8 years ago[X86][AVX2] Begun adding fast-isel tests to match clang/test/CodeGen/avx2-builtins.c
Simon Pilgrim [Wed, 25 May 2016 10:15:06 +0000 (10:15 +0000)]
[X86][AVX2] Begun adding fast-isel tests to match clang/test/CodeGen/avx2-builtins.c

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

8 years ago[X86][SSE2] Use storeu intrinsics for _mm_storeu_pd/_mm_storeu_pd tests
Simon Pilgrim [Wed, 25 May 2016 09:42:29 +0000 (09:42 +0000)]
[X86][SSE2] Use storeu intrinsics for _mm_storeu_pd/_mm_storeu_pd tests

Also fixed name of _mm_store1_pd test

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

8 years ago[X86][SSE] Use storeu intrinsics for _mm_storeu_ps test
Simon Pilgrim [Wed, 25 May 2016 09:28:06 +0000 (09:28 +0000)]
[X86][SSE] Use storeu intrinsics for _mm_storeu_ps test

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

8 years ago[X86][SSE] Replace (V)CVTDQ2PD(Y) and (V)CVTPS2PD(Y) lossless conversion intrinsics...
Simon Pilgrim [Wed, 25 May 2016 08:59:18 +0000 (08:59 +0000)]
[X86][SSE] Replace (V)CVTDQ2PD(Y) and (V)CVTPS2PD(Y) lossless conversion intrinsics with generic IR

Followup to D20528 clang patch, this removes the (V)CVTDQ2PD(Y) and (V)CVTPS2PD(Y) llvm intrinsics and auto-upgrades to sitofp/fpext instead.

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

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

8 years ago[X86] Remove the llvm.x86.sse2.storel.dq intrinsic. It hasn't been used in a long...
Craig Topper [Wed, 25 May 2016 06:56:32 +0000 (06:56 +0000)]
[X86] Remove the llvm.x86.sse2.storel.dq intrinsic. It hasn't been used in a long time.

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

8 years ago[Support] Reapply cleanup r270643
Gerolf Hoflehner [Wed, 25 May 2016 06:23:45 +0000 (06:23 +0000)]
[Support] Reapply cleanup r270643

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

8 years ago[FunctionAttrs] Volatile loads should disable readonly
David Majnemer [Wed, 25 May 2016 05:53:04 +0000 (05:53 +0000)]
[FunctionAttrs] Volatile loads should disable readonly

A volatile load has side effects beyond what callers expect readonly to
signify.  For example, it is not safe to reorder two function calls
which each perform a volatile load to the same memory location.

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

8 years ago[Support] revert previous commit r270643
Gerolf Hoflehner [Wed, 25 May 2016 05:51:05 +0000 (05:51 +0000)]
[Support] revert previous commit r270643

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

8 years ago[llvm-pdbdump] Decipher the remaining PDB streams.
Zachary Turner [Wed, 25 May 2016 05:49:48 +0000 (05:49 +0000)]
[llvm-pdbdump] Decipher the remaining PDB streams.

We know at least know the meaning of every stream of the
PDB file.  Yay!

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

8 years agoRevert "llvm-objdump: support dumping AUX records for weak externals"
Saleem Abdulrasool [Wed, 25 May 2016 05:45:02 +0000 (05:45 +0000)]
Revert "llvm-objdump: support dumping AUX records for weak externals"

Revert it until we can figure out the endianness issue.

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

8 years agoObject: ensure that structures are fully defined
Saleem Abdulrasool [Wed, 25 May 2016 05:23:02 +0000 (05:23 +0000)]
Object: ensure that structures are fully defined

Ensure that the unused fields are explicitly stated when defining the types.
Add some compile time assertions about the size requirements for the structure
types.

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

8 years ago[llvm-pdbdump] Dump the IPI stream and all records.
Zachary Turner [Wed, 25 May 2016 04:35:22 +0000 (04:35 +0000)]
[llvm-pdbdump] Dump the IPI stream and all records.

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

8 years agopdbdump: fix bug in name hash table.
Rui Ueyama [Wed, 25 May 2016 04:07:17 +0000 (04:07 +0000)]
pdbdump: fix bug in name hash table.

name_ids() did not return all IDs but only the first NameCount items.
The number of non-zero entries in IDs vector is NameCount, but it
does not mean that all non-zero entries are at the beginning of IDs
vector.

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

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

8 years ago[llvm-pdbdump] Stream 0 isn't actually the MSF superblock.
Zachary Turner [Wed, 25 May 2016 03:53:16 +0000 (03:53 +0000)]
[llvm-pdbdump] Stream 0 isn't actually the MSF superblock.

Oddly enough, I realized we don't actually know what stream
0 is (if anything).

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

8 years agotest: use a binary file instead
Saleem Abdulrasool [Wed, 25 May 2016 03:48:07 +0000 (03:48 +0000)]
test: use a binary file instead

Generate the obj rather than use yaml2obj.  Hopefully, this fixes the PPC64 test
failures.

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

8 years ago[llvm-pdbdump] Dump stream summary list.
Zachary Turner [Wed, 25 May 2016 03:43:17 +0000 (03:43 +0000)]
[llvm-pdbdump] Dump stream summary list.

Try to figure out what each stream is, and dump its name.

This gives us a better picture of what streams we still don't
understand.

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

8 years agoSupport: remove outdated comment
Saleem Abdulrasool [Wed, 25 May 2016 01:59:36 +0000 (01:59 +0000)]
Support: remove outdated comment

This information is in the latest version of the specification.

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

8 years agollvm-objdump: support dumping AUX records for weak externals
Saleem Abdulrasool [Wed, 25 May 2016 01:59:32 +0000 (01:59 +0000)]
llvm-objdump: support dumping AUX records for weak externals

This is a support COFF feature.  Ensure that we can display the weak externals
auxiliary symbol.  It contains useful information (such as the default binding
and how to resolve the symbol).

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

8 years ago[PM] Port BDCE to the new pass manager.
Davide Italiano [Wed, 25 May 2016 01:57:04 +0000 (01:57 +0000)]
[PM] Port BDCE to the new pass manager.

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

8 years agoSoften assertion in AMDGPU emitPrologue.
Nirav Dave [Wed, 25 May 2016 01:45:42 +0000 (01:45 +0000)]
Soften assertion in AMDGPU emitPrologue.

[AMDGPU] emitPrologue looks for an unused unallocated SGPR that is not
the scratch descriptor. Continue search if unused register found fails
other requirements.

Reviewers: arsenm, tstellarAMD, nhaehnle

Subscribers: arsenm, llvm-commits, kzhuravl

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

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

8 years agoFix some Include What You Use warnings in examples; other minor fixes.
Eugene Zelenko [Wed, 25 May 2016 01:18:36 +0000 (01:18 +0000)]
Fix some Include What You Use warnings in examples; other minor fixes.

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

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

8 years agoScheduleDAGInstrs: Fix memory corruption
Matthias Braun [Wed, 25 May 2016 01:18:00 +0000 (01:18 +0000)]
ScheduleDAGInstrs: Fix memory corruption

We have to modify V2SU before inserting new elements into the
CurrentVRegDefs set because that may move V2SU in memory invalidating
the reference.

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

8 years ago[Support] Cleanup of an ancient Darwin work-around in Signals.inc (PR26174)
Gerolf Hoflehner [Wed, 25 May 2016 00:54:39 +0000 (00:54 +0000)]
[Support] Cleanup of an ancient Darwin work-around in Signals.inc (PR26174)

Patch by Jeremy Huddleston Sequoia

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

8 years ago[esan|wset] EfficiencySanitizer working set tool fastpath
Derek Bruening [Wed, 25 May 2016 00:17:24 +0000 (00:17 +0000)]
[esan|wset] EfficiencySanitizer working set tool fastpath

Summary:
Adds fastpath instrumentation for esan's working set tool.  The
instrumentation for an intra-cache-line load or store consists of an
inlined write to shadow memory bits for the corresponding cache line.

Adds a basic test for this instrumentation.

Reviewers: aizatsky

Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits

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

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

8 years ago[libFuzzer] print stats if we crash on empty input
Kostya Serebryany [Wed, 25 May 2016 00:15:36 +0000 (00:15 +0000)]
[libFuzzer] print stats if we crash on empty input

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

8 years agoRevert r270569 (teach llvm-mc to generate compressed debug sections in zlib
Richard Smith [Wed, 25 May 2016 00:14:12 +0000 (00:14 +0000)]
Revert r270569 (teach llvm-mc to generate compressed debug sections in zlib
style). It appears that current ELF linkers are not ready for this.

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

8 years ago[codeview] Add support for new types and symbols.
Zachary Turner [Wed, 25 May 2016 00:12:48 +0000 (00:12 +0000)]
[codeview] Add support for new types and symbols.

This patch adds support for:

S_EXPORT
LF_BITFIELD

With this patch, I have run through a couple of gigabytes of PDB
files and cannot find a type or symbol that we do not understand.

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

8 years ago[codeview] Add support for S_EXPORT symbol.
Zachary Turner [Wed, 25 May 2016 00:12:40 +0000 (00:12 +0000)]
[codeview] Add support for S_EXPORT symbol.

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

8 years ago[WebAssembly] Put __stack_pointer in the offset field of loads and stores.
Dan Gohman [Tue, 24 May 2016 23:47:41 +0000 (23:47 +0000)]
[WebAssembly] Put __stack_pointer in the offset field of loads and stores.

Instead of this:

i32.const       $push10=, __stack_pointer
i32.load        $push11=, 0($pop10)

Emit this:

i32.const       $push10=, 0
i32.load        $push11=, __stack_pointer($pop10)

It's not currently clear which is better, though there's a chance the second
form may be better at overall compression. We can revisit this when we have
more data; for now it makes sense to make PEI consistent with isel.

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

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

8 years ago[libfuzzer] Trying random unit prefixes during corpus load.
Mike Aizatsky [Tue, 24 May 2016 23:14:29 +0000 (23:14 +0000)]
[libfuzzer] Trying random unit prefixes during corpus load.

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

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

8 years agoRe-enable "[LoopUnroll] Enable advanced unrolling analysis by default" one more time.
Michael Zolotukhin [Tue, 24 May 2016 23:00:05 +0000 (23:00 +0000)]
Re-enable "[LoopUnroll] Enable advanced unrolling analysis by default" one more time.

This reverts commit r270577.

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

8 years ago[LoopUnrollAnalyzer] Fix a crash in UnrolledInstAnalyzer::visitCastInst.
Michael Zolotukhin [Tue, 24 May 2016 22:59:58 +0000 (22:59 +0000)]
[LoopUnrollAnalyzer] Fix a crash in UnrolledInstAnalyzer::visitCastInst.

This fixes PR27847. Now for real.

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

8 years ago[codeview] Add support for new type records.
Zachary Turner [Tue, 24 May 2016 22:58:46 +0000 (22:58 +0000)]
[codeview] Add support for new type records.

This adds support for parsing and dumping the following
symbol types:

S_LPROCREF
S_ENVBLOCK
S_COMPILE2
S_REGISTER
S_COFFGROUP
S_SECTION
S_THUNK32
S_TRAMPOLINE

As of this patch, the test PDB files no longer have any unknown
symbol types.

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

8 years ago[esan] Add calls from the ctor/dtor to the runtime library
Derek Bruening [Tue, 24 May 2016 22:48:24 +0000 (22:48 +0000)]
[esan] Add calls from the ctor/dtor to the runtime library

Summary:
Adds createEsanInitToolGV for creating a tool-specific variable passed
to the runtime library.

Adds dtor "esan.module_dtor" and inserts calls from the dtor to
"__esan_exit" in the runtime library.

Updates the EfficiencySanitizer test.

Patch by Qin Zhao.

Reviewers: aizatsky

Subscribers: bruening, kcc, vitalybuka, eugenis, llvm-commits

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

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

8 years ago[libfuzzer][doc] documenting running libfuzzer tests.
Mike Aizatsky [Tue, 24 May 2016 22:25:46 +0000 (22:25 +0000)]
[libfuzzer][doc] documenting running libfuzzer tests.

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

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

8 years ago[MBP] Factor out the optimizations on branch conditions and unanalyzable branches...
Haicheng Wu [Tue, 24 May 2016 22:16:14 +0000 (22:16 +0000)]
[MBP] Factor out the optimizations on branch conditions and unanalyzable branches. NFCI.

The benefits of this patch are

-- We call AnalyzeBranch() to optimize unanalyzable branches, but the result of
   AnalyzeBranch() is not used. Now the result is useful.

-- Before the layout of all the MBBs is set, the result of AnalyzeBranch() is
   not correct and needs to be fixed before using it to optimize the branch
   conditions. Now this optimization is called after the layout, the code used
   to fix the result of AnalyzeBranch() is not needed.

-- The branch condition of the last block is not optimized before. Now it is
   optimized.

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

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

8 years agoThere's no reason to use _ to name variables different just for construction.
Eric Christopher [Tue, 24 May 2016 22:15:54 +0000 (22:15 +0000)]
There's no reason to use _ to name variables different just for construction.

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

8 years agoLiveIntervalAnalysis: Fix handleMove() re-using the wrong value number
Matthias Braun [Tue, 24 May 2016 21:54:01 +0000 (21:54 +0000)]
LiveIntervalAnalysis: Fix handleMove() re-using the wrong value number

This fixes http://llvm.org/PR27856

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

8 years agoDWARF: Omit DW_AT_APPLE attributes (except ObjC ones) when not targeting LLDB
David Blaikie [Tue, 24 May 2016 21:19:28 +0000 (21:19 +0000)]
DWARF: Omit DW_AT_APPLE attributes (except ObjC ones) when not targeting LLDB

These attributes aren't used by other debuggers (& may be confused with
other DWARF extensions) so they just waste space (about 1.5% on .dwo
file size on a random large program I tested).

We could remove the ObjC property ones too, but I figured they were
probably more necessary when trying to understand ObjC (I could be wrong
though) & so any debugger interested in working with ObjC would use
them, perhaps? (also, there are some legacy tests in Clang that test for
them - making it one of those annoying cross-project commits and/or
cleanup to refactor those tests)

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

8 years ago[GuardWidening] Tighten the interface of the RangeCheck struct; NFC
Sanjoy Das [Tue, 24 May 2016 20:54:45 +0000 (20:54 +0000)]
[GuardWidening] Tighten the interface of the RangeCheck struct; NFC

Make `GuardWideningImpl::RangeCheck` into a class and add accessors.

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

8 years agoRemove unused global variable.
Zachary Turner [Tue, 24 May 2016 20:48:18 +0000 (20:48 +0000)]
Remove unused global variable.

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

8 years ago[llvm-pdbdump] Rework command line options.
Zachary Turner [Tue, 24 May 2016 20:31:48 +0000 (20:31 +0000)]
[llvm-pdbdump] Rework command line options.

When dumping huge PDB files, too many of the options were grouped
together so you would get neverending spew of output.  This patch
introduces more granular display options so you can only dump the
fields you actually care about.

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

8 years agoAdd libxar to LLVM_SYSTEM_LIBS if available
Chris Bieneman [Tue, 24 May 2016 20:19:05 +0000 (20:19 +0000)]
Add libxar to LLVM_SYSTEM_LIBS if available

This should fix PR27855. We have some terrible hacks in the CMake to add linking SYSTEM_LIBS to all tools. I think we need a better way to do this in the future.

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

8 years agoAdd FIXMEs to all derived classes of std::error_category.
Peter Collingbourne [Tue, 24 May 2016 20:13:46 +0000 (20:13 +0000)]
Add FIXMEs to all derived classes of std::error_category.

This helps make clear that we're moving away from std::error_code.

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

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

8 years ago[ThinLTO] Handle empty exports list for module.
Teresa Johnson [Tue, 24 May 2016 19:12:48 +0000 (19:12 +0000)]
[ThinLTO] Handle empty exports list for module.

We might have an empty exports list for a module and shouldn't assert
when checking if a symbol is exported.

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

8 years ago[libFuzzer] add a license header to afl/afl_driver.cpp
Kostya Serebryany [Tue, 24 May 2016 19:05:25 +0000 (19:05 +0000)]
[libFuzzer] add a license header to afl/afl_driver.cpp

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

8 years ago[codeview, pdb] Dump symbol records in publics stream
Zachary Turner [Tue, 24 May 2016 18:55:14 +0000 (18:55 +0000)]
[codeview, pdb] Dump symbol records in publics stream

Differential Revision: http://reviews.llvm.org/D20580
Reviewed By: ruiu

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

8 years ago[profile] Fix runtime hook linkage bug for COFF
Xinliang David Li [Tue, 24 May 2016 18:47:38 +0000 (18:47 +0000)]
[profile] Fix runtime hook linkage bug for COFF

Patch by: Johan Engelen

the user hook has linkonceODR linkage and it needs to be
in comdatAny group.

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

8 years ago[ThinLTO] Fix bot failures by avoiding threaded map modifications
Teresa Johnson [Tue, 24 May 2016 18:44:01 +0000 (18:44 +0000)]
[ThinLTO] Fix bot failures by avoiding threaded map modifications

Ensure multiple threads won't have to modify map, probable cause of
bot failures from r270584 such as:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/13095

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

8 years ago[AMDGPU][NFC] Rename ReserveTrapVGPRs -> ReserveRegs
Konstantin Zhuravlyov [Tue, 24 May 2016 18:37:18 +0000 (18:37 +0000)]
[AMDGPU][NFC] Rename ReserveTrapVGPRs -> ReserveRegs

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

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

8 years agoFix build errors
Zachary Turner [Tue, 24 May 2016 17:44:29 +0000 (17:44 +0000)]
Fix build errors

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

8 years ago[InstCombine] Clean up and FileCheckize test case.
Chad Rosier [Tue, 24 May 2016 17:35:49 +0000 (17:35 +0000)]
[InstCombine] Clean up and FileCheckize test case.

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

8 years agoDump symbol record details in llvm-pdbdump
Zachary Turner [Tue, 24 May 2016 17:30:25 +0000 (17:30 +0000)]
Dump symbol record details in llvm-pdbdump

This makes use of the newly introduced `CVSymbolVisitor` to dump details
of each type of symbol record in the symbol streams.  Future patches will
bring this visitor based dumping to the publics stream, as well as
creating a `SymbolDumpDelegate` to print more information about
relocations etc.

Differential Revision: http://reviews.llvm.org/D20545
Reviewed By: ruiu

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

8 years ago[ThinLTO] Change ODR resolution and internalization to be index-based
Teresa Johnson [Tue, 24 May 2016 17:24:25 +0000 (17:24 +0000)]
[ThinLTO] Change ODR resolution and internalization to be index-based

Summary:
This patch changes the ODR resolution and internalization to be based on
updates to the Index, which are consumed by the backend portion of the
transformations.

It will be followed by an NFC change to move these out of libLTO's
ThinLTOCodeGenerator so that it can be used by other linkers
(gold and lld) and by ThinLTO distributed backends.

The global summary-based portions use callbacks so that the client can
determine the prevailing copy and other information in a client-specific
way. Eventually, with the API being developed in D20268, these may be
modified to use information such as symbol resolutions, supplied by the
clients to the API.

Reviewers: joker-eph

Subscribers: joker.eph, pcc, llvm-commits

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

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

8 years ago[IRCE] Return a Value*, not SCEV* from parseRangeCheck; NFC
Sanjoy Das [Tue, 24 May 2016 17:19:56 +0000 (17:19 +0000)]
[IRCE] Return a Value*, not SCEV* from parseRangeCheck; NFC

This is better layering, since the caller needs to check if the index
was an add-rec anyway.

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

8 years agofix typos; NFC
Sanjay Patel [Tue, 24 May 2016 16:51:26 +0000 (16:51 +0000)]
fix typos; NFC

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

8 years agoRevert r270518, which re-enabled "[LoopUnroll] Enable advanced unrolling analysis...
Hans Wennborg [Tue, 24 May 2016 16:10:12 +0000 (16:10 +0000)]
Revert r270518, which re-enabled "[LoopUnroll] Enable advanced unrolling analysis by default.

Chromium builds are still hitting the assert in PR27874.

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

8 years agoRecommit r270070 ([llvm-mc] - Teach llvm-mc to generate compressed debug sections...
George Rimar [Tue, 24 May 2016 15:19:35 +0000 (15:19 +0000)]
Recommit r270070 ([llvm-mc] - Teach llvm-mc to generate compressed debug sections in zlib style.)

Now, after landing r270560, r270557, r270320 it is a proper time.

Original commit message:
[llvm-mc] - Teach llvm-mc to generate compressed debug sections in zlib style.

Before this patch llvm-mc generated zlib-gnu styled sections.
That means no SHF_COMPRESSED flag was set, magic 'zlib' signature
was used in combination with full size field. Sections were renamed to "*.z*".
This patch reimplements the compression style to zlib one as zlib-gnu looks
to be depricated everywhere.

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

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

8 years ago[ValueTracking, InstSimplify] extend isKnownNonZero() to handle vector constants
Sanjay Patel [Tue, 24 May 2016 14:18:49 +0000 (14:18 +0000)]
[ValueTracking, InstSimplify] extend isKnownNonZero() to handle vector constants

Similar in spirit to D20497 :
If all elements of a constant vector are known non-zero, then we can say that the
whole vector is known non-zero.

It seems like we could extend this to FP scalar/vector too, but isKnownNonZero()
says it only works for integers and pointers for now.

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

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

8 years ago[InstCombine][X86][SSE41] The SSE41 PMOVSX intrinsics are auto upgraded now and aren...
Simon Pilgrim [Tue, 24 May 2016 13:52:44 +0000 (13:52 +0000)]
[InstCombine][X86][SSE41] The SSE41 PMOVSX intrinsics are auto upgraded now and aren't handled by InstCombine any more

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

8 years ago[MC/ELF] - Fixed insufficient compression.s test
George Rimar [Tue, 24 May 2016 13:45:29 +0000 (13:45 +0000)]
[MC/ELF] - Fixed insufficient compression.s test

Main problem that .debug_info
section was used to check that llvm-dwarfdump is able to decompress
data that was compressed with llvm-mc tool. This section was not compressed
actually, because consumes more space in compressed view.

I changed testcase to use .debug_str section which is one that
is really compressed. So currently test do what is probably was expected to do:
checks that "data"->llvm-mc->llvm-dwarfdump->dumps back initial "data".

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

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

8 years agoRework/enhance stack coloring data flow analysis.
Than McIntosh [Tue, 24 May 2016 13:23:44 +0000 (13:23 +0000)]
Rework/enhance stack coloring data flow analysis.

Replace bidirectional flow analysis to compute liveness with forward
analysis pass. Treat lifetimes as starting when there is a first
reference to the stack slot, as opposed to starting at the point of the
lifetime.start intrinsic, so as to increase the number of stack
variables we can overlap.

Reviewers: gbiv, qcolumbet, wmi
Differential Revision: http://reviews.llvm.org/D18827

Bug: 25776

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

8 years ago[X86][SSE] Added vector sitofp/uitofp folded load tests
Simon Pilgrim [Tue, 24 May 2016 13:07:23 +0000 (13:07 +0000)]
[X86][SSE] Added vector sitofp/uitofp folded load tests

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

8 years agoRecommit r270547 ([llvm-dwarfdump] - Teach dwarfdump to decompress debug sections...
George Rimar [Tue, 24 May 2016 12:48:46 +0000 (12:48 +0000)]
Recommit r270547 ([llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.)

Fix was:
1) Had to regenerate dwarfdump-test-zlib.elf-x86-64, dwarfdump-test-zlib-gnu.elf-x86-64
(because llvm-symbolizer-zlib.test uses that inputs for its purposes and failed).
2) Updated llvm-symbolizer-zlib.test (updated used call function address to match new files +
added one more check for newly created dwarfdump-test-zlib-gnu.elf-x86-64 binary input).
3) Updated comment in dwarfdump-test-zlib.cc.

Original commit message:
[llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.

Before this llvm-dwarfdump only recognized zlib-gnu compression style of headers,
this patch adds support for zlib style.
It looks reasonable to support both styles for dumping,
even if we are not going to suport generating of deprecated gnu one.

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

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

8 years ago[AMDGPU] Assembler: rework parsing of optional operands.
Sam Kolton [Tue, 24 May 2016 12:38:33 +0000 (12:38 +0000)]
[AMDGPU] Assembler: rework parsing of optional operands.

Summary:
Change process of parsing of optional operands. All optional operands use same parsing method - parseOptionalOperand().
No default values are added to OperandsVector.
Get rid of WORKAROUND_USE_DUMMY_OPERANDS_INSTEAD_MUTIPLE_DEFAULT_OPERANDS.

Reviewers: tstellarAMD, vpykhtin, artem.tamazov, nhaustov

Subscribers: arsenm, kzhuravl

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

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

8 years ago[AMDGPU][llvm-mc] Disassembler: support for TTMP/TBA/TMA registers.
Artem Tamazov [Tue, 24 May 2016 12:05:16 +0000 (12:05 +0000)]
[AMDGPU][llvm-mc] Disassembler: support for TTMP/TBA/TMA registers.

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

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

8 years ago[llvm][AVX512][intrinsics] Fix vperm{b|w|d|q|ps|pd} intrinsics. Index is second argum...
Igor Breger [Tue, 24 May 2016 11:06:22 +0000 (11:06 +0000)]
[llvm][AVX512][intrinsics] Fix vperm{b|w|d|q|ps|pd} intrinsics. Index is second argument to buildin function but it is first instruction operand.

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

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

8 years agoRevert r270543 ("Recommit r270540")
George Rimar [Tue, 24 May 2016 11:03:10 +0000 (11:03 +0000)]
Revert r270543 ("Recommit r270540")
Failed build bot in another test.
I am sorry for noise.
http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/23679/testReport/junit/LLVM/DebugInfo/llvm_symbolizer_zlib_test/

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

8 years agoRecommit r270540
George Rimar [Tue, 24 May 2016 10:46:43 +0000 (10:46 +0000)]
Recommit r270540
fix: forgot to commit the updated dwarfdump-test-zlib.elf-x86-64

Original commit message:
[llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.

Before this llvm-dwarfdump only recognized zlib-gnu compression style of headers,
this patch adds support for zlib style.
It looks reasonable to support both styles for dumping,
even if we are not going to suport generating of deprecated gnu one.

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

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

8 years ago[MIPS][LLVM-MC] Fix Disassemble of Negative Offset
Sagar Thakur [Tue, 24 May 2016 09:57:10 +0000 (09:57 +0000)]
[MIPS][LLVM-MC] Fix Disassemble of Negative Offset

Patch by Nitesh Jain.

Summary: The type of Imm in MipsDisassembler.cpp was incorrect since SignExtend64 return int64_t type.As per the MIPSr6 doc ,the offset is added to the address of the instruction following the branch (not the branch itself), to form a PC-relative effective target address hence “4” is added to the offset. The offset of some test case are update to reflect the changes due to “ + 4 ” offset and new test case for negative offset are added.

Reviewers: dsanders, vkalintiris
Differential Revision: http://reviews.llvm.org/D17540

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

8 years agoRevert r270540 "[llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in...
George Rimar [Tue, 24 May 2016 09:44:44 +0000 (09:44 +0000)]
Revert r270540 "[llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style."

it broked bot:
http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/5036

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

8 years ago[llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.
George Rimar [Tue, 24 May 2016 09:28:36 +0000 (09:28 +0000)]
[llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.

Before this llvm-dwarfdump only recognized zlib-gnu compression style of headers,
this patch adds support for zlib style.
It looks reasonable to support both styles for dumping,
even if we are not going to suport generating of deprecated gnu one.

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

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

8 years ago[CostModel][X86][XOP] Added XOP costmodel for BITREVERSE
Simon Pilgrim [Tue, 24 May 2016 08:17:50 +0000 (08:17 +0000)]
[CostModel][X86][XOP] Added XOP costmodel for BITREVERSE

Now that we have a nice fast VPPERM solution. Added framework for future intrinsic costs as well.

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