OSDN Git Service
Vedant Kumar [Mon, 16 May 2016 20:49:39 +0000 (20:49 +0000)]
Retry^2 "[ProfileData] (llvm) Use Error in InstrProf and Coverage, NFC"
Transition InstrProf and Coverage over to the stricter Error/Expected
interface.
Changes since the initial commit:
- Address undefined-var-template warning.
- Fix error message printing in llvm-profdata.
- Check errors in loadTestingFormat() + annotateAllFunctions().
- Defer error handling in InstrProfIterator to InstrProfReader.
Differential Revision: http://reviews.llvm.org/D19901
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269694
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Mon, 16 May 2016 20:42:27 +0000 (20:42 +0000)]
llvm-dwp: Streamline duplicate DWO ID diagnostic handling
Actually use the error return path rather than printing the duplicate
information then a separate error. But also just tidy up/deduplicate
some of the code for generating the diagnostic text.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269692
91177308-0d34-0410-b5e6-
96231b3b80d8
Xinliang David Li [Mon, 16 May 2016 20:34:39 +0000 (20:34 +0000)]
sync up common profile header /nfc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269690
91177308-0d34-0410-b5e6-
96231b3b80d8
Bryan Chan [Mon, 16 May 2016 20:32:22 +0000 (20:32 +0000)]
[SystemZ] Support LRVH and STRVH opcodes
Summary: On Linux, /usr/include/bits/byteswap-16.h defines __byteswap_16(x) as an inlined LRVH (Load Reversed Half-word) instruction. The SystemZ back-end did not support this opcode and the inlined assembly would cause a fatal error.
Reviewers: bryanpkc, uweigand
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18732
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269688
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Mon, 16 May 2016 20:03:02 +0000 (20:03 +0000)]
Remove extra whitespace. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269685
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Mon, 16 May 2016 19:33:07 +0000 (19:33 +0000)]
ThinLTO: sort inputs and schedule by decreasing size
This is a compile time optimization: keeping a large file to process
at the end hurts parallelism.
The heurisitic used right now is the input buffer size, however we
may want to consider the number of functions to import or the
different number of files to load for importing as well.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269684
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 May 2016 19:16:32 +0000 (19:16 +0000)]
[WebAssembly] Mark COPY_LOCAL and TEE_LOCAL instructions has having no side effects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269683
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Mon, 16 May 2016 19:11:59 +0000 (19:11 +0000)]
ThinLTO caching: reload cached file with mmap and drop heap-allocated memory buffer
This is reducing pressure on the OS memory system, and is NFC
when not using a cache.
I measure a 10x memory consumption reduction when linking opt
with full debug info.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269682
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 May 2016 18:59:34 +0000 (18:59 +0000)]
[WebAssembly] Use eqz to negate a branch conditions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269681
91177308-0d34-0410-b5e6-
96231b3b80d8
Geoff Berry [Mon, 16 May 2016 18:51:54 +0000 (18:51 +0000)]
[BasicAA] Update comments based on feedback from hfinkel. NFCI.
Original change Hal's comments were based on:
http://reviews.llvm.org/D19730
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269678
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 May 2016 18:51:03 +0000 (18:51 +0000)]
[WebAssembly] Add a few optimization ideas to README.txt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269677
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Kuperstein [Mon, 16 May 2016 18:27:00 +0000 (18:27 +0000)]
[X86] Remove transformVSELECTtoBlendVECTOR_SHUFFLE
The new X86 shuffle lowering can do just fine without transforming vselects
into vector_shuffles. It looks like the only thing this code does right now
is cause trouble - in particular, it can lead to combine/legalization infinite
loops.
Note that it's not completely NFC, since some of the shuffle masks get inverted,
which may cause slight differences further down the line. We may want to find
a way to invert those masks, but that's orthogonal to this commit.
This fixes the hang in PR27689.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269676
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Mon, 16 May 2016 18:02:28 +0000 (18:02 +0000)]
[Hexagon] Make getCallerSavedRegs specific to a register class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269674
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthew Simpson [Mon, 16 May 2016 17:00:56 +0000 (17:00 +0000)]
[LAA] Rename forwarding conflict detection option (NFC)
This patch renames the option enabling the store-to-load forwarding conflict
detection optimization. This change was requested in the review of D20241.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269668
91177308-0d34-0410-b5e6-
96231b3b80d8
Adam Nemet [Mon, 16 May 2016 16:57:47 +0000 (16:57 +0000)]
[LAA] Comment couldPreventStoreLoadForward. NFC
Also s/Cycles/Iters/ in NumCyclesForStoreLoadThroughMemory to make it
clear that this is not about clock cycles but loop cycles/iterations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269667
91177308-0d34-0410-b5e6-
96231b3b80d8
Adam Nemet [Mon, 16 May 2016 16:57:42 +0000 (16:57 +0000)]
[LAA] clang-format the function couldPreventStoreLoadForward. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269666
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Mon, 16 May 2016 16:56:10 +0000 (16:56 +0000)]
[Hexagon] Simplify HexagonInstrInfo::isPredicable
Remove all the checks for constant extenders from isPredicable. The users
of it should be the ones checking cost/profitability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269664
91177308-0d34-0410-b5e6-
96231b3b80d8
Xinliang David Li [Mon, 16 May 2016 16:31:07 +0000 (16:31 +0000)]
[PM] Port indirect call promotion pass to new pass manager
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269660
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthew Simpson [Mon, 16 May 2016 15:08:20 +0000 (15:08 +0000)]
[LV] Ensure safe VF for loops with interleaved accesses
The selection of the vectorization factor currently doesn't consider
interleaved accesses. The vectorization factor is based on the maximum safe
dependence distance computed by LAA. However, for loops with interleaved
groups, we should instead base the vectorization factor on the maximum safe
dependence distance divided by the maximum interleave factor of all the
interleaved groups. Interleaved accesses not in a group will be scalarized.
Differential Revision: http://reviews.llvm.org/D20241
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269659
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Mon, 16 May 2016 14:28:02 +0000 (14:28 +0000)]
[llc] New diagnostic handler
Without a diagnostic handler installed, llc's behaviour is to exit on the first
error that it encounters. This is very different from the behaviour of clang
and other front ends, which try to gather as many errors as possible before
exiting.
This commit adds a diagnostic handler to llc, allowing it to find and report
more than one error. The old behaviour is preserved under a flag (-exit-on-error).
Some of the tests fail with the new diagnostic handler, so they have to use the
new flag in order to run under the previous behaviour. Some of these are known
bugs, others need further investigation. Ideally, we should fix the tests and
remove the flag at some point in the future.
Reapplied after fixing the LLDB build that was broken due to the new
DiagnosticSeverity in LLVMContext.h, and fixed an UB in the new change.
Patch by Diana Picus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269655
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthew Simpson [Mon, 16 May 2016 14:14:49 +0000 (14:14 +0000)]
[LAA] Add option to disable conflict detection (NFC)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269654
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Mon, 16 May 2016 12:55:01 +0000 (12:55 +0000)]
Use proper capitalization and punctuation per coding standards. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269652
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Mon, 16 May 2016 11:48:54 +0000 (11:48 +0000)]
Fixed unused variable warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269650
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Mon, 16 May 2016 11:19:11 +0000 (11:19 +0000)]
[X86][SSSE3] Lower vector CTLZ with PSHUFB lookups
This patch uses PSHUFB to lower vector CTLZ and avoid (slower) scalarizations.
The leading zero count of each 4-bit nibble of the vector is determined by using a PSHUFB lookup. Pairs of results are then repeatedly combined up to the original element width.
Differential Revision: http://reviews.llvm.org/D20016
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269646
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 16 May 2016 11:03:56 +0000 (11:03 +0000)]
macho2yaml.cpp: Fix "reserved" uninitialized.
FIXME: It should reflect actual field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269645
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Dewhurst [Mon, 16 May 2016 11:02:00 +0000 (11:02 +0000)]
[Sparc][LEON] Add LEON-specific CASA instruction.
Differental Revision: http://reviews.llvm.org/D20098
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269644
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 16 May 2016 10:13:37 +0000 (10:13 +0000)]
Appease msc18 to move PassBuilder::crossRegisterProxies() in front of PassBuilder::parseModulePassPipeline().
I don't know why it crashed cl.exe but it works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269643
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Mon, 16 May 2016 09:33:59 +0000 (09:33 +0000)]
[mips][ias] Fix R_MICROMIPS_GOT16 evaluation and eliminate symbol for R_MICROMIPS_(GOT|HI|LO)16
Summary:
The failure r269410 worked around turned out to be caused by an incorrect
evaluation of R_MICROMIPS_GOT16 which then caused the GOT entries to be
incorrect.
This patch fixes the evaluation and reverts r269410.
Reviewers: sdardis, vkalintiris, rafael
Subscribers: rafael, dsanders, sdardis, llvm-commits
Differential Revision: http://reviews.llvm.org/D20242
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269641
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Mon, 16 May 2016 09:10:13 +0000 (09:10 +0000)]
[mips][ias] EF_MIPS_MICROMIPS should iff microMIPS code was emitted.
Summary:
This fixes PR27682. Additionally, '.set micromips' by itself is not sufficient
to raise the EF_MIPS_MICROMIPS flag. It is also necessary to emit a microMIPS
instruction. This has also been fixed.
Reviewers: sdardis, vkalintiris, rafael
Subscribers: rafael, dsanders, sdardis, llvm-commits
Differential Revision: http://reviews.llvm.org/D20214
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269639
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Mon, 16 May 2016 09:04:55 +0000 (09:04 +0000)]
ThinLTO: fix non-determinism in bitcode writing
Calls are initialized from a DenseMap. We can sort them using the
value id to recover some determinism during serialization.
From: mehdi_amini <mehdi_amini@
91177308-0d34-0410-b5e6-
96231b3b80d8>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269638
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Mon, 16 May 2016 09:04:50 +0000 (09:04 +0000)]
Revert "ThinLTO: fix non-determinism in bitcode writing"
This reverts commit r269634, bots are broken.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269637
91177308-0d34-0410-b5e6-
96231b3b80d8
Zoran Jovanovic [Mon, 16 May 2016 08:57:59 +0000 (08:57 +0000)]
[mips] Addition of a third operand to the instructions [d]div, [d]divu
Author: obucina
Reviewers: dsanders
Adds support for third operand for [D]DIV[U] instructions. Additional test for case when destination reg is zero register
Differential Revision: http://reviews.llvm.org/D16888
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269636
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Mon, 16 May 2016 08:50:27 +0000 (08:50 +0000)]
ThinLTO: fix another non-determinism in bitcode writing
GlobalVars Refs are initialized from a DenseSet. We can sort them
using the value id to recover some determinism during serialization.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269635
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Mon, 16 May 2016 08:50:23 +0000 (08:50 +0000)]
ThinLTO: fix non-determinism in bitcode writing
Calls are initialized from a DenseMap. We can sort them using the
value id to recover some determinism during serialization.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269634
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Mon, 16 May 2016 04:50:47 +0000 (04:50 +0000)]
ThinLTO: fix non-determinism in bitcode writing
Refs are initialized from a DenseSet. We can sort them using the
value id to recover some determinism during serialization.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269629
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Mon, 16 May 2016 02:29:53 +0000 (02:29 +0000)]
[PM] RewriterStatepointForGC: add missing dependency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269624
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 15 May 2016 21:24:45 +0000 (21:24 +0000)]
[AVX512] Fix mask argument type for insertf32x4/inserti32x4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269616
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 15 May 2016 20:22:50 +0000 (20:22 +0000)]
[X86][SSE] Simplify zero'th index extract element matching
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269615
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 15 May 2016 20:11:10 +0000 (20:11 +0000)]
[X86][SSE] Removed duplicate variables. NFCI.
Removed duplicate getOperand / getSimpleValueType calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269614
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 15 May 2016 20:09:34 +0000 (20:09 +0000)]
[AVX512] Change 512-bit insertf32x4/inserti32x4 builtin name to match gcc.
Clang doesn't currently use this builtin. Will fix that soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269609
91177308-0d34-0410-b5e6-
96231b3b80d8
Xinliang David Li [Sun, 15 May 2016 20:06:11 +0000 (20:06 +0000)]
[profile] Header file cleanup /NFC
Remove runtime specific decls from the common header.
This change also syncs up InstrProfData.inc between
llvm and compiler_rt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269608
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 15 May 2016 19:27:28 +0000 (19:27 +0000)]
[X86][SSE] Added constant index tests for 128-bit integer vector types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269604
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 15 May 2016 19:12:39 +0000 (19:12 +0000)]
[X86][SSE] Added variable index tests for 128-bit integer vector types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269603
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 15 May 2016 18:50:22 +0000 (18:50 +0000)]
Fixed typo in test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269602
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sun, 15 May 2016 18:41:18 +0000 (18:41 +0000)]
add test to show missing optimization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269601
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 15 May 2016 18:22:21 +0000 (18:22 +0000)]
[X86][SSE] Added extra extractelement tests
Added constant index tests for all 256-bit integer vector types (touching lower / upper 128-bits)
Added variable index tests for all 256-bit integer vector types
Added out-of-range index tests for all 256-bit integer vector types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269600
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sun, 15 May 2016 18:05:10 +0000 (18:05 +0000)]
regenerate checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269596
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 15 May 2016 18:02:39 +0000 (18:02 +0000)]
[X86][SSE] Regenerate extractelement tests
Added SSE2/AVX2 target tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269595
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sun, 15 May 2016 17:40:48 +0000 (17:40 +0000)]
[CostModel][X86] Added scalar bitreverse tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269594
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 15 May 2016 15:18:11 +0000 (15:18 +0000)]
Move helper classes into anonymous namespaces. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269591
91177308-0d34-0410-b5e6-
96231b3b80d8
Elena Demikhovsky [Sun, 15 May 2016 12:30:25 +0000 (12:30 +0000)]
Vector GEP - fixed a crash on InstSimplify Pass.
Vector GEP with mixed (vector and scalar) indices failed on the InstSimplify Pass when all indices are constants.
Differential revision http://reviews.llvm.org/D20149
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269590
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Sun, 15 May 2016 08:04:28 +0000 (08:04 +0000)]
[PM/SCCP] Fix pass dependencies.
TargetLibraryInfoWrapperPass is a dependency of
SCCP but it's not listed as such. Chandler pointed
out this is an easy mistake to make which only
surfaces in weird crashes with some flag combinations.
This code will go away anyway at some point in the
future, but as long as it's (still) exercised, try
to make it correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269589
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sun, 15 May 2016 05:49:47 +0000 (05:49 +0000)]
ThinLTOCodeGenerator: fix race condition found using TSAN
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269588
91177308-0d34-0410-b5e6-
96231b3b80d8
Xinliang David Li [Sun, 15 May 2016 01:04:24 +0000 (01:04 +0000)]
Rename pass name to prepare to new PM porting /NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269586
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 23:44:21 +0000 (23:44 +0000)]
Revert "Revert "Revert 220932.": "Removing the static initializer in ManagedStatic.cpp by using llvm_call_once to initialize the ManagedStatic mutex""
This reverts commit r269577.
Broke NetBSD, waiting for Kamil to investigate
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269584
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Sat, 14 May 2016 23:24:17 +0000 (23:24 +0000)]
[PM] Add newline at the end of the file, for consistency. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269583
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Sat, 14 May 2016 23:21:50 +0000 (23:21 +0000)]
[PM] Refactor cross-registration of AM into an helper.
Requested by: Chandler Carruth.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269582
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sat, 14 May 2016 21:13:20 +0000 (21:13 +0000)]
[AVX512] Make the permd intrinsics take a 32-bit immediate to match the software spec.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269579
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Sat, 14 May 2016 20:59:09 +0000 (20:59 +0000)]
[SCCP] Use range-based for loops. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269578
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 20:55:52 +0000 (20:55 +0000)]
Revert "Revert 220932.": "Removing the static initializer in ManagedStatic.cpp by using llvm_call_once to initialize the ManagedStatic mutex"
This reverts commit r221331 and reinstate r220932 as discussed in D19271.
Original commit message was:
This patch adds an llvm_call_once which is a wrapper around
std::call_once on platforms where it is available and devoid
of bugs. The patch also migrates the ManagedStatic mutex to
be allocated using llvm_call_once.
These changes are philosophically equivalent to the changes
added in r219638, which were reverted due to a hang on Win32
which was the result of a bug in the Windows implementation
of std::call_once.
Differential Revision: http://reviews.llvm.org/D5922
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269577
91177308-0d34-0410-b5e6-
96231b3b80d8
Saleem Abdulrasool [Sat, 14 May 2016 18:58:34 +0000 (18:58 +0000)]
ARM: support export directives for Windows
It seems that cl will emit the export directives for Windows ARM targets. The
fact that it did this had originally been missed and this functionality was
never implemented. This makes it possible to rely solely on the source code for
indicating what the exported interfaces are and brings us more compatibility
with cl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269574
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Sat, 14 May 2016 18:56:28 +0000 (18:56 +0000)]
[AArch64] Update local variable names to conform to coding standard. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269573
91177308-0d34-0410-b5e6-
96231b3b80d8
Elena Demikhovsky [Sat, 14 May 2016 15:06:09 +0000 (15:06 +0000)]
Fixed lowering of _comi_ intrinsics from all sets - SSE/SSE2/AVX/AVX-512
Differential revision http://reviews.llvm.org/D19261
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269569
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sat, 14 May 2016 14:37:11 +0000 (14:37 +0000)]
Revert "[llc] New diagnostic handler"
This reverts commit r269563. Even though now it passes all LLDB bots
after a local fix, there's a new buildbot it fails with tests that we
hadn't seen locally:
http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/15647
Adding those tests to the list to investigate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269568
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 14 May 2016 14:28:17 +0000 (14:28 +0000)]
Re-enable llvm/test/ThinLTO/X86/cache.ll.
This reverts;
r269548, "XFAIL ThinLTO Caching test on Windows."
r269561, "Rework r269548, "XFAIL ThinLTO Caching test on Windows.", not to use XFAIL, for now."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269567
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sat, 14 May 2016 14:27:40 +0000 (14:27 +0000)]
[Docs] Add some requirements to the Testing Guide
Patch by Diana Picus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269566
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 14 May 2016 14:21:39 +0000 (14:21 +0000)]
CachePruning.cpp: Don't use errno.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269565
91177308-0d34-0410-b5e6-
96231b3b80d8
Dima Stepanov [Sat, 14 May 2016 13:29:52 +0000 (13:29 +0000)]
Revert changes after test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269564
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sat, 14 May 2016 13:15:22 +0000 (13:15 +0000)]
[llc] New diagnostic handler
Without a diagnostic handler installed, llc's behaviour is to exit on the first
error that it encounters. This is very different from the behaviour of clang
and other front ends, which try to gather as many errors as possible before
exiting.
This commit adds a diagnostic handler to llc, allowing it to find and report
more than one error. The old behaviour is preserved under a flag (-exit-on-error).
Some of the tests fail with the new diagnostic handler, so they have to use the
new flag in order to run under the previous behaviour. Some of these are known
bugs, others need further investigation. Ideally, we should fix the tests and
remove the flag at some point in the future.
Reapplied after fixing the LLDB build that was broken due to the new
DiagnosticSeverity in LLVMContext.h.
Patch by Diana Picus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269563
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 14 May 2016 12:47:40 +0000 (12:47 +0000)]
Rework r269548, "XFAIL ThinLTO Caching test on Windows.", not to use XFAIL, for now.
It was passing (and is XPASSing) with --host=linux --target=win32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269561
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Sanders [Sat, 14 May 2016 12:43:08 +0000 (12:43 +0000)]
[mips] Enable IAS by default for 32-bit MIPS targets (O32).
Summary:
The MIPS IAS can now pass 'ninja check-all', recurse, build a bootable linux
kernel, and pass a variety of LNT testing.
Unfortunately we can't enable it by default for 64-bit targets yet since the N32
ABI is still very buggy and this also means we can't enable it for N64 either
because we can't distinguish between N32 and N64 in the relevant code.
Reviewers: vkalintiris
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D18759
Differential Revision: http://reviews.llvm.org/D18761
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269560
91177308-0d34-0410-b5e6-
96231b3b80d8
Dima Stepanov [Sat, 14 May 2016 10:30:54 +0000 (10:30 +0000)]
Test commt: remove a blank line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269558
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sat, 14 May 2016 08:00:11 +0000 (08:00 +0000)]
llvm/Support/MachO.h: Fix warnings. [-Wpedantic]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269555
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 05:38:58 +0000 (05:38 +0000)]
XFAIL ThinLTO Caching test on Windows.
I have no idea what's going on on Windows here.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269548
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sat, 14 May 2016 05:26:26 +0000 (05:26 +0000)]
Revert "Retry "[ProfileData] (llvm) Use Error in InstrProf and Coverage, NFC""
This reverts commit r269491. It triggers warnings with Clang, breaking
builds for -Werror users including several build bots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269547
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 05:16:41 +0000 (05:16 +0000)]
Add testing in llvm-lto for ThinLTO caching.
Trying to improve code coverage for `make check`
From: mehdi_amini <mehdi_amini@
91177308-0d34-0410-b5e6-
96231b3b80d8>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269545
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 05:16:35 +0000 (05:16 +0000)]
ThinLTOCodeGenerator: handle cases where temporary files can't be renamed
For instance when they're on different filesystem.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269544
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 05:07:44 +0000 (05:07 +0000)]
Revert "Add testing in llvm-lto for ThinLTO caching."
This reverts commit r269538 and r269542.
"rename()" is expected to fail across filesystems, will handle this.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269543
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 05:01:36 +0000 (05:01 +0000)]
Increase verbosity in the test output to help debugging windows issues
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269542
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 04:58:38 +0000 (04:58 +0000)]
ThinLTOCodeGenerator: handle std::error_code instead of silently dropping it.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269541
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 04:58:35 +0000 (04:58 +0000)]
StripDebugInfo: uses isa<DbgInfoIntrinsic> instead of matching against llvm.dbg.* (NFC)
Suggested by Adrian. This is NFC right now but is more clean and
robust against future potential new debug info intrinsics.
From: mehdi_amini <mehdi_amini@
91177308-0d34-0410-b5e6-
96231b3b80d8>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269540
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 04:42:51 +0000 (04:42 +0000)]
Revert "StripDebugInfo: uses isa<DbgInfoIntrinsic> instead of matching against llvm.dbg.* (NFC)"
This reverts commit r269537, was not ready to be commited and went through by mistake
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269539
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 04:41:26 +0000 (04:41 +0000)]
Add testing in llvm-lto for ThinLTO caching.
Trying to improve code coverage for `make check`
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269538
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 04:41:21 +0000 (04:41 +0000)]
StripDebugInfo: uses isa<DbgInfoIntrinsic> instead of matching against llvm.dbg.* (NFC)
Suggested by Adrian. This is NFC right now but is more clean and
robust against future potential new debug info intrinsics.
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269537
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 14 May 2016 04:41:14 +0000 (04:41 +0000)]
Remove unwanted fprintf debug
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269536
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sat, 14 May 2016 03:59:25 +0000 (03:59 +0000)]
Revert r269534 "Silence a -Wundefined-var-template build warning." The bots didn't like that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269535
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sat, 14 May 2016 03:48:43 +0000 (03:48 +0000)]
Silence a -Wundefined-var-template build warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269534
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 14 May 2016 02:15:47 +0000 (02:15 +0000)]
[WebAssembly] Fix legalization of i128 shifts.
compiler-rt/libgcc shift routines expect the shift count to be an i32, so
use i32 as the shift count for shifts that are legalized to libcalls. This
also reverts r268991, now that the signatures are correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269531
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sat, 14 May 2016 00:47:18 +0000 (00:47 +0000)]
[AVX512] Fix types for pshufd intrinsics. The immediate is the second argument and the mask is the 4th argument. Also move the 128/256 tests to the right test file.
Prior to this the immediate was a strange 16-bits and the 512-bit intrinsic couldn't receive the full 16 mask bits it needs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269526
91177308-0d34-0410-b5e6-
96231b3b80d8
Derek Schuff [Sat, 14 May 2016 00:22:17 +0000 (00:22 +0000)]
[WebAssembly] Update expected torture test failures
NFC; the waterfall just changed the way they are built.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269523
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Sat, 14 May 2016 00:02:53 +0000 (00:02 +0000)]
[codeview] Add type stream merging prototype
Summary:
This code is intended to be used as part of LLD's PDB writing. Until
that exists, this is exposed via llvm-readobj for testing purposes.
Type stream merging uses the following algorithm:
- Begin with a new empty stream, and a new empty hash table that maps
from type record contents to new type index.
- For each new type stream, maintain a map from source type index to
destination type index.
- For each record, copy it and rewrite its type indices to be valid in
the destination type stream.
- If the new type record is not already present in the destination
stream hash table, append it to the destination type stream, assign it
the next type index, and update the two hash tables.
- If the type record already exists in the destination stream, discard
it and update the type index map to forward the source type index to
the existing destination type index.
Reviewers: zturner, ruiu
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D20122
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269521
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Fri, 13 May 2016 23:55:59 +0000 (23:55 +0000)]
SDAG: Implement Select instead of SelectImpl in MipsDAGToDAGISel
- Where we were returning a node before, call ReplaceNode instead.
- Where we would return null to fall back to another selector, rename
the method to try* and return a bool for success.
- Where we were calling SelectNodeTo, just return afterwards.
Part of llvm.org/pr26808.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269519
91177308-0d34-0410-b5e6-
96231b3b80d8
Marcin Koscielnicki [Fri, 13 May 2016 23:55:33 +0000 (23:55 +0000)]
[MSan] [PowerPC] Implement PowerPC64 vararg helper.
Differential Revision: http://reviews.llvm.org/D20000
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269518
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Fri, 13 May 2016 23:26:28 +0000 (23:26 +0000)]
SDAG: Clean up a dead node I missed earlier in X86
H.J. Lu pointed out that I missed this in r269236. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269516
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Bieneman [Fri, 13 May 2016 23:01:22 +0000 (23:01 +0000)]
[MachO] More missing swapStruct implementations
Added swapStruct for ident_command, fvmlib and fvmlib_command.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269514
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Bieneman [Fri, 13 May 2016 23:01:19 +0000 (23:01 +0000)]
[MachO] Filling in some structs I missed in r269499
I missed the fvmlib_command and the sub_framework_command, as well as a few uses of the dylib_command, dylinker_command, and linkedit_data_command.
This should now be a pretty complete listing. The only case I'm not sure about is LC_PREPAGE which doesn't seem to be referenced directly anywhere in LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269513
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 13 May 2016 22:53:13 +0000 (22:53 +0000)]
[AArch64] Simplify logic to reduce vertical space. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269512
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Fri, 13 May 2016 22:52:35 +0000 (22:52 +0000)]
[PM] Port LowerAtomic to the new pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269511
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Bogner [Fri, 13 May 2016 22:49:18 +0000 (22:49 +0000)]
SDAG: Implement Select instead of SelectImpl in XCoreDAGToDAGISel
- Where we were returning a node before, call ReplaceNode instead.
- Where we would return null to fall back to another selector, rename
the method to try* and return a bool for success.
- Where we were calling SelectNodeTo, just return afterwards.
Part of llvm.org/pr26808.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269509
91177308-0d34-0410-b5e6-
96231b3b80d8
Adam Nemet [Fri, 13 May 2016 22:49:13 +0000 (22:49 +0000)]
[LAA] Include MaxSafeDepDistBytes in the analysis print-out
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269508
91177308-0d34-0410-b5e6-
96231b3b80d8