Dan Gohman [Thu, 28 Jan 2016 03:59:09 +0000 (03:59 +0000)]
[WebAssembly] Don't stackify a register def past a get_local use in the same tree.
llvm-svn: 259013
Mike Aizatsky [Thu, 28 Jan 2016 02:24:35 +0000 (02:24 +0000)]
putting requires on one line - ppc still executes my tests.
llvm-svn: 259012
George Burgess IV [Thu, 28 Jan 2016 01:38:18 +0000 (01:38 +0000)]
[Sema] Make extended vectors of `bool` an error.
In OpenCL, `bool` vectors are a reserved type, and are therefore
illegal.
Outside of OpenCL, if we try to make an extended vector of N `bool`s,
Clang will lower it to an `[N x i1]`. LLVM has no ABI for bitvectors, so
lots of operations on such vectors are thoroughly broken. As a result,
this patch makes them illegal in everything else, as well. :)
Differential Revision: http://reviews.llvm.org/D15721
llvm-svn: 259011
Junmo Park [Thu, 28 Jan 2016 01:23:18 +0000 (01:23 +0000)]
Minor code formatting cleanup. NFC.
llvm-svn: 259010
Dan Gohman [Thu, 28 Jan 2016 01:22:44 +0000 (01:22 +0000)]
[WebAssembly] Enhanced register stackification
This patch revamps the RegStackifier pass with a new tree traversal mechanism,
enabling three major new features:
- Stackification of values with multiple uses, using the result value of set_local
- More aggressive stackification of instructions with side effects
- Reordering operands in commutative instructions to enable more stackification.
llvm-svn: 259009
George Burgess IV [Thu, 28 Jan 2016 00:54:01 +0000 (00:54 +0000)]
Minor style cleanup of CFLAA. NFC.
llvm-svn: 259008
Evgeniy Stepanov [Thu, 28 Jan 2016 00:37:54 +0000 (00:37 +0000)]
[cfi] Fix recovery from out-of-bounds vtable error.
llvm-svn: 259007
Mike Aizatsky [Thu, 28 Jan 2016 00:35:17 +0000 (00:35 +0000)]
[sancov] run sancov test on x86_64 linux only
llvm-svn: 259006
Mike Aizatsky [Thu, 28 Jan 2016 00:31:49 +0000 (00:31 +0000)]
GetArgv returns null on widnows, do not crash
llvm-svn: 259005
Mike Aizatsky [Thu, 28 Jan 2016 00:27:13 +0000 (00:27 +0000)]
[sancov] running sancov test on linux only
llvm-svn: 259004
Greg Clayton [Thu, 28 Jan 2016 00:16:11 +0000 (00:16 +0000)]
A while back in revison 244716 we added support for getting the host OS version info from debugserver. We added keys to "qHostInfo" that were "osmajor", "osminor" and "ospatch", but no one ever parsed those, so I am removing them from debugserver. We accidentally also added a "version" key to qHostInfo instead of "os_version". So now we need to support both "version" and "os_version" in qHostInfo since we have debugserver binaries out in the wild that support this old packet type. I have updated debugserver ot use the correct "os_version" for future compatability or correctness.
<rdar://problem/
24378699>
llvm-svn: 259003
Sanjay Patel [Thu, 28 Jan 2016 00:03:16 +0000 (00:03 +0000)]
less indenting; NFCI
llvm-svn: 259002
Mike Aizatsky [Wed, 27 Jan 2016 23:58:23 +0000 (23:58 +0000)]
using /system/bin/sh on android in tests.
Subscribers: tberghammer, danalbert, srhines
Differential Revision: http://reviews.llvm.org/D16654
llvm-svn: 259001
Mike Aizatsky [Wed, 27 Jan 2016 23:56:12 +0000 (23:56 +0000)]
[sancov] sancov tool documentation
Differential Revision: http://reviews.llvm.org/D16432
llvm-svn: 259000
Mike Aizatsky [Wed, 27 Jan 2016 23:51:36 +0000 (23:51 +0000)]
[sanitizers] generating html report on coverage dump
Subscribers: tberghammer, danalbert, srhines
Differential Revision: http://reviews.llvm.org/D16374
llvm-svn: 258999
Michael Kruse [Wed, 27 Jan 2016 22:51:56 +0000 (22:51 +0000)]
ScopInfo: Never add read accesses for synthesizable values
Before adding a MK_Value READ MemoryAccess, check whether the read is
necessary or synthesizable. Synthesizable values are later generated by
the SCEVExpander and therefore do not need to be transferred
explicitly. This can happen because the check for synthesizability has
presumbly been forgotten in the case where a phi's incoming value has
been defined in a different statement.
Differential Revision: http://reviews.llvm.org/D15687
llvm-svn: 258998
Evgeniy Stepanov [Wed, 27 Jan 2016 22:28:56 +0000 (22:28 +0000)]
Strengthen cfi-check-fail test.
r258993 allows stricter testing for basic block labels by making
sure that they are always followed by ":". Use this to improve the
test.
llvm-svn: 258997
Rui Ueyama [Wed, 27 Jan 2016 22:23:44 +0000 (22:23 +0000)]
Do not use return with a function whose return type is void.
Although it is syntactically correct, it is a bit confusing, and
not necessary here.
llvm-svn: 258996
Adam Nemet [Wed, 27 Jan 2016 22:21:25 +0000 (22:21 +0000)]
[TTI] Add getPrefetchDistance from PPCLoopDataPrefetch, NFC
This patch is part of the work to make PPCLoopDataPrefetch
target-independent
(http://thread.gmane.org/gmane.comp.compilers.llvm.devel/92758).
As it was discussed in the above thread, getPrefetchDistance is
currently using instruction count which may change in the future.
llvm-svn: 258995
Tim Northover [Wed, 27 Jan 2016 22:14:02 +0000 (22:14 +0000)]
ARMv7k: simplify logic for deciding sjlj-exceptions.
Slight change of behaviour in the odd armv7+watchos case, which should match
the other runtime components.
llvm-svn: 258994
Evgeniy Stepanov [Wed, 27 Jan 2016 21:53:08 +0000 (21:53 +0000)]
Tweak unnamed label syntax in textual IR for easier matching in tests.
Change the unnamed label comments like
; <label>:8 ; preds = %1
to
; <label>:8: ; preds = %1
This way lit tests can match [[LABEL]]: in both asserts and no-asserts builds.
llvm-svn: 258993
Evgeniy Stepanov [Wed, 27 Jan 2016 21:49:03 +0000 (21:49 +0000)]
[cfi] Fix a warning in tests.
test/cfi/cross-dso/dlopen.cpp:67:45: warning: GCC does not allow 'aligned' attribute in this position on a function definition [-Wgcc-compat]
extern "C" void do_nothing() __attribute__((aligned(4096))) {}
llvm-svn: 258992
Alexey Samsonov [Wed, 27 Jan 2016 21:36:38 +0000 (21:36 +0000)]
[CMake] Set llvm_tools_dir to LLVM_TOOLS_BINARY_DIR instead of LLVM_TOOLS_DIR
In this way, it should work for both in-LLVM and standalone
compiler-rt build.
llvm-svn: 258991
Jonathan Peyton [Wed, 27 Jan 2016 21:20:26 +0000 (21:20 +0000)]
Restore th_current_task first as suggested by John Mellor-Crummey
If an asynchronous inquiry peers into the runtime system
it doesn't see the freed task as the current task.
llvm-svn: 258990
Derek Schuff [Wed, 27 Jan 2016 21:17:39 +0000 (21:17 +0000)]
[WebAssembly] Implement byval arguments
Summary:
Just does the simple allocation of a stack object and passes
a pointer to the callee.
Differential Revision: http://reviews.llvm.org/D16610
llvm-svn: 258989
Evgeniy Stepanov [Wed, 27 Jan 2016 21:15:10 +0000 (21:15 +0000)]
[cfi] Disable vtable diagnostics when no cxxabi.
This should fix the build on Mac 10.8 and earlier.
llvm-svn: 258988
Simon Pilgrim [Wed, 27 Jan 2016 21:13:18 +0000 (21:13 +0000)]
[utils] Add windows support to update_llc_test_checks.py
Strip dos line endings from llc generated files to allow the regex patterns to match them.
Ensure updated *.ll files are generated with unix style line endings.
llvm-svn: 258987
Jonathan Peyton [Wed, 27 Jan 2016 21:02:04 +0000 (21:02 +0000)]
Formatting fixes
Removing extraneous { } bracket sections. Unindenting blocks of
code as a result. Also removing empty #ifdef KMP_STUB
llvm-svn: 258986
Jonathan Peyton [Wed, 27 Jan 2016 20:57:32 +0000 (20:57 +0000)]
Fixing comments.
Removing references to non-existent functions, fixing typos.
llvm-svn: 258985
Jonathan Peyton [Wed, 27 Jan 2016 20:44:49 +0000 (20:44 +0000)]
Removing extra empty lines
llvm-svn: 258984
Mike Aizatsky [Wed, 27 Jan 2016 20:35:18 +0000 (20:35 +0000)]
[sanitizers] using execv instead of execve with null env.
Differential Revision: http://reviews.llvm.org/D16646
llvm-svn: 258983
Davide Italiano [Wed, 27 Jan 2016 20:27:44 +0000 (20:27 +0000)]
[llvm-nm] Remove redundant check for file validity.
We already perform it at the beginning of the function so we can't
arrive here with an invalid object. Also, add a test so that bugs
won't sneak in the future.
llvm-svn: 258982
Daniel Jasper [Wed, 27 Jan 2016 20:14:23 +0000 (20:14 +0000)]
clang-format: [Java] Remove unnecessary line break after complex annotations
Before:
@Annotation("Some"
+ " text")
List<Integer>
list;
After:
@Annotation("Some"
+ " text")
List<Integer> list;
llvm-svn: 258981
Manman Ren [Wed, 27 Jan 2016 20:10:32 +0000 (20:10 +0000)]
Class Property: create accessors (class methods) for class property.
Change a few places where we assume property accessors can only be instance
methods.
rdar://
23891898
llvm-svn: 258980
Manman Ren [Wed, 27 Jan 2016 20:00:32 +0000 (20:00 +0000)]
Class Property: handle class properties.
At places where we handle instance properties, if necessary.
rdar://
23891898
llvm-svn: 258979
Zachary Turner [Wed, 27 Jan 2016 19:47:28 +0000 (19:47 +0000)]
Revert "Resubmit r258759 with proper unicode handling."
This reverts commit
2c79d60214e146b13b233392a859b4f79340e90e.
llvm-svn: 258978
Evgeniy Stepanov [Wed, 27 Jan 2016 19:33:00 +0000 (19:33 +0000)]
[cfi] Fix gcc build.
llvm-svn: 258977
Tim Northover [Wed, 27 Jan 2016 19:32:40 +0000 (19:32 +0000)]
ARMv7k: select ABI based on v7k Arch rather than watchos OS.
Various bits we'd like to use the new ABI actually compile with "-arch armv7k
-miphoneos-version-min=9.0". Not ideal, but also not ridiculous given how
slices work.
llvm-svn: 258976
Tim Northover [Wed, 27 Jan 2016 19:32:29 +0000 (19:32 +0000)]
ARMv7k: base ABI decision on v7k Arch rather than watchos OS.
Various bits we want to use the new ABI actually compile with "-arch armv7k
-miphoneos-version-min=9.0". Not ideal, but also not ridiculous given how
slices work.
llvm-svn: 258975
Benjamin Kramer [Wed, 27 Jan 2016 19:29:56 +0000 (19:29 +0000)]
One more batch of self-containing headers.
llvm-svn: 258974
Benjamin Kramer [Wed, 27 Jan 2016 19:29:42 +0000 (19:29 +0000)]
Don't put classes in headers into anonymous namespaces.
You want ODR violations? That's how you get ODR violations.
llvm-svn: 258973
Sanjay Patel [Wed, 27 Jan 2016 19:22:45 +0000 (19:22 +0000)]
[SimplifyCFG] limit recursion depth when speculating instructions (PR26308)
This is a fix for:
https://llvm.org/bugs/show_bug.cgi?id=26308
With the switch to using the TTI cost model in:
http://reviews.llvm.org/rL228826
...it became possible to hit a zero-cost cycle of instructions (gep -> phi -> gep...),
so we need a cap for the recursion in DominatesMergePoint().
A recursion depth parameter was already added for a different reason in:
http://reviews.llvm.org/rL255660
...so we can just set a limit for it.
I pulled "10" out of the air and made it an independent parameter that we can play with.
It might be higher than it needs to be given the currently low default value of
PHINodeFoldingThreshold (2). That's the starting cost value that we enter the recursion
with, and most instructions have cost set to TCC_Basic (1), so I don't think we're going
to speculate more than 2 instructions with the current parameters.
As noted in the review and the TODO comment, we can do better than just limiting recursion
depth.
Differential Revision: http://reviews.llvm.org/D16637
llvm-svn: 258971
John McCall [Wed, 27 Jan 2016 19:05:08 +0000 (19:05 +0000)]
Add support for objc_unsafeClaimAutoreleasedReturnValue to the
ObjC ARC Optimizer.
The main implication of this is:
1. Ensuring that we treat it conservatively in terms of optimization.
2. We put the ASM marker on it so that the runtime can recognize
objc_unsafeClaimAutoreleasedReturnValue from releaseRV.
<rdar://problem/
21567064>
Patch by Michael Gottesman!
llvm-svn: 258970
Zachary Turner [Wed, 27 Jan 2016 19:00:51 +0000 (19:00 +0000)]
Resubmit r258759 with proper unicode handling.
Instead of opening the file in unicode mode, we need only encode
data which potentially has non-ASCII characters as UTF8 before
writing. This should work across both Python versions, and is
also far simpler than anything else discussed.
llvm-svn: 258969
Zachary Turner [Wed, 27 Jan 2016 18:49:35 +0000 (18:49 +0000)]
Fix some python 3 incompatibilities that went in overnight.
* basestring is not a thing anymore. Must use `six.string_types`.
* Must use from __future__ import print_function in every new test
file.
llvm-svn: 258967
Zachary Turner [Wed, 27 Jan 2016 18:49:31 +0000 (18:49 +0000)]
Refactor some of the xfail / skip decorators to share logic.
Previously the logic of skipIf and expectedFailure were 99%
the same, but they took different sets of arguments since they
were maintained separately, and had slightly differences in
their behavior. This makes everything consistent, there is now
only one real implementation, and the previous ones are changed
to use the single master implementation.
llvm-svn: 258966
Zachary Turner [Wed, 27 Jan 2016 18:49:25 +0000 (18:49 +0000)]
Don't automtically try to import pexpect in lldbpexpect.
Since pexpect doesn't exist on Windows, tests which are xfail'ed
are not being run at all because they are failing when the file
is imported due to the `import pexpect`. This puts the import
behind a conditional and makes an empty base class in the case
where pexpect is not present.
llvm-svn: 258965
John McCall [Wed, 27 Jan 2016 18:32:30 +0000 (18:32 +0000)]
Emit calls to objc_unsafeClaimAutoreleasedReturnValue when
reclaiming a call result in order to ignore it or assign it
to an __unsafe_unretained variable. This avoids adding
an unwanted retain/release pair when the return value is
not actually returned autoreleased (e.g. when it is returned
from a nonatomic getter or a typical collection accessor).
This runtime function is only available on the latest Apple
OS releases; the backwards-compatibility story is that you
don't get the optimization unless your deployment target is
recent enough. Sorry.
rdar://
20530049
llvm-svn: 258962
Hans Wennborg [Wed, 27 Jan 2016 18:29:16 +0000 (18:29 +0000)]
docs/conf.py: update copyright year
llvm-svn: 258960
Rafael Espindola [Wed, 27 Jan 2016 18:04:26 +0000 (18:04 +0000)]
Remove another case of almost duplicated code.
Were had very similar code for deciding to keep a local symbol and for
actually writing it.
llvm-svn: 258958
Benjamin Kramer [Wed, 27 Jan 2016 18:03:40 +0000 (18:03 +0000)]
Unbreak wasm build after r258951.
llvm-svn: 258957
Benjamin Kramer [Wed, 27 Jan 2016 18:03:37 +0000 (18:03 +0000)]
Make more headers self-contained.
A lot of this comes from the new complete type requirement of DenseMap.
llvm-svn: 258956
Hans Wennborg [Wed, 27 Jan 2016 17:54:35 +0000 (17:54 +0000)]
getting_started.rst: fix 'unknown target name' error
llvm-svn: 258953
Oliver Stannard [Wed, 27 Jan 2016 17:30:33 +0000 (17:30 +0000)]
Refactor backend diagnostics for unsupported features
The BPF and WebAssembly backends had identical code for emitting errors
for unsupported features, and AMDGPU had very similar code. This merges
them all into one DiagnosticInfo subclass, that can be used by any
backend.
There should be minimal functional changes here, but some AMDGPU tests
have been updated for the new format of errors (it used a slightly
different format to BPF and WebAssembly). The AMDGPU error messages will
now benefit from having precise source locations when debug info is
available.
The implementation of DiagnosticInfoUnsupported::print must be in
lib/Codegen rather than in the existing file in lib/IR/ to avoid
introducing a dependency from IR to CodeGen.
Differential Revision: http://reviews.llvm.org/D16590
llvm-svn: 258951
Oliver Stannard [Wed, 27 Jan 2016 17:30:28 +0000 (17:30 +0000)]
Add backend dignostic printer for unsupported features
The related LLVM patch adds a backend diagnostic type for reporting
unsupported features, this adds a printer for them to clang.
In the case where debug location information is not available, I've
changed the printer to report the location as the first line of the
function, rather than the closing brace, as the latter does not give the
user any information. This also affects optimisation remarks.
Differential Revision: http://reviews.llvm.org/D16591
llvm-svn: 258950
Rafael Espindola [Wed, 27 Jan 2016 17:09:37 +0000 (17:09 +0000)]
Handle local symbols in discarded sections.
We were reserving space for them but never writing them out.
llvm-svn: 258948
Michael Kruse [Wed, 27 Jan 2016 17:09:17 +0000 (17:09 +0000)]
Introduce MemAccInst helper class; NFC
MemAccInst wraps the common members of LoadInst and StoreInst. Also use
of this class in:
- ScopInfo::buildMemoryAccess
- BlockGenerator::generateLocationAccessed
- ScopInfo::addArrayAccess
- Scop::buildAliasGroups
- Replace every use of polly::getPointerOperand
Reviewers: jdoerfert, grosser
Differential Revision: http://reviews.llvm.org/D16530
llvm-svn: 258947
Sanjoy Das [Wed, 27 Jan 2016 17:05:09 +0000 (17:05 +0000)]
[IndVars] Hoist DataLayout load out of loop; NFC
llvm-svn: 258946
Sanjoy Das [Wed, 27 Jan 2016 17:05:06 +0000 (17:05 +0000)]
[IndVars] Use isSCEVable; NFC
llvm-svn: 258945
Sanjoy Das [Wed, 27 Jan 2016 17:05:03 +0000 (17:05 +0000)]
[IndVars] Use range-for; NFC
llvm-svn: 258944
Adrian McCarthy [Wed, 27 Jan 2016 17:03:25 +0000 (17:03 +0000)]
XFail TestCPPAuto on Windows until we can find the root problem.
llvm.org/pr26339
llvm-svn: 258943
Benjamin Kramer [Wed, 27 Jan 2016 16:53:42 +0000 (16:53 +0000)]
Move SafeStack to CodeGen.
It depends on the target machinery, that's not available for
instrumentation passes.
llvm-svn: 258942
Simon Pilgrim [Wed, 27 Jan 2016 16:51:57 +0000 (16:51 +0000)]
[X86][SSE] Test insertps instrinsic calls with masks that can't combine to something simpler
For these basic tests of the intrinsic, make sure the mask can't simplify to movss, blend-with-zero or something else
llvm-svn: 258941
Rafael Espindola [Wed, 27 Jan 2016 16:41:24 +0000 (16:41 +0000)]
Remove redundant variable.
llvm-svn: 258940
Benjamin Kramer [Wed, 27 Jan 2016 16:32:26 +0000 (16:32 +0000)]
Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/
It's a SelectionDAG thing, not a Target thing.
llvm-svn: 258939
Benjamin Kramer [Wed, 27 Jan 2016 16:05:42 +0000 (16:05 +0000)]
Move passes that live in lib/CodeGen out of Scalar.h
llvm-svn: 258938
Benjamin Kramer [Wed, 27 Jan 2016 16:05:37 +0000 (16:05 +0000)]
Make some headers self-contained, remove unused includes that violate layering.
llvm-svn: 258937
Tom Stellard [Wed, 27 Jan 2016 15:53:52 +0000 (15:53 +0000)]
AMDGPU/SI: Fix commuting of 32-bit VOPC instructions
Summary:
We didn't have entries in the commuting table for the 32-bit
instructions. I don't think we hit this problem now, but we
will once uniform branching is enabled. Tests will come in
a later commit.
Reviewers: arsenm
Subscribers: arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D16600
llvm-svn: 258936
Chris Bieneman [Wed, 27 Jan 2016 15:51:56 +0000 (15:51 +0000)]
Adding back in a test that I inadvertently removed in r258862
llvm-svn: 258935
Tom Stellard [Wed, 27 Jan 2016 14:52:10 +0000 (14:52 +0000)]
Implement modf math builtin
V2: use the reference implementation as suggested by Matt Arsenault
Patch By: Pavel Ondračka
llvm-svn: 258933
Tom Stellard [Wed, 27 Jan 2016 14:52:07 +0000 (14:52 +0000)]
Add _CLC_V_V_VP_VECTORIZE macro
Patch by: Pavel Ondračka
llvm-svn: 258932
Igor Laevsky [Wed, 27 Jan 2016 14:05:35 +0000 (14:05 +0000)]
[DebugInfo] Support zero-length CIE in the _eh_frame parser
MCJIT emits zero-length CIE at the end of the _eh_frame section. This change
ensures that parser inside DebugInfo will not crash and correctly record such cases.
We are now recording DW_EH_PE_omit as a default value for FDE and LSDA encodings.
Also Offset != EndAugmentationOffset assertion check will only happen if augmentation
string had 'z' letter in it.
Differential Revision: http://reviews.llvm.org/D16588
llvm-svn: 258931
Omair Javaid [Wed, 27 Jan 2016 13:57:33 +0000 (13:57 +0000)]
Decorarte TestInferiorAssert xfails on AArch64 Linux
This patch decorates some of TestInferiorAssert test cases with expectedFailureLinux on AArch64.
llvm-svn: 258930
Matthew Simpson [Wed, 27 Jan 2016 13:43:27 +0000 (13:43 +0000)]
Reapply commit r258404 with fix
This patch is the second attempt to reapply commit r258404. There was bug in
the initial patch and subsequent fix (mentioned below).
The initial patch caused an assertion because we were computing smaller type
sizes for instructions that cannot be demoted. The fix first determines the
instructions that will be demoted, and then applies the smaller type size to
only those instructions.
This should fix PR26239 and PR26307.
llvm-svn: 258929
Benjamin Kramer [Wed, 27 Jan 2016 13:22:39 +0000 (13:22 +0000)]
Remove superfluous call to std::to_string that's breaking the cygwin build.
llvm-svn: 258928
Benjamin Kramer [Wed, 27 Jan 2016 12:44:12 +0000 (12:44 +0000)]
Revert "Allow X86::COND_NE_OR_P and X86::COND_NP_OR_E to be reversed."
and "Add a missing test case for r258847."
This reverts commit r258847, r258848. Causes miscompilations and backend
errors.
llvm-svn: 258927
Alexander Kornienko [Wed, 27 Jan 2016 11:37:19 +0000 (11:37 +0000)]
[clang-tidy] Fix documentation.
Fixed broken links to cppcoreguidelines (anchors specified in the .md file
should be used, not automatic anchors generated by github).
Fixed formatting, array_view -> span, fixed sphinx errors in
misc-definitions-in-headers.rst.
llvm-svn: 258926
Alexander Kornienko [Wed, 27 Jan 2016 11:37:12 +0000 (11:37 +0000)]
[clang-tidy] Use relative URL for redirection.
llvm-svn: 258925
Alexander Kornienko [Wed, 27 Jan 2016 11:37:08 +0000 (11:37 +0000)]
Add clang-tools-extra documentation to the CMake build.
llvm-svn: 258924
Sjoerd Meijer [Wed, 27 Jan 2016 11:34:51 +0000 (11:34 +0000)]
Add missing build attribute regression tests for Cortex-A8
Differential Revision: http://reviews.llvm.org/D16576
llvm-svn: 258923
Marek Olsak [Wed, 27 Jan 2016 11:19:45 +0000 (11:19 +0000)]
AMDGPU/SI: Stoney has only 16 LDS banks
Summary:
This is a candidate for stable, along with all patches that add the "stoney"
processor.
Reviewers: tstellarAMD
Subscribers: arsenm
Differential Revision: http://reviews.llvm.org/D16485
llvm-svn: 258922
Pavel Labath [Wed, 27 Jan 2016 11:02:02 +0000 (11:02 +0000)]
Fix linking with LLVM_LINK_LLVM_DYLIB=ON
Linking with LLVM shared libraries currently produces linker errors. This works around the issue
(pr24953) by disabling linking with llvm so for lldb libraries.
Patch by Evangelos Foutras.
Reviewers: zturner
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D16293
llvm-svn: 258921
Daniel Sanders [Wed, 27 Jan 2016 10:45:07 +0000 (10:45 +0000)]
[libcxx] Additional 'REQUIRE' directives for tests that require en_US.UTF-8.
Summary:
These are the tests that didn't fail in the release candidate because they were
covered by another 'REQUIRES' directive.
Reviewers: mclow.lists, hans, bcraig, EricWF
Subscribers: EricWF, dim, cfe-commits
Differential Revision: http://reviews.llvm.org/D16408
llvm-svn: 258920
Bhushan D. Attarde [Wed, 27 Jan 2016 10:16:30 +0000 (10:16 +0000)]
[LLDB][MIPS] A small fix in GetBreakableLoadAddress() for MIPS
SUMMARY:
Get the load address for the address given by symbol and function.
Earlier, this was done for function only, this patch does it for symbol too.
This patch also adds TestAvoidBreakpointInDelaySlot.py to test this change.
Reviewers: clayborg
Subscribers: labath, zturner, mohit.bhakkad, sagar, jaydeep, lldb-commits
Differential Revision: http://reviews.llvm.org/D16049
llvm-svn: 258919
Benjamin Kramer [Wed, 27 Jan 2016 10:01:30 +0000 (10:01 +0000)]
Update for LLVM change.
llvm-svn: 258918
Benjamin Kramer [Wed, 27 Jan 2016 10:01:28 +0000 (10:01 +0000)]
Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs.
llvm-svn: 258917
Daniel Sanders [Wed, 27 Jan 2016 09:28:01 +0000 (09:28 +0000)]
[compiler-rt] list_union() is actually an intersect operation. Rename it.
Summary:
Given:
set(T1 a b c)
set(T2 b c d)
message("T1=${T1}")
message("T2=${T2}")
list_union(T3 T1 T2)
message("T3=${T3}")
cmake emitted:
T1=a;b;c
T2=b;c;d
T3=b;c
Reviewers: beanz
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16580
llvm-svn: 258916
Igor Breger [Wed, 27 Jan 2016 08:57:46 +0000 (08:57 +0000)]
AVX512: Fix vpmovzxbw predicate for AVX1/2 instructions.
Differential Revision: http://reviews.llvm.org/D16595
llvm-svn: 258915
Igor Breger [Wed, 27 Jan 2016 08:43:25 +0000 (08:43 +0000)]
AVX512: Add store mask patterns.
Differential Revision: http://reviews.llvm.org/D16596
llvm-svn: 258914
Xinliang David Li [Wed, 27 Jan 2016 07:42:41 +0000 (07:42 +0000)]
Fix a bug in test case (both ir,fe instr were turned on
llvm-svn: 258913
Chen Li [Wed, 27 Jan 2016 07:40:41 +0000 (07:40 +0000)]
[IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader
Summary:
This is a revised version of D13974, and the following quoted summary are from D13974
"This patch adds support to check if a loop has loop invariant conditions which lead to loop exits. If so, we know that if the exit path is taken, it is at the first loop iteration. If there is an induction variable used in that exit path whose value has not been updated, it will keep its initial value passing from loop preheader. We can therefore rewrite the exit value with
its initial value. This will help remove phis created by LCSSA and enable other optimizations like loop unswitch."
D13974 was committed but failed one lnt test. The bug was that we only checked the condition from loop exit's incoming block was a loop invariant. But there could be another condition from loop header to that incoming block not being a loop invariant. This would produce miscompiled code.
This patch fixes the issue by checking if the incoming block is loop header, and if not, don't perform the rewrite. The could be further improved by recursively checking all conditions leading to loop exit block, but I'd like to check in this simple version first and improve it with future patches.
Reviewers: sanjoy
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16570
llvm-svn: 258912
Daniel Marjamaki [Wed, 27 Jan 2016 07:33:50 +0000 (07:33 +0000)]
Fix array index out of bounds
Differential Revision: http://reviews.llvm.org/D16582
llvm-svn: 258911
Jonas Hahnfeld [Wed, 27 Jan 2016 07:24:03 +0000 (07:24 +0000)]
Change whitespace to test commit access
llvm-svn: 258910
Haicheng Wu [Wed, 27 Jan 2016 04:59:05 +0000 (04:59 +0000)]
[SLPVectorizer] Swap the checking order of isCommutative and isConsecutiveAccess
NFC
llvm-svn: 258909
Matthias Braun [Wed, 27 Jan 2016 04:20:24 +0000 (04:20 +0000)]
SmallPtrSet: Inline the part of insert_imp in the small case
Most of the time we only hit the small case, so it is beneficial to pull
it out of the insert_imp() implementation. This improves compile time
at least for non-LTO builds.
Differential Revision: http://reviews.llvm.org/D16619
llvm-svn: 258908
Matthias Braun [Wed, 27 Jan 2016 03:45:25 +0000 (03:45 +0000)]
Function: Slightly simplify code by using existing hasFnAttribute() convenience function
llvm-svn: 258907
Xinliang David Li [Wed, 27 Jan 2016 03:13:09 +0000 (03:13 +0000)]
[Coverage] Fix more bugs in covmap V1 documentation
llvm-svn: 258906
David Majnemer [Wed, 27 Jan 2016 02:59:41 +0000 (02:59 +0000)]
Revert "Revert "[SimplifyCFG] allow speculation of exactly one expensive instruction (PR24818)""
This reverts commit r258903 which reverted r255660. r258903 was an
accidental commit and should not have been committed.
llvm-svn: 258905
David Majnemer [Wed, 27 Jan 2016 02:43:28 +0000 (02:43 +0000)]
[SimplifyCFG] Don't mistake icmp of and for a tree of comparisons
SimplifyCFG tries to turn complex branch conditions into a switch.
Some of it's logic attempts to reason about bitwise arithmetic produced
by InstCombine. InstCombine can turn things like (X == 2) || (X == 3)
into (X & 1) == 2 and so SimplifyCFG tries to detect when this occurs so
that it can produce a switch instruction.
However, the legality checking was not sufficient to determine whether
or not this had occured. Correctly check this case by requiring that
the right-hand side of the comparison be a power of two.
This fixes PR26323.
llvm-svn: 258904
David Majnemer [Wed, 27 Jan 2016 02:43:22 +0000 (02:43 +0000)]
Revert "[SimplifyCFG] allow speculation of exactly one expensive instruction (PR24818)"
This reverts commit r255660.
llvm-svn: 258903