Alexey Bataev [Fri, 4 Mar 2016 07:21:16 +0000 (07:21 +0000)]
[OPENMP] Simplify handling of clauses with postupdates, NFC.
Clauses with post-update expressions always have pre-init statement. So
OMPClauseWithPreInit now is the base for OMPClauseWithPostUpdate.
llvm-svn: 262696
Argyrios Kyrtzidis [Fri, 4 Mar 2016 07:17:53 +0000 (07:17 +0000)]
[index] Distinguish USRs of anonymous enums by using their first enumerator.
rdar://
24609949.
llvm-svn: 262695
Argyrios Kyrtzidis [Fri, 4 Mar 2016 07:17:48 +0000 (07:17 +0000)]
[index] Include parameter types in the USRs for C functions marked with 'overloadable' attribute.
llvm-svn: 262694
Argyrios Kyrtzidis [Fri, 4 Mar 2016 07:17:43 +0000 (07:17 +0000)]
[index] In ObjC++ handle objc type parameters for function USRs.
llvm-svn: 262693
Xiuli Pan [Fri, 4 Mar 2016 07:11:16 +0000 (07:11 +0000)]
[OpenCL] Refine pipe builtin support
Summary:
Refine the type builtin support as the request with
http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-
20160201/148637.html
Reviewers: pekka.jaaskelainen, Anastasia, yaxunl
Subscribers: rsmith, cfe-commits
Differential Revision: http://reviews.llvm.org/D16876
llvm-svn: 262692
Bhushan D. Attarde [Fri, 4 Mar 2016 06:56:29 +0000 (06:56 +0000)]
[MIPS] initFeatureMap() to handle empty string argument
SUMMARY:
This patch sets CPU string to its default value when it is not supplied by caller.
Reviewers: vkalintiris, dsanders
Subscribers: mohit.bhakkad, sagar, jaydeep, cfe-commits
Differential Revision: http://reviews.llvm.org/D16139
llvm-svn: 262691
Mohit K. Bhakkad [Fri, 4 Mar 2016 06:15:59 +0000 (06:15 +0000)]
[Compiler-rt][safestack] Enable for MIPS
Reviewers: samsonov
Subscribers: jaydeep, sagar, llvm-commits
Differential Revision: http://reviews.llvm.org/D17846
llvm-svn: 262690
Bill Seurer [Fri, 4 Mar 2016 06:02:52 +0000 (06:02 +0000)]
[powerpc] pacify lint for java_race_pc.cc
Fix blank lines.
llvm-svn: 262689
David Majnemer [Fri, 4 Mar 2016 05:26:16 +0000 (05:26 +0000)]
[X86] Pass __m64 types via SSE registers for GCC compatibility
For compatibility with GCC, classify __m64 as SSE.
However, clang is a platform compiler for certain targets; retain our
old behavior on those targets: classify __m64 as integer.
This fixes PR26832.
llvm-svn: 262688
David Majnemer [Fri, 4 Mar 2016 05:26:14 +0000 (05:26 +0000)]
[VFS] Switch from close to SafelyCloseFileDescriptor
The SafelyCloseFileDescriptor machinery does the right thing in the face
of signals while close will do something platform specific which results
in the FD potentially getting leaked.
llvm-svn: 262687
Argyrios Kyrtzidis [Fri, 4 Mar 2016 04:24:32 +0000 (04:24 +0000)]
[index] Ignore ObjCTypeParamDecls during indexing.
llvm-svn: 262686
Rui Ueyama [Fri, 4 Mar 2016 01:56:52 +0000 (01:56 +0000)]
Use check function.
llvm-svn: 262685
Davide Italiano [Fri, 4 Mar 2016 01:55:28 +0000 (01:55 +0000)]
[ELF] Generalize symbol type handling.
SymbolBody constructor and friends take isFunc and isTLS boolean arguments.
ELF symbols have already a type so than be easily passed as argument.
If we want to support another type, this scheme is not good enough, that is,
the current code logic would require passing another `bool isObject` around.
Up to two argument, this stretching exercise was a little bit goofy but
still acceptable, but with more types to support, is just too much, IMHO.
Change the code so that the type is passed instead.
Differential Revision: http://reviews.llvm.org/D17871
llvm-svn: 262684
Justin Bogner [Fri, 4 Mar 2016 01:52:47 +0000 (01:52 +0000)]
Annotate our undefined behaviour to sneak it past the sanitizers
We have known UB in some ilists where we static cast half nodes to
(larger) derived types and use the address. See llvm.org/PR26753.
This needs to be fixed, but in the meantime it'd be nice if running
ubsan didn't complain. This adds annotations in the two places where
ubsan complains while running check-all of a sanitized clang build.
llvm-svn: 262683
Easwaran Raman [Fri, 4 Mar 2016 01:18:40 +0000 (01:18 +0000)]
Fix a memory leak.
llvm-svn: 262682
Justin Bogner [Fri, 4 Mar 2016 00:58:39 +0000 (00:58 +0000)]
CodeGen: Tune the SmallVector size in LiveRange
The vast majority of LiveRanges (ie, 4/5) have exactly 1 segment and 1
value number, and a good chunk of the rest have 2 of each, so
allocating space for 4 is wasteful. This is especially noticeable when
dealing with a very large number of vregs, and I have an internal case
where dropping this to 2 shaves over 5% off of peak memory when
compiling a particularly large function.
llvm-svn: 262681
Alexey Samsonov [Fri, 4 Mar 2016 00:56:15 +0000 (00:56 +0000)]
[TSan] Fix compiler warning in Go sanity test.
llvm-svn: 262680
Easwaran Raman [Fri, 4 Mar 2016 00:44:01 +0000 (00:44 +0000)]
Fix a use-after-free bug introduced in r262636
llvm-svn: 262679
Alexey Samsonov [Fri, 4 Mar 2016 00:41:39 +0000 (00:41 +0000)]
[asan] Fix odr_c_test failure with gold linker
Summary:
Adds another global to asan's odr_c_test to help force the target global to
not lie at the start of bss with the gold linker where it is always
aligned.
Patch by Derek Bruening!
llvm-svn: 262678
Teresa Johnson [Fri, 4 Mar 2016 00:25:54 +0000 (00:25 +0000)]
Add hardware_concurrency interface to llvm::thread (NFC)
Part of D15390.
llvm-svn: 262677
Evgeniy Stepanov [Fri, 4 Mar 2016 00:23:29 +0000 (00:23 +0000)]
[gold] Handle modules that are not included in the link.
Gold has a newly added LDPT_GET_SYMBOLS_V3 callback that can
distinguish between a module that is not included in the link, and
one that is included but has its entire interface preempted by others.
Fixes PR26674.
llvm-svn: 262676
Bill Seurer [Fri, 4 Mar 2016 00:22:40 +0000 (00:22 +0000)]
[powerpc] activate java_race_pc.cc on powerpc64le
The test case compiler-rt/test/tsan/java_race_pc.cc fails on powerpc64
big endian but not little endian.
Add missing blank line.
llvm-svn: 262675
Easwaran Raman [Thu, 3 Mar 2016 23:55:41 +0000 (23:55 +0000)]
Fix memory leak in tests.
llvm-svn: 262674
Mike Aizatsky [Thu, 3 Mar 2016 23:45:29 +0000 (23:45 +0000)]
[libfuzzer] arbitrary function adapter.
The adapter automates converting sequence of bytes into arbitrary
arguments.
Differential Revision: http://reviews.llvm.org/D17829
llvm-svn: 262673
Philip Reames [Thu, 3 Mar 2016 23:24:44 +0000 (23:24 +0000)]
[docs] Add a description of current problem areas to the statepoint docs
Triggered by a question on llvm-dev about status
llvm-svn: 262671
Guozhi Wei [Thu, 3 Mar 2016 23:21:38 +0000 (23:21 +0000)]
[InstCombine] Combine A->B->A BitCast
This patch enhances InstCombine to handle following case:
A -> B bitcast
PHI
B -> A bitcast
llvm-svn: 262670
Bill Seurer [Thu, 3 Mar 2016 23:07:43 +0000 (23:07 +0000)]
[powerpc] activate java_race_pc.cc on powerpc64le
The test case compiler-rt/test/tsan/java_race_pc.cc fails on powerpc64
big endian but not little endian.
llvm-svn: 262669
NAKAMURA Takumi [Thu, 3 Mar 2016 22:38:39 +0000 (22:38 +0000)]
llvm/test/CodeGen/ARM/rem_crash.ll: Avoid unsupported targets to specify explicit triple.
We will see it for targeting win32;
LLVM ERROR: CPU: 'generic' does not support ARM mode execution!
llvm-svn: 262668
Kostya Serebryany [Thu, 3 Mar 2016 22:36:37 +0000 (22:36 +0000)]
[libFuzzer] when interrupted, call _Exit() instead of exit()
llvm-svn: 262667
Rafael Espindola [Thu, 3 Mar 2016 22:24:39 +0000 (22:24 +0000)]
Rename 'fatal' to 'check' when it doesn't always fail.
llvm-svn: 262666
Michael Kruse [Thu, 3 Mar 2016 22:10:52 +0000 (22:10 +0000)]
[SCEVValidator] Fix loop exit values considered affine.
Index calculations can use the last value that come out of a loop.
Ideally, ScalarEvolution can compute that exit value directly without
depending on the loop induction variable, but not in all cases.
This changes isAffine to not consider such loop exit values as affine to
avoid that SCEVExpander adds uses of the original loop induction
variable.
This fix is analogous to r262404 that applies to general uses of loop
exit values instead of index expressions and loop bouds as in this
patch.
This reduces the number of LNT test-suite fails with
-polly-position=before-vectorizer -polly-unprofitable
from 10 to 8.
llvm-svn: 262665
Michael Kruse [Thu, 3 Mar 2016 22:10:47 +0000 (22:10 +0000)]
Pass scope and LoopInfo to SCEVValidator. NFC.
The scope will be required in the following fix. This commit separates
the large changes that do not change behaviour from the small, but
functional change.
llvm-svn: 262664
Carlo Bertolli [Thu, 3 Mar 2016 22:09:40 +0000 (22:09 +0000)]
[OPENMP] firstprivate and private clauses of teams, host codegeneration
Add code generation support for firstprivate and private clauses of teams on the host. Add extensive regression tests including lambda functions and vla testing.
http://reviews.llvm.org/D17582
llvm-svn: 262663
Rui Ueyama [Thu, 3 Mar 2016 21:56:21 +0000 (21:56 +0000)]
Remove dead code.
llvm-svn: 262662
Simon Pilgrim [Thu, 3 Mar 2016 21:55:01 +0000 (21:55 +0000)]
[X86][AVX512BW] Fixed 512-bit PSHUFB shuffle mask decode and added combine test.
PSHUFB decoder was assuming that input was 128 or 256-bit vector only.
llvm-svn: 262661
Davide Italiano [Thu, 3 Mar 2016 21:54:03 +0000 (21:54 +0000)]
[ELF] Be slightly more consistent, use uint8_t instead of unsigned char.
llvm-svn: 262660
Devin Coughlin [Thu, 3 Mar 2016 21:38:39 +0000 (21:38 +0000)]
[analyzer] ObjCDeallocChecker: Only check for nil-out when type is retainable.
This fixes a crash when setting a property of struct type in -dealloc.
llvm-svn: 262659
Jonathan Peyton [Thu, 3 Mar 2016 21:24:13 +0000 (21:24 +0000)]
[STATS] fix output formatting when sample count is 0
Force 0.0 to be displayed for all statistics which have sample count equal to 0
llvm-svn: 262658
Lang Hames [Thu, 3 Mar 2016 21:23:15 +0000 (21:23 +0000)]
[RuntimeDyld] Fix '_' stripping in RTDyldMemoryManager::getSymbolAddressInProcess.
The RTDyldMemoryManager::getSymbolAddressInProcess method accepts a
linker-mangled symbol name, but it calls through to dlsym to do the lookup (via
DynamicLibrary::SearchForAddressOfSymbol), and dlsym expects an unmangled
symbol name.
Historically we've attempted to "demangle" by removing leading '_'s on all
platforms, and fallen back to an extra search if that failed. That's broken, as
it can cause symbols to resolve incorrectly on platforms that don't do mangling
if you query '_foo' and the process also happens to contain a 'foo'.
Fix this by demangling conditionally based on the host platform. That's safe
here because this function is specifically for symbols in the host process, so
the usual cross-process JIT looking concerns don't apply.
M unittests/ExecutionEngine/ExecutionEngineTest.cpp
M lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
llvm-svn: 262657
Jonathan Peyton [Thu, 3 Mar 2016 21:21:05 +0000 (21:21 +0000)]
[STATS] fix master and single timers
Only the thread which executes the single/master section will update its statistics.
llvm-svn: 262656
Sylvestre Ledru [Thu, 3 Mar 2016 20:57:16 +0000 (20:57 +0000)]
fix some minor typos in the doc
llvm-svn: 262655
Sylvestre Ledru [Thu, 3 Mar 2016 20:54:26 +0000 (20:54 +0000)]
Fix two minor syntax issues in the documentation
llvm-svn: 262654
Rafael Espindola [Thu, 3 Mar 2016 20:45:26 +0000 (20:45 +0000)]
Delete dead code.
llvm-svn: 262653
Carlo Bertolli [Thu, 3 Mar 2016 20:34:23 +0000 (20:34 +0000)]
Add code generation for teams directive inside target region
llvm-svn: 262652
George Rimar [Thu, 3 Mar 2016 20:24:14 +0000 (20:24 +0000)]
[ELF] - Do not allow .bss to occupy the file space when producing relocatable output
When generating relocatable output SHT_NOBITS sections
were still occupy the file space.
Differential revision: http://reviews.llvm.org/D17857
llvm-svn: 262650
Tobias Grosser [Thu, 3 Mar 2016 19:51:03 +0000 (19:51 +0000)]
tests: Fix some spelling mistakes
llvm-svn: 262649
Philip Reames [Thu, 3 Mar 2016 19:50:32 +0000 (19:50 +0000)]
[ValueTracking] "constant fold" an experimental hidden option
llvm-svn: 262648
Tobias Grosser [Thu, 3 Mar 2016 19:48:30 +0000 (19:48 +0000)]
docs: Fix some spelling mistakes
llvm-svn: 262647
Philip Reames [Thu, 3 Mar 2016 19:44:06 +0000 (19:44 +0000)]
[ValueTracking] Remove dead code from an old experiment
This experiment was originally about trying to use facts implied dominating conditions to infer more precise known bits. While the compile time was found to be acceptable on several large code bases, we never found sufficiently profitable examples to justify turning on the code by default. Given this, it's time to abandon the experiment.
Several folks have commented that they've found this useful for experimentation, but nothing has come of those experiments. Given how easy the patch is to apply, there's no reason to leave the code in tree.
For anyone interested in further investigation in this area, I recommend finding the summary email I sent on one of the original review threads. In particular, I now believe the use-list based approach is strictly worse than the dom-tree-walking approach.
llvm-svn: 262646
Sanjay Patel [Thu, 3 Mar 2016 19:19:04 +0000 (19:19 +0000)]
[InstCombine] transform bitcasted bitwise logic ops with constants (PR26702)
Given that we're not actually reducing the instruction count in the included
regression tests, I think we would call this a canonicalization step.
The motivation comes from the example in PR26702:
https://llvm.org/bugs/show_bug.cgi?id=26702
If we hoist the bitwise logic ahead of the bitcast, the previously unoptimizable
example of:
define <4 x i32> @is_negative(<4 x i32> %x) {
%lobit = ashr <4 x i32> %x, <i32 31, i32 31, i32 31, i32 31>
%not = xor <4 x i32> %lobit, <i32 -1, i32 -1, i32 -1, i32 -1>
%bc = bitcast <4 x i32> %not to <2 x i64>
%notnot = xor <2 x i64> %bc, <i64 -1, i64 -1>
%bc2 = bitcast <2 x i64> %notnot to <4 x i32>
ret <4 x i32> %bc2
}
Simplifies to the expected:
define <4 x i32> @is_negative(<4 x i32> %x) {
%lobit = ashr <4 x i32> %x, <i32 31, i32 31, i32 31, i32 31>
ret <4 x i32> %lobit
}
Differential Revision: http://reviews.llvm.org/D17583
llvm-svn: 262645
Xinliang David Li [Thu, 3 Mar 2016 18:54:46 +0000 (18:54 +0000)]
[PGO] Add API for profile merge from buffer
Differential Revision: http://reviews.llvm.org/D17831
llvm-svn: 262644
Easwaran Raman [Thu, 3 Mar 2016 18:53:20 +0000 (18:53 +0000)]
Fix breakage caused by r262636.
Use LLVM_ATTRIBUTE_UNUSED instead of __attribute_((unused))
llvm-svn: 262643
Rafael Espindola [Thu, 3 Mar 2016 18:44:38 +0000 (18:44 +0000)]
Fix PR26818.
The hack of using a plt address as the address of an undefined function
only works in executables. Don't try it with shared libraries.
llvm-svn: 262642
Anastasia Stulova [Thu, 3 Mar 2016 18:38:40 +0000 (18:38 +0000)]
[OpenCL] Improve diagnostics of address spaces for variables in function
- Prevent local variables to be declared in global AS
- Diagnose AS of local variables with an extern storage class
as if they would be in a program scope
Review: http://reviews.llvm.org/D17345
llvm-svn: 262641
Sanjoy Das [Thu, 3 Mar 2016 18:31:33 +0000 (18:31 +0000)]
[ConstantRange] Rename test; NFC
llvm-svn: 262640
Sanjoy Das [Thu, 3 Mar 2016 18:31:29 +0000 (18:31 +0000)]
[SCEV] Prove no-overflow via constant ranges
Exploit ScalarEvolution::getRange's newly acquired smartness (since
r262438) by using that to infer nsw and nuw when possible.
llvm-svn: 262639
Sanjoy Das [Thu, 3 Mar 2016 18:31:23 +0000 (18:31 +0000)]
[SCEV] Be less eager about demoting zexts to sexts
After r262438 we can have provably positive NSW SCEV expressions whose
zero extensions cannot be simplified (since r262438 makes SCEV better at
computing constant ranges). This means demoting sexts of positive add
recurrences eagerly can result in an unsimplified zero extension where
we could have had a simplified sign extension. This change fixes the
issue by teaching SCEV to demote sext of a positive SCEV expression to a
zext only if the sext could not be simplified.
llvm-svn: 262638
Sanjoy Das [Thu, 3 Mar 2016 18:31:16 +0000 (18:31 +0000)]
[ConstantRange] Generalize makeGuaranteedNoWrapRegion to work on ranges
This will be used in a later patch to ScalarEvolution. Right now only
the unit tests exercise the newly added code.
llvm-svn: 262637
Easwaran Raman [Thu, 3 Mar 2016 18:26:33 +0000 (18:26 +0000)]
Infrastructure for PGO enhancements in inliner
This patch provides the following infrastructure for PGO enhancements in inliner:
Enable the use of block level profile information in inliner
Incremental update of block frequency information during inlining
Update the function entry counts of callees when they get inlined into callers.
Differential Revision: http://reviews.llvm.org/D16381
llvm-svn: 262636
Simon Pilgrim [Thu, 3 Mar 2016 18:13:53 +0000 (18:13 +0000)]
[X86][AVX] Better support for the variable mask form of VPERMILPD/VPERMILPS
The variable mask form of VPERMILPD/VPERMILPS were only partially implemented, with much of it still performed as an intrinsic.
This patch properly defines the instructions in terms of X86ISD::VPERMILPV, permitting the opcode to be easily combined as a target shuffle.
Differential Revision: http://reviews.llvm.org/D17681
llvm-svn: 262635
Dehao Chen [Thu, 3 Mar 2016 18:09:32 +0000 (18:09 +0000)]
Use LineLocation instead of CallsiteLocation to index callsite profile.
Summary: With discriminator, LineLocation can uniquely identify a callsite without the need to specifying callee name. Remove Callee function name from the key, and put it in the value (FunctionSamples).
Reviewers: davidxl, dnovillo
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D17827
llvm-svn: 262634
Simon Pilgrim [Thu, 3 Mar 2016 17:54:35 +0000 (17:54 +0000)]
[X86] Tidied up 256-bit -> 2 x 128-bit vector shift extraction.
lowerShift was manually splitting BUILD_VECTOR cases when it could just call Extract128BitVector which does this anyway.
llvm-svn: 262633
Filipe Cabecinhas [Thu, 3 Mar 2016 17:37:35 +0000 (17:37 +0000)]
[test/ubsan/coverage-levels] Fix file references in UBSAN_OPTIONS
llvm-svn: 262632
Simon Pilgrim [Thu, 3 Mar 2016 17:35:43 +0000 (17:35 +0000)]
[X86] Pulled out repeated code testing for constant vector shift amount. NFCI.
llvm-svn: 262631
Daniel Jasper [Thu, 3 Mar 2016 17:34:14 +0000 (17:34 +0000)]
clang-format: Use stable_sort when sorting #includes.
Otherwise, clang-format can output useless replacements in the presence
of identical #includes
llvm-svn: 262630
Michael Kruse [Thu, 3 Mar 2016 17:20:43 +0000 (17:20 +0000)]
[BlockGenerator] Fix PHI merges for MK_Arrays.
Value merging is only necessary for scalars when they are used outside
of the scop. While an array's base pointer can be used after the scop,
it gets an extra ScopArrayInfo of type MK_Value. We used to generate
phi's for both of them, where one was assuming the reault of the other
phi would be the original value, because it has already been replaced by
the previous phi. This resulted in IR that the current IR verifier
allows, but is probably illegal.
This reduces the number of LNT test-suite fails with
-polly-position=before-vectorizer -polly-process-unprofitable
from 16 to 10.
Also see llvm.org/PR26718.
llvm-svn: 262629
Amjad Aboud [Thu, 3 Mar 2016 17:17:54 +0000 (17:17 +0000)]
MCU target has its own ABI, however X86 interrupt handler calling convention overrides this ABI.
Fixed the ordering to check first for X86 interrupt handler then for MCU target.
Differential Revision: http://reviews.llvm.org/D17801
llvm-svn: 262628
Ahmed Bougacha [Thu, 3 Mar 2016 16:53:50 +0000 (16:53 +0000)]
[X86] Don't assume that shuffle non-mask operands starts at #0.
That's not the case for VPERMV/VPERMV3, which cover all possible
combinations (the C intrinsics use a different order; the AVX vs
AVX512 intrinsics are different still).
Since:
r246981 AVX-512: Lowering for 512-bit vector shuffles.
VPERMV is recognized in getTargetShuffleMask.
This breaks assumptions in most callers, as they expect
the non-mask operands to start at index 0.
VPERMV has the mask as operand #0; VPERMV3 has it in the middle.
Instead of the faulty assumption, have getTargetShuffleMask return
its operands as well.
One alternative we considered was to change the operand order of
VPERMV, but we agreed to stick to the instruction order, as there
are more AVX512 weirdness to cover (vpermt2/vpermi2 in particular).
Differential Revision: http://reviews.llvm.org/D17041
llvm-svn: 262627
Rafael Espindola [Thu, 3 Mar 2016 16:21:44 +0000 (16:21 +0000)]
Simplify error handling.
This makes fatal return T when there is no error. This avoids the need
for quite a few temporaries.
llvm-svn: 262626
Samuel Antao [Thu, 3 Mar 2016 16:20:23 +0000 (16:20 +0000)]
[OpenMP] Code generation for teams - kernel launching
Summary:
This patch implements the launching of a target region in the presence of a nested teams region, i.e calls tgt_target_teams with the required arguments gathered from the enclosed teams directive.
The actual codegen of the region enclosed by the teams construct will be contributed in a separate patch.
Reviewers: hfinkel, arpith-jacob, kkwli0, carlo.bertolli, ABataev
Subscribers: cfe-commits, caomhin, fraggamuffin
Differential Revision: http://reviews.llvm.org/D17019
llvm-svn: 262625
Matthew Simpson [Thu, 3 Mar 2016 16:12:01 +0000 (16:12 +0000)]
[LoopUtils, LV] Fix PR26734
The vectorization of first-order recurrences (r261346) caused PR26734. When
detecting these recurrences, we need to ensure that the previous value is
actually defined inside the loop. This patch includes the fix and test case.
llvm-svn: 262624
Sanjay Patel [Thu, 3 Mar 2016 15:56:08 +0000 (15:56 +0000)]
[AArch64] fold 'isPositive' vector integer operations (PR26819)
This is one of the cases shown in:
https://llvm.org/bugs/show_bug.cgi?id=26819
Shift and negate is what InstCombine prefers to produce (and I tried to make it do more of that
in http://reviews.llvm.org/rL262424 ), so we should recognize that pattern as something that might
come from autovectorization even if it's unlikely to be produced from C NEON intrinsics.
The patch is based on the x86 equivalent:
http://reviews.llvm.org/rL262036
Differential Revision: http://reviews.llvm.org/D17834
llvm-svn: 262623
Pavel Labath [Thu, 3 Mar 2016 15:19:14 +0000 (15:19 +0000)]
Revert "Fetch remote log files from LLGS tests"
Even after the last fixup, there still seems to be one failure left. Revert until I figure out
what is going on.
llvm-svn: 262622
Igor Breger [Thu, 3 Mar 2016 14:18:38 +0000 (14:18 +0000)]
AVX512: Combine AND + TESTM instructions .
Differential Revision: http://reviews.llvm.org/D17844
llvm-svn: 262621
Renato Golin [Thu, 3 Mar 2016 14:01:10 +0000 (14:01 +0000)]
Making rem_crash.ll target-specific
This test failed in some ARM bots after a divmod change because it was
running on a native llc, instead of targeted one. This makes sure the test
is target-specific (as intended), and also copies to ARM and AArch64
directories. If it is also supposed to work on other architectures, I'll
leave as an exercise to the respective maintainers.
llvm-svn: 262620
Bradley Smith [Thu, 3 Mar 2016 13:52:22 +0000 (13:52 +0000)]
[ARM] Add Clang targeting for ARMv8-M Baseline/Mainline
llvm-svn: 262619
Gabor Horvath [Thu, 3 Mar 2016 13:43:23 +0000 (13:43 +0000)]
[clang-tidy] Improve the robustness of a test.
llvm-svn: 262618
Michael Zuckerman [Thu, 3 Mar 2016 13:43:05 +0000 (13:43 +0000)]
[CLANG][AVX512][BUILTIN] movddup{128|256|512}
Differential Revision: http://reviews.llvm.org/D17826
llvm-svn: 262617
Anastasia Stulova [Thu, 3 Mar 2016 13:33:19 +0000 (13:33 +0000)]
[OpenCL] Apply missing restrictions for Blocks in OpenCL v2.0
Applying the following restrictions for block types in OpenCL (v2.0 s6.12.5):
- __block storage class is disallowed
- every block declaration must be const qualified and initialized
- a block can't be used as a return type of a function
- a blocks can't be used to declare a structure or union field
- extern speficier is disallowed
Corrected image and sampler types diagnostics with struct and unions.
Review: http://reviews.llvm.org/D16928
llvm-svn: 262616
Gabor Horvath [Thu, 3 Mar 2016 13:08:11 +0000 (13:08 +0000)]
[clang-tidy] Do not emit warnings from misc-suspicious-semicolon when the compilation fails.
llvm-svn: 262615
Johannes Doerfert [Thu, 3 Mar 2016 12:30:19 +0000 (12:30 +0000)]
Fix typo [NFC]
llvm-svn: 262613
Johannes Doerfert [Thu, 3 Mar 2016 12:26:58 +0000 (12:26 +0000)]
[FIX] Consolidation of loads with same pointer but different access relation
This should fix PR19422.
Thanks to Jeremy Huddleston Sequoia for reporting this.
Thanks to Roman Gareev for his investigation and the reduced test case.
llvm-svn: 262612
Michael Zuckerman [Thu, 3 Mar 2016 12:17:50 +0000 (12:17 +0000)]
Fixing a checkfile error in avx512vlbw-builtins.c
Differential Revision: http://reviews.llvm.org/D17814
llvm-svn: 262611
Marshall Clow [Thu, 3 Mar 2016 12:04:39 +0000 (12:04 +0000)]
Fix for PR26812: possible overflow issue in std::allocator::allocate
llvm-svn: 262610
Michael Zuckerman [Thu, 3 Mar 2016 11:34:52 +0000 (11:34 +0000)]
[CLANG][AVX512][BUILTIN] movdqu{qi|hi} {128|256|512}
Differential Revision: http://reviews.llvm.org/D17814
llvm-svn: 262609
Johannes Doerfert [Thu, 3 Mar 2016 11:33:49 +0000 (11:33 +0000)]
[DOC] Add documentation for the supported call instructions
llvm-svn: 262608
Johannes Doerfert [Thu, 3 Mar 2016 11:33:30 +0000 (11:33 +0000)]
[DOC] Add more documentation about the different element type support
llvm-svn: 262607
NAKAMURA Takumi [Thu, 3 Mar 2016 11:09:43 +0000 (11:09 +0000)]
Tweak CMakeLists not for libclang to depend on the variable CLANG_TOOL_EXTRA_BUILD.
llvm-svn: 262606
Alexander Kornienko [Thu, 3 Mar 2016 10:45:59 +0000 (10:45 +0000)]
[docs] Fix docs to work with doxygen 1.8.11
llvm-svn: 262605
Alexander Kornienko [Thu, 3 Mar 2016 10:44:10 +0000 (10:44 +0000)]
[docs] Add missing file
llvm-svn: 262604
Alexander Kornienko [Thu, 3 Mar 2016 10:42:46 +0000 (10:42 +0000)]
[docs] Updated doxygen files to work well with doxygen 1.8.11
Doxygen 1.8.11 doesn't seem to like files with ".intro" extension by default.
llvm-svn: 262603
Pavel Labath [Thu, 3 Mar 2016 10:39:24 +0000 (10:39 +0000)]
Fix OSX breakage caused by r262597
llvm-svn: 262602
Gabor Horvath [Thu, 3 Mar 2016 10:27:32 +0000 (10:27 +0000)]
[clang-tidy] Documentation fixes.
llvm-svn: 262601
Dylan McKay [Thu, 3 Mar 2016 10:08:02 +0000 (10:08 +0000)]
[AVR] Add calling convention parser tokens
Summary: Adds the 'avr_intrcc' and 'avr_signalcc' IR calling convention tokens to the parser.
Reviewers: arsenm
Subscribers: dylanmckay, llvm-commits
Differential Revision: http://reviews.llvm.org/D16348
llvm-svn: 262600
Simon Pilgrim [Thu, 3 Mar 2016 09:43:28 +0000 (09:43 +0000)]
[X86][SSE] Improve vector ZERO_EXTEND by combining to ZERO_EXTEND_VECTOR_INREG
Generalise the existing SIGN_EXTEND to SIGN_EXTEND_VECTOR_INREG combine to support zero extension as well and get rid of a lot of unnecessary ANY_EXTEND + mask patterns.
Differential Revision: http://reviews.llvm.org/D17691
llvm-svn: 262599
Michael Zuckerman [Thu, 3 Mar 2016 09:26:01 +0000 (09:26 +0000)]
[CLANG][AVX512][BUILTIN] movdqa{32|64}{load|store|}{128|256|512}
Differential Revision: http://reviews.llvm.org/D17812
llvm-svn: 262598
Pavel Labath [Thu, 3 Mar 2016 09:02:52 +0000 (09:02 +0000)]
Fetch remote log files from LLGS tests
Summary:
this enables download of remote log files for llgs and debugserver tests (previously we were just
passing the host file name which obviously did not work). Note this also changes the debugserver
logging to work only when logging has been requested on the command line, whereas previously it
would log unconditionally. I can change it back if anyone is relying on this, but I thought I'd
make this consistent.
Reviewers: tfiala
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D17798
llvm-svn: 262597
Benjamin Kramer [Thu, 3 Mar 2016 08:58:18 +0000 (08:58 +0000)]
[libclang] Link clang-tidy plugin into libclang if present.
This is a sad workaround for the lack of plugin support in libclang. Depends
on D17807, a tools-extra change that also contains the test case.
This is designed to be easy to remove again if libclang ever grows proper
plugin support.
Differential Revision: http://reviews.llvm.org/D17808
llvm-svn: 262596
Benjamin Kramer [Thu, 3 Mar 2016 08:58:12 +0000 (08:58 +0000)]
[clang-tidy] Add "clang-tidy as a clang plugin" skeleton.
This doesn't really do much at the moment. You can load it via libclang
and set the -checks via an extra command line argument as illustrated in
the test case. Support for other options (including headers check) is
currently missing. Also when using this with libclang some checks may
not work with the precompiled preamble in place.
This can be used to easily show clang-tidy warnings in an editor
integration as all that's needed is adding command line flags that are
passed into libclang. Warnings and FixIts are exposed via the existing
CXDiagnostic machinery.
Differential Revision: http://reviews.llvm.org/D17807
llvm-svn: 262595
Renato Golin [Thu, 3 Mar 2016 08:57:44 +0000 (08:57 +0000)]
Revert "[ARM] Merging 64-bit divmod lib calls into one"
This reverts commit r262507, which broke some ARM buildbots.
llvm-svn: 262594