Fiona Glaser [Tue, 29 Mar 2016 22:44:57 +0000 (22:44 +0000)]
MachineSink: make shouldSink a TII target hook
Some targets may disagree on what they want sunk or not sunk,
so make this a target hook instead of hardcoded.
llvm-svn: 264799
Adam Nemet [Tue, 29 Mar 2016 22:40:02 +0000 (22:40 +0000)]
[LoopDataPrefetch] Make more member functions private, NFC.
llvm-svn: 264798
Adrian Prantl [Tue, 29 Mar 2016 22:34:30 +0000 (22:34 +0000)]
Upgrade some wildly anachronistic debug info in testcases.
llvm-svn: 264797
Sanjay Patel [Tue, 29 Mar 2016 22:27:39 +0000 (22:27 +0000)]
use FileCheck and auto-check-generation script for exact checking
1. Removed the run line for mingw32 and made the Darwin triples unknown.
This is a test of 32-bit vs. 64-bit platform and the underlying hardware.
We have other tests for checking behavioral differences of the OS platform.
2. Changed the CPU specifiers to the attributes they were meant to represent.
Any CPU that doesn't have SSE4.2 is assumed to have slow unaligned 16-byte accesses,
so it won't use those here.
3. Although the stores really could all be CHECK-DAG, I left them as CHECK-NEXT to
show the strange behavior of the instruction scheduler in the SLOW_32 case.
4. The odd-looking instructions are due to the use of a null pointer in the IR, so
we have integer immediate store addresses. Cute.
llvm-svn: 264796
Betul Buyukkurt [Tue, 29 Mar 2016 22:17:52 +0000 (22:17 +0000)]
[PGO] Test case fix for r264783
llvm-svn: 264795
Greg Clayton [Tue, 29 Mar 2016 22:09:24 +0000 (22:09 +0000)]
LLDB top of tree SVN fails to attach to a MacOSX native process by pid only (no executable).
The problem was that the static DynamicLoaderDarwinKernel::Initialize() was recently changed to come before DynamicLoaderMacOSXDYLD::Initialize() which caused the DynamicLoaderDarwinKernel::CreateInstance(...) to be called before DynamicLoaderMacOSXDYLD::CreateInstance(...) and DynamicLoaderDarwinKernel would claim it could be the dynamic loader for a user space MacOSX process. The fix is to make DynamicLoaderDarwinKernel::CreateInstance() a bit more thourough when vetting the process so that it doesn't claim MacOSX user space processes.
<rdar://problem/
25425373>
llvm-svn: 264794
Jim Ingham [Tue, 29 Mar 2016 22:00:08 +0000 (22:00 +0000)]
Figure out what the fixed expression is, and print it. Added another target setting to
quietly apply fixits for those who really trust clang's fixits.
Also, moved the retry into ClangUserExpression::Evaluate, where I can make a whole new ClangUserExpression
to do the work. Reusing any of the parts of a UserExpression in situ isn't supported at present.
<rdar://problem/
25351938>
llvm-svn: 264793
Xinliang David Li [Tue, 29 Mar 2016 21:53:08 +0000 (21:53 +0000)]
Fix comment in test
llvm-svn: 264792
Davide Italiano [Tue, 29 Mar 2016 21:48:25 +0000 (21:48 +0000)]
[ELF] Drive-by cleanup, make LTO.cpp clang-format clean.
llvm-svn: 264791
Davide Italiano [Tue, 29 Mar 2016 21:46:35 +0000 (21:46 +0000)]
[LTO] Teach LTO about @llvm.used global.
If a symbol appears in @llvm.used, the linker is forced to treat
the symbol as there's a reference to it.
llvm-svn: 264790
Johannes Doerfert [Tue, 29 Mar 2016 21:31:05 +0000 (21:31 +0000)]
Exploit graph properties during domain generation
As a CFG is often structured we can simplify the steps performed
during domain generation. When we push domain information we can
utilize the information from a block A to build the domain of a
block B, if A dominates B. When we pull domain information we can
use information from a block A to build the domain of a block B
if B post-dominates A. This patch implements both ideas and thereby
simplifies domains that were not simplified by isl. For the FINAL
basic block in
test/ScopInfo/complex-successor-structure-3.ll .
we used to build a universe set with 81 basic sets. Now it actually is
represented as universe set.
While the initial idea to utilize the graph structure depended on the
dominator and post-dominator tree we can use the available region
information as a coarse grained replacement. To this end we push the
region entry domain to the region exit and pull it from the region
entry for the region exit.
Differential Revision: http://reviews.llvm.org/D18450
llvm-svn: 264789
Bruno Cardoso Lopes [Tue, 29 Mar 2016 21:30:58 +0000 (21:30 +0000)]
[Sema] Attempt [3] to fix tests for utf-8 invalid format string specifiers
Make the tests darwin only. The bots complaining already output UTF-8
invalid specifiers, test the output as we expect on darwin systems.
llvm-svn: 264788
Ed Schouten [Tue, 29 Mar 2016 21:13:53 +0000 (21:13 +0000)]
Enable the SafeStack sanitizer on CloudABI by default.
Over the last month we've been testing SafeStack extensively. As far as
we know, it works perfectly fine. That why I'd like to see us having
this enabled by default for CloudABI.
This change introduces a getDefaultSanitizers() function that toolchains
can use to specify which sanitizers are enabled by default. Once all
flags are processed, only flags that had no -fno-sanitize overrides are
enabled.
Extend the thests for CloudABI to test both the default case and the
case in which we want to explicitly disable SafeStack.
Reviewed by: eugenis, pcc
Differential Revision: http://reviews.llvm.org/D18505
llvm-svn: 264787
Jonathan Peyton [Tue, 29 Mar 2016 21:08:29 +0000 (21:08 +0000)]
Fix comment in kmp_wait_release.h
Removed reference to "ref ct" in a comment, as ref_ct no longer exists. Also
moved the comment to where the task_team is about to be tested if NULL.
llvm-svn: 264786
Rui Ueyama [Tue, 29 Mar 2016 20:53:21 +0000 (20:53 +0000)]
Simplify. NFC.
llvm-svn: 264785
Bruno Cardoso Lopes [Tue, 29 Mar 2016 20:47:09 +0000 (20:47 +0000)]
[Sema] Attempt [2] to fix tests for utf-8 invalid format string specifiers
Some buildbots still complain. Followup from r264752 and 264765.
llvm-svn: 264784
Betul Buyukkurt [Tue, 29 Mar 2016 20:44:09 +0000 (20:44 +0000)]
[PGO] Move the instrumentation point closer to the value site.
For terminator instructions, the value profiling instrumentation
happens in a basic block other than where the value site resides.
This CR moves the instrumentation point prior to the value site.
Mostly NFC.
llvm-svn: 264783
Johannes Doerfert [Tue, 29 Mar 2016 20:41:24 +0000 (20:41 +0000)]
Factor out "adjustDomainDimensions" function [NFC]
llvm-svn: 264782
Johannes Doerfert [Tue, 29 Mar 2016 20:32:43 +0000 (20:32 +0000)]
Factor out "getFirstNonBoxedLoopFor" function [NFC]
llvm-svn: 264781
Derek Schuff [Tue, 29 Mar 2016 20:28:20 +0000 (20:28 +0000)]
Add a print method to MachineFunctionProperties for better error messages
This makes check failures much easier to understand.
Make it empty (but leave it in the class) for NDEBUG builds.
Differential Revision: http://reviews.llvm.org/D18529
llvm-svn: 264780
Aaron Ballman [Tue, 29 Mar 2016 20:23:55 +0000 (20:23 +0000)]
Clarifying some of the requirements for building with Visual Studio on Windows. Namely, we require the latest Update to be installed (for sanity purposes), and we require CMake 2.8.12.2 for building LLVM with Visual Studio.
llvm-svn: 264779
Kevin Enderby [Tue, 29 Mar 2016 20:18:07 +0000 (20:18 +0000)]
Fix some bugs in the posix output of llvm-nm. Which is documented on
http://pubs.opengroup.org/onlinepubs/
9699919799/utilities/nm.html .
1) For Mach-O files the code was not printing the values in hex as is the default.
2) The values printed had leading zeros which they should not have.
3) The address for undefined symbols was printed as spaces instead of 0.
4) With the -A option with posix output for an archive did not use square
brackets around the archive member name.
rdar://
25311883 and rdar://
25299678
llvm-svn: 264778
Jonathan Peyton [Tue, 29 Mar 2016 20:10:00 +0000 (20:10 +0000)]
Fix incorrect indention in kmp_alloc.c
llvm-svn: 264777
Jonathan Peyton [Tue, 29 Mar 2016 20:05:27 +0000 (20:05 +0000)]
Remove dead KMP_USE_POOLED_ALLOC code
llvm-svn: 264776
Johannes Doerfert [Tue, 29 Mar 2016 20:02:05 +0000 (20:02 +0000)]
Bail as early as possible
Instead of waiting for the domain construction to finish we will now
bail as early as possible in case a complexity problem is encountered.
This might save compile time but more importantly it makes the "abort"
explicit. While we can always check if we invalidated the assumed
context we can simply propagate the result of the construction back.
This also removes the HasComplexCFG flag that was used for the very
same reason.
Differential Revision: http://reviews.llvm.org/D18504
llvm-svn: 264775
Nico Weber [Tue, 29 Mar 2016 19:41:02 +0000 (19:41 +0000)]
clang-cl: Silently ignore /d2FastFail flag.
It's some debugging flag for cl.exe related to how it writes crash dumps.
llvm-svn: 264774
Vedant Kumar [Tue, 29 Mar 2016 19:24:58 +0000 (19:24 +0000)]
[profile] Make a test work if run by the super-user
llvm-svn: 264773
Rui Ueyama [Tue, 29 Mar 2016 19:19:03 +0000 (19:19 +0000)]
Replace a FIXME with a regular comment.
Because it doesn't have to be fixed even though it is probably
better to do.
llvm-svn: 264772
James Y Knight [Tue, 29 Mar 2016 19:09:54 +0000 (19:09 +0000)]
[SPARC] Use AtomicExpandPass to expand AtomicRMW instructions.
They were previously expanded to CAS loops in a custom isel expansion,
but AtomicExpandPass knows how to do that generically.
Testing is covered by the existing sparc atomics.ll testcases.
llvm-svn: 264771
Rui Ueyama [Tue, 29 Mar 2016 19:08:46 +0000 (19:08 +0000)]
Make BitcodeCompiler::compile a non-template function. NFC.
llvm-svn: 264770
Matthias Braun [Tue, 29 Mar 2016 19:07:43 +0000 (19:07 +0000)]
MachineVerifier: On dead-def live segments, check that corresponding machine operand has a dead flag
llvm-svn: 264769
Matthias Braun [Tue, 29 Mar 2016 19:07:40 +0000 (19:07 +0000)]
LiveVariables: Fix typo and shorten comment
llvm-svn: 264768
Duncan P. N. Exon Smith [Tue, 29 Mar 2016 18:56:03 +0000 (18:56 +0000)]
IR: Add DbgInfoIntrinsic::getVariableLocation
Create a common accessor, DbgInfoIntrinsic::getVariableLocation, which
doesn't care about the type of debug info intrinsic. Use this to
further unify the implementations of DbgDeclareInst::getAddress and
DbgValueInst::getValue.
Besides being a cleanup, I'm planning to use this to prepare DEBUG
output without having to branch on the concrete type.
llvm-svn: 264767
Ryan Govostes [Tue, 29 Mar 2016 18:54:29 +0000 (18:54 +0000)]
[asan] Make the Darwin/dead-strip.c test require El Capitan or newer
llvm-svn: 264766
Bruno Cardoso Lopes [Tue, 29 Mar 2016 18:38:44 +0000 (18:38 +0000)]
[Sema] Attempt to fix tests for utf-8 invalid format string specifiers
Followup from r264752.
Attempt to appease buildbots:
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/2882
http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/2619
llvm-svn: 264765
Ryan Govostes [Tue, 29 Mar 2016 18:27:24 +0000 (18:27 +0000)]
Revert "[asan] Make the global_metadata_darwin.ll test require El Capitan or newer"
llvm-svn: 264764
Teresa Johnson [Tue, 29 Mar 2016 18:24:19 +0000 (18:24 +0000)]
[ThinLTO] Remove post-pass metadata linking support
Since we have moved to a model where functions are imported in bulk from
each source module after making summary-based importing decisions, there
is no longer a need to link metadata as a postpass, and all users have
been removed.
This essentially reverts r255909 and follow-on fixes.
llvm-svn: 264763
Greg Clayton [Tue, 29 Mar 2016 18:22:07 +0000 (18:22 +0000)]
When creating typedefs, don't call Type::GetName() since that might recursively call "lldb_private::Type::ResolveClangType(lldb_private::Type::ResolveStateTag)" and cause a crash. A lldb_private::Type should have a valid name if it is created without a backing CompilerType. Also provide a name that we can recognize so if we see it in a as the typename of a variable, we will know to check it out. This crash is happening quite a bit and we need to determine if this is due to incorrect debug info, or just due to some bug in LLDBD.
<rdar://problem/
25192037>
llvm-svn: 264762
Rafael Espindola [Tue, 29 Mar 2016 18:18:19 +0000 (18:18 +0000)]
Change how we handle R_MIPS_LO16.
Mips aligns PT_LOAD to 16 bits (0x10000). That means that the lower 16
bits are always the same, so we can, effectively, say that the
relocation is relative.
llvm-svn: 264761
Eric Liu [Tue, 29 Mar 2016 18:17:11 +0000 (18:17 +0000)]
Removed class FormatStyle, which is a struct, forward declaration from Refactoring.h to avoid compilation error.
llvm-svn: 264760
Samuel Benzaquen [Tue, 29 Mar 2016 18:02:26 +0000 (18:02 +0000)]
[clang-tidy] Add check to detect dangling references in value handlers.
Summary:
Add check misc-dangling-handle to detect dangling references in value
handlers like std::experimental::string_view.
It provides a configuration option to specify other handle types that
should also be checked.
Right now it detects:
- Construction from temporaries.
- Assignment from temporaries.
- Return statements from temporaries or locals.
- Insertion into containers from temporaries.
Reviewers: alexfh
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D17811
llvm-svn: 264759
Ryan Govostes [Tue, 29 Mar 2016 17:58:49 +0000 (17:58 +0000)]
[asan] Make the global_metadata_darwin.ll test require El Capitan or newer
llvm-svn: 264758
Chris Bieneman [Tue, 29 Mar 2016 17:51:08 +0000 (17:51 +0000)]
[Order Files] Fix order file usage
The CMake EXISTS operator needs to have the variable expanded. Not expanding this was causing the if statement to always be false, which made it impossible to pass linker order files in.
llvm-svn: 264757
Nirav Dave [Tue, 29 Mar 2016 17:46:23 +0000 (17:46 +0000)]
Add support for no-jump-tables
Add function soft attribute to the generation of Jump Tables in CodeGen
as initial step towards clang support of gcc's no-jump-table support
Reviewers: hans, echristo
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18321
llvm-svn: 264756
Derek Schuff [Tue, 29 Mar 2016 17:40:22 +0000 (17:40 +0000)]
Add MachineVerifier check for AllVRegsAllocated MachineFunctionProperty
Summary:
Check that any function that has the property set is free of virtual
register operands.
Also, it is actually VirtRegMap (and not the register allocators) that
acutally remove the VReg operands (except for RegAllocFast).
Reviewers: qcolombet
Subscribers: MatzeB, llvm-commits, qcolombet
Differential Revision: http://reviews.llvm.org/D18535
llvm-svn: 264755
Manman Ren [Tue, 29 Mar 2016 17:37:21 +0000 (17:37 +0000)]
Swift Calling Convention: add swiftself attribute.
Differential Revision: http://reviews.llvm.org/D17866
llvm-svn: 264754
Greg Clayton [Tue, 29 Mar 2016 17:36:38 +0000 (17:36 +0000)]
Don't try to call getTypeSize() on a class if it isn't complete as clang will assert and kill the process.
llvm-svn: 264753
Bruno Cardoso Lopes [Tue, 29 Mar 2016 17:35:02 +0000 (17:35 +0000)]
[Sema] Handle UTF-8 invalid format string specifiers
Improve invalid format string specifier handling by printing out
invalid specifiers characters with \x, \u and \U. Previously clang
would print gargabe whenever the character is unprintable.
Example, before:
NSLog(@"%\u25B9"); => warning: invalid conversion specifier ' [-Wformat-invalid-specifier]
after:
NSLog(@"%\u25B9"); => warning: invalid conversion specifier '\u25b9' [-Wformat-invalid-specifier]
Differential Revision: http://reviews.llvm.org/D18296
rdar://problem/
24672159
llvm-svn: 264752
Chris Bieneman [Tue, 29 Mar 2016 17:34:13 +0000 (17:34 +0000)]
[Darwin] [Builtins] Cleaning up OS X exclude lists. NFC.
This just gets rid of a bunch of empty object file warnings. It doesn't impact the generated archives.
llvm-svn: 264751
Chris Bieneman [Tue, 29 Mar 2016 17:24:23 +0000 (17:24 +0000)]
[Darwin] [Builtins] Remove multi3 from the exclude list.
This addresses PR27077. For some historical reason Darwin wasn't shipping multi3 in the compiler builtin library or in the OS builtin library. This caused building ffmpeg to fail because Polly was generating calls to multi3. It is easy enough to just add the builtin.
llvm-svn: 264750
Chris Bieneman [Tue, 29 Mar 2016 17:24:21 +0000 (17:24 +0000)]
[Darwin] [Builtins] Cleaning up 10.4 exclude lists NFC
This just gets rid of a bunch of empty object file warnings. It doesn't impact the generated archives.
llvm-svn: 264749
Sanjay Patel [Tue, 29 Mar 2016 17:09:27 +0000 (17:09 +0000)]
[x86] add tests to show current memset codegen
llvm-svn: 264748
Sanjoy Das [Tue, 29 Mar 2016 16:40:44 +0000 (16:40 +0000)]
[SCEV] Extract out a MatchBinaryOp; NFCI
MatchBinaryOp abstracts out the IR instructions from the operations they
represent. While this change is NFC, we will use this factoring later
to map things like `(extractvalue 0 (sadd.with.overflow X Y))` to `(add
X Y)`.
llvm-svn: 264747
Sanjoy Das [Tue, 29 Mar 2016 16:40:39 +0000 (16:40 +0000)]
[SCEV] Use Operator::getOpcode instead of manual dispatch; NFC
llvm-svn: 264746
Eric Liu [Tue, 29 Mar 2016 16:31:53 +0000 (16:31 +0000)]
Added formatAndApplyAllReplacements that works on multiple files in libTooling.
Summary:
formatAndApplyAllReplacements takes a set of Replacements, applies them on a
Rewriter, and reformats the changed code.
Reviewers: klimek, djasper
Subscribers: ioeric, klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D17852
llvm-svn: 264745
Justin Lebar [Tue, 29 Mar 2016 16:26:06 +0000 (16:26 +0000)]
Make InlineSimple's one-arg constructor explicit. NFC
llvm-svn: 264744
Justin Lebar [Tue, 29 Mar 2016 16:26:03 +0000 (16:26 +0000)]
Reformat a comment in InlineSimple.cpp. NFC
llvm-svn: 264743
Justin Lebar [Tue, 29 Mar 2016 16:24:23 +0000 (16:24 +0000)]
[CUDA] Add missing #undef __DEVICE__ to CUDA shim header.
llvm-svn: 264742
Justin Lebar [Tue, 29 Mar 2016 16:24:22 +0000 (16:24 +0000)]
[CUDA] Fix order of overloading preferences in comment.
llvm-svn: 264741
Justin Lebar [Tue, 29 Mar 2016 16:24:20 +0000 (16:24 +0000)]
[CUDA] Make CUDA description strings in langopts into noun phrases. NFC
rsmith quoth in D18380:
> This should be a noun phrase -- this string appears in contexts like
> "support for %0 is enabled" -- so this should be "treating
> unattributed [...]".
llvm-svn: 264740
Justin Lebar [Tue, 29 Mar 2016 16:24:16 +0000 (16:24 +0000)]
[CUDA] Remove three obsolete CUDA cc1 flags.
Summary:
* -fcuda-target-overloads
Previously unconditionally set to true by the driver. Necessary for
correct functioning of the compiler -- our CUDA headers wrapper won't
compile without this.
* -fcuda-disable-target-call-checks
Previously unconditionally set to true by the driver. Necessary to
compile almost any external CUDA code -- almost all libraries assume
that host+device code can call host or device functions.
* -fcuda-allow-host-calls-from-host-device
No effect when target overloading is enabled.
Reviewers: tra
Subscribers: rsmith, cfe-commits
Differential Revision: http://reviews.llvm.org/D18416
llvm-svn: 264739
Sanjay Patel [Tue, 29 Mar 2016 16:11:29 +0000 (16:11 +0000)]
regenerate checks
llvm-svn: 264738
Konstantin Zhuravlyov [Tue, 29 Mar 2016 15:54:09 +0000 (15:54 +0000)]
[AMDGPU] Switch linker to amdphdrs + update test
Differential Revision: http://reviews.llvm.org/D18253
llvm-svn: 264737
Konstantin Zhuravlyov [Tue, 29 Mar 2016 15:15:44 +0000 (15:15 +0000)]
Test commit access
llvm-svn: 264736
Pavel Labath [Tue, 29 Mar 2016 15:00:26 +0000 (15:00 +0000)]
Move DynamicLoader plugins to SystemInitializerFull
Summary: These are not needed by lldb-server. Removing them shrinks the server by about 0.5%.
Reviewers: zturner
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D18206
llvm-svn: 264735
Teresa Johnson [Tue, 29 Mar 2016 14:49:26 +0000 (14:49 +0000)]
[ThinLTO] Use new GlobalValue::getGUID helper (NFC)
This was already being used for functions and aliases, was missed when
handling global variables.
llvm-svn: 264734
Pavel Labath [Tue, 29 Mar 2016 14:39:10 +0000 (14:39 +0000)]
Revert the "build fix" in r264104
this was needed because lldb-mi temporarily contained references to private lldb symbols
(lldb_private namespace), which it shouldn't have. The situation has since been rectified and
this wasn't the right fix anyway, since it can lead to funny ODR violations.
llvm-svn: 264733
Simon Atanasyan [Tue, 29 Mar 2016 14:26:24 +0000 (14:26 +0000)]
[ELF][MIPS] Remove redundant comments from the test. NFC.
Now llvm-objdump prints target function name for `jal` instruction by itself.
llvm-svn: 264732
Hemant Kulkarni [Tue, 29 Mar 2016 14:20:20 +0000 (14:20 +0000)]
[llvm-readobj] NFC: Remove unneeded parenthesis
llvm-svn: 264731
Simon Atanasyan [Tue, 29 Mar 2016 14:07:22 +0000 (14:07 +0000)]
[ELF][MIPS] Reduce number of redundant entries in the local part of MIPS GOT
Local symbol which requires GOT entry initialized by "page" address.
This address is high 16 bits of sum of the symbol value and the relocation
addend. In the relocation scanning phase final values of symbols are unknown
so to reduce number of allocated GOT entries do the following trick. Save
all output sections referenced by GOT relocations during the relocation
scanning phase. Then later in the `GotSection::finalize` method calculate
number of "pages" required to cover all saved output sections and allocate
appropriate number of GOT entries. We assume the worst case - each 64kb
page of the output section has at least one GOT relocation against it.
Differential Revision: http://reviews.llvm.org/D18349
llvm-svn: 264730
Pavel Labath [Tue, 29 Mar 2016 13:42:02 +0000 (13:42 +0000)]
Fix infinite recursion in DWO file parsing
Summary:
Since r264316, clang started adding DW_AT_GNU_dwo_name attribute to dwo files (previously, this
attribute was only present in main object files), breaking pretty much every dwo test. The
problem was that we were treating the presence of said attribute as a signal that we should look
for information in an external object file, and caused us to enter an infinite loop. I fix this
by making sure we do not go looking for an external dwo file if we already *are* parsing a dwo
file.
Reviewers: tberghammer, clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D18547
llvm-svn: 264729
Simon Dardis [Tue, 29 Mar 2016 13:02:19 +0000 (13:02 +0000)]
[mips] Test commit: Mark insertNoop as dead code (NFC)
llvm-svn: 264728
Hrvoje Varga [Tue, 29 Mar 2016 12:46:16 +0000 (12:46 +0000)]
Add additional Hi/Lo registers to Clang MipsTargetInfoBase
Differential Revision: http://reviews.llvm.org/D17378
llvm-svn: 264727
Pavel Labath [Tue, 29 Mar 2016 12:06:37 +0000 (12:06 +0000)]
Add ClangUtil.cpp to the xcode project
llvm-svn: 264721
Alexey Bataev [Tue, 29 Mar 2016 10:59:56 +0000 (10:59 +0000)]
[OPENMP 4.5] Allow data members in 'aligned' clause.
OpenMP 4.5 allows privatization of data members OpenMP clauses. Patch
adds support for data members in 'aligned' clause.
llvm-svn: 264715
Mike Spertus [Tue, 29 Mar 2016 10:57:24 +0000 (10:57 +0000)]
Visual Studio native visualization for TemplateParameterList and TemplateTypeParmDecl
With this change, a TemplateParameterList will suggestively display in the locals window something like:
<typename T, int i>
llvm-svn: 264714
Pavel Labath [Tue, 29 Mar 2016 10:41:40 +0000 (10:41 +0000)]
Add missing swig wrappers for r264662
llvm-svn: 264713
Daniel Sanders [Tue, 29 Mar 2016 09:40:38 +0000 (09:40 +0000)]
[mips] Correct MIPS16 jal/jalx to have uimm26 offsets and add MC layer range checks. NFC.
Summary:
However, this has no effect at this time because the instructions affected
are marked 'isCodeGenOnly=1' and have no alternative for the MC layer.
Reviewers: vkalintiris
Subscribers: llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D18179
llvm-svn: 264712
George Rimar [Tue, 29 Mar 2016 09:37:17 +0000 (09:37 +0000)]
Forgot to address last minor review comment in r264708. Doing that now.
llvm-svn: 264711
Mike Spertus [Tue, 29 Mar 2016 09:24:45 +0000 (09:24 +0000)]
Visual Studio native visualizer for InjectedClassNameType
Also fixes some omissions for TemplateSpecializationType
llvm-svn: 264710
Alexey Bataev [Tue, 29 Mar 2016 08:58:54 +0000 (08:58 +0000)]
[OPENMP] Remove extra code transformation.
For better support of some specific GNU extensions some extra
transformation of AST nodes were introduced. These transformations are
very hard to handle. The code is improved in handling of these
extensions by using captured expressions construct.
llvm-svn: 264709
George Rimar [Tue, 29 Mar 2016 08:45:40 +0000 (08:45 +0000)]
[ELF, PR27091] - Implemented -t/--trace option
-t/--trace
Print the names of the input files as ld processes them.
This fixes https://llvm.org/bugs/show_bug.cgi?id=27091.
Differential revision: http://reviews.llvm.org/D18517
llvm-svn: 264708
George Rimar [Tue, 29 Mar 2016 08:35:42 +0000 (08:35 +0000)]
[ELF] - Error out when R_X86_64_PC32/R_X86_64_32 are used against preemptible symbol when linking shared object.
When R_X86_64_PC32/R_X86_64_32 relocations are
used against preemptible symbol and output is position independent,
error should be generated.
Differential revision: http://reviews.llvm.org/D18190
llvm-svn: 264707
Junmo Park [Tue, 29 Mar 2016 07:53:07 +0000 (07:53 +0000)]
fix CHECK_NOT -> CHECK-NOT
llvm-svn: 264706
Michael Kruse [Tue, 29 Mar 2016 07:50:52 +0000 (07:50 +0000)]
Revert "[ScopInfo] Fix domains after loops."
This reverts commit r264118. The approach is still under discussion.
llvm-svn: 264705
Junmo Park [Tue, 29 Mar 2016 07:03:27 +0000 (07:03 +0000)]
fixed typo - CHECK-LABEL
llvm-svn: 264704
Elena Demikhovsky [Tue, 29 Mar 2016 06:55:56 +0000 (06:55 +0000)]
Added 2 notes
1) Skylake and KNL support for X86
2) masked intrinsics load/store/gather/scatter
Differential Revision: http://reviews.llvm.org/D18353
llvm-svn: 264703
Elena Demikhovsky [Tue, 29 Mar 2016 06:49:38 +0000 (06:49 +0000)]
fixed typo - CHECK-LABEL
llvm-svn: 264702
Elena Demikhovsky [Tue, 29 Mar 2016 06:33:41 +0000 (06:33 +0000)]
AVX-512: fixed a bug in fp_to_uint pattern on KNL
Fixed fp_to_uint instruction selection on KNL.
One pattern was missing for <4 x double> to <4 x i32>
Differential Revision: http://reviews.llvm.org/D18512
llvm-svn: 264701
Alexey Bataev [Tue, 29 Mar 2016 05:34:15 +0000 (05:34 +0000)]
[OPENMP] Allow runtime insert its own code inside OpenMP regions.
Solution unifies interface of RegionCodeGenTy type to allow insert
runtime-specific code before/after main codegen action defined in
CGStmtOpenMP.cpp file. Runtime should not define its own RegionCodeGenTy
for general OpenMP directives, but must be allowed to insert its own
(required) code to support target specific codegen.
llvm-svn: 264700
Duncan P. N. Exon Smith [Tue, 29 Mar 2016 05:25:17 +0000 (05:25 +0000)]
BitcodeReader: Allow METADATA_STRINGS to only have !""
Support parsing a METADATA_STRINGS record that only has a single piece
of metadata, !"". Fixes a corner case in r264551.
llvm-svn: 264699
Davide Italiano [Tue, 29 Mar 2016 04:34:09 +0000 (04:34 +0000)]
[LTO] Don't internalize if --export-dynamic is passed.
We treat that in the same way we treat shared libraries.
llvm-svn: 264698
Hyojin Sung [Tue, 29 Mar 2016 04:08:57 +0000 (04:08 +0000)]
[SimlifyCFG] Prevent passes from destroying canonical loop structure, especially for nested loops
When eliminating or merging almost empty basic blocks, the existence of non-trivial PHI nodes
is currently used to recognize potential loops of which the block is the header and keep the block.
However, the current algorithm fails if the loops' exit condition is evaluated only with volatile
values hence no PHI nodes in the header. Especially when such a loop is an outer loop of a nested
loop, the loop is collapsed into a single loop which prevent later optimizations from being
applied (e.g., transforming nested loops into simplified forms and loop vectorization).
The patch augments the existing PHI node-based check by adding a pre-test if the BB actually
belongs to a set of loop headers and not eliminating it if yes.
llvm-svn: 264697
Matthias Braun [Tue, 29 Mar 2016 03:54:22 +0000 (03:54 +0000)]
RegisterPressure: Simplify liveness tracking when lanemasks are not checked.
Split RegisterOperands code that collects defs/uses into a variant with
and without lanemask tracking. This is a bit of code duplication, but
there are enough subtle differences between the two variants that this
seems cleaner (and potentially faster).
This also fixes a problem where lanes where tracked even though
TrackLaneMasks was false. This is part of the fix for
http://llvm.org/PR27106. I will commit the testcase when it is
completely fixed.
llvm-svn: 264696
Matthias Braun [Tue, 29 Mar 2016 03:08:18 +0000 (03:08 +0000)]
LiveVariables: Do not remove dead flags from vreg operands
Also add a FIXME comment on why Mips RDDSP causes bogus dead flags to be
added which LiveVariables cleans up by accident.
llvm-svn: 264695
Felix Berger [Tue, 29 Mar 2016 02:42:38 +0000 (02:42 +0000)]
[clang-tidy] Add performance check to flag function parameters of expensive to copy types that can be safely converted to const references.
Reviewers: alexfh
Subscribers: fowles, cfe-commits
Differential Revision: http://reviews.llvm.org/D17491
llvm-svn: 264694
Hemant Kulkarni [Tue, 29 Mar 2016 02:41:49 +0000 (02:41 +0000)]
[llvm-readobj] Support GNU style dyn-relocations
http://reviews.llvm.org/D18534
llvm-svn: 264693
Davide Italiano [Tue, 29 Mar 2016 02:20:10 +0000 (02:20 +0000)]
Revert r264961. I didn't have asserts enable when testing.
llvm-svn: 264692
Davide Italiano [Tue, 29 Mar 2016 01:40:07 +0000 (01:40 +0000)]
[LTO] Include bitcode symbol name in unreachable messages.
llvm-svn: 264691
Hal Finkel [Tue, 29 Mar 2016 01:36:01 +0000 (01:36 +0000)]
[PowerPC] Refactor popcnt[dw] target features
Instead of using two feature bits, one to indicate the availability of the
popcnt[dw] instructions, and another to indicate whether or not they're fast,
use a single enum. This allows more consistent control via target attribute
strings, and via Clang's command line.
llvm-svn: 264690