platform/upstream/llvm.git
8 years agoImprove test speed/trial 2
Xinliang David Li [Fri, 29 Jan 2016 22:29:15 +0000 (22:29 +0000)]
Improve test speed/trial 2

llvm-svn: 259253

8 years agoAttributeSetImpl: Summarize existing function attributes in a bitset.
Matthias Braun [Fri, 29 Jan 2016 22:25:19 +0000 (22:25 +0000)]
AttributeSetImpl: Summarize existing function attributes in a bitset.

The majority of attribute queries checks for the existence of an enum
attribute in the FunctionIndex slot. We only have 48 of those and can
therefore summarize them in an uint64_t bitset which measurably improves
compile time.

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

llvm-svn: 259252

8 years agoAttributeSetNode: Summarize existing attributes in a bitset.
Matthias Braun [Fri, 29 Jan 2016 22:25:13 +0000 (22:25 +0000)]
AttributeSetNode: Summarize existing attributes in a bitset.

The majority of queries just checks for the existince of an enum
attribute.  We only have 48 of those and can summaryiz them in an
uint64_t bitfield so we can avoid searching the list. This improves
"opt" compile time by 1-4% in my measurements.

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

llvm-svn: 259251

8 years agoConsistenly use sizeof(uintX_t) instead of ELFT::Is64Bits ? 8 : 4.
Rui Ueyama [Fri, 29 Jan 2016 22:18:57 +0000 (22:18 +0000)]
Consistenly use sizeof(uintX_t) instead of ELFT::Is64Bits ? 8 : 4.

llvm-svn: 259250

8 years agoAdd comments.
Rui Ueyama [Fri, 29 Jan 2016 22:18:55 +0000 (22:18 +0000)]
Add comments.

llvm-svn: 259249

8 years agoRevert 259242, 259243 -- irrelvante changes pulled in
Xinliang David Li [Fri, 29 Jan 2016 21:26:31 +0000 (21:26 +0000)]
Revert 259242, 259243 -- irrelvante changes pulled in

llvm-svn: 259244

8 years agoUse range for loop
Xinliang David Li [Fri, 29 Jan 2016 21:23:47 +0000 (21:23 +0000)]
Use range for loop

llvm-svn: 259243

8 years agoImprove test speed (interchange loop, reducing padding)
Xinliang David Li [Fri, 29 Jan 2016 21:13:55 +0000 (21:13 +0000)]
Improve test speed (interchange loop, reducing padding)

llvm-svn: 259242

8 years agoAnnotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post...
Yaron Keren [Fri, 29 Jan 2016 20:50:44 +0000 (20:50 +0000)]
Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment.
clang part in r259232, this is the LLVM part of the patch.

llvm-svn: 259240

8 years agoThis patch adds doxygen comments for the intrinsincs in the header file __wmmintrin_p...
Ekaterina Romanova [Fri, 29 Jan 2016 20:37:14 +0000 (20:37 +0000)]
This patch adds doxygen comments for the intrinsincs in the header file __wmmintrin_pclmul.h. The doxygen comments are automatically generated based on Sony's intrinsics document.

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

llvm-svn: 259239

8 years agoReplace code duplications with function calls.
Rui Ueyama [Fri, 29 Jan 2016 20:31:05 +0000 (20:31 +0000)]
Replace code duplications with function calls.

llvm-svn: 259238

8 years agoFixed a couple of places where we were getting the module from a
Jim Ingham [Fri, 29 Jan 2016 20:21:33 +0000 (20:21 +0000)]
Fixed a couple of places where we were getting the module from a
section and using it w/o checking that it was valid.  This can
cause crashes - usually when tearing down a target.

llvm-svn: 259237

8 years ago[InstCombine] avoid an insertelement transformation that induces the opposite extract...
Sanjay Patel [Fri, 29 Jan 2016 20:21:02 +0000 (20:21 +0000)]
[InstCombine] avoid an insertelement transformation that induces the opposite extractelement fold (PR26354)

We would infinite loop because we created a shufflevector that was wider than
needed and then failed to combine that with the insertelement. When subsequently
visiting the extractelement from that shuffle, we see that it's unnecessary,
delete it, and trigger another visit to the insertelement.

llvm-svn: 259236

8 years agoFix this test for the the switch in default for IgnoreBreakpoints in SBFrame.Evaluate...
Jim Ingham [Fri, 29 Jan 2016 20:09:30 +0000 (20:09 +0000)]
Fix this test for the the switch in default for IgnoreBreakpoints in SBFrame.EvaluateExpression.

llvm-svn: 259234

8 years agoELF: Report duplicate symbols as many as possible instead of the first one.
Rui Ueyama [Fri, 29 Jan 2016 19:41:13 +0000 (19:41 +0000)]
ELF: Report duplicate symbols as many as possible instead of the first one.

http://reviews.llvm.org/D16647

llvm-svn: 259233

8 years agoAnnotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post...
Yaron Keren [Fri, 29 Jan 2016 19:38:18 +0000 (19:38 +0000)]
Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment.

llvm-svn: 259232

8 years agoUnbreak windows buildbots
David Majnemer [Fri, 29 Jan 2016 19:38:03 +0000 (19:38 +0000)]
Unbreak windows buildbots

llvm-svn: 259231

8 years ago[CodeView] Implement .cv_inline_linetable
David Majnemer [Fri, 29 Jan 2016 19:24:12 +0000 (19:24 +0000)]
[CodeView] Implement .cv_inline_linetable

This support is _very_ rudimentary, just enough to get some basic data
into the CodeView debug section.

Left to do is:
- Use the combined opcodes to save space.
- Do something about code offsets.

llvm-svn: 259230

8 years agoClass Property: generate metadata for class properties in classes.
Manman Ren [Fri, 29 Jan 2016 19:22:54 +0000 (19:22 +0000)]
Class Property: generate metadata for class properties in classes.

The list of class properties is saved in
Old ABI: cls->isa->ext->properties
New ABI: cls->isa->ro->properties

rdar://23891898

llvm-svn: 259229

8 years agoARM: don't mangle DAG constant if it has more than one use
Tim Northover [Fri, 29 Jan 2016 19:18:46 +0000 (19:18 +0000)]
ARM: don't mangle DAG constant if it has more than one use

The basic optimisation was to convert (mul $LHS, $complex_constant) into
roughly "(shl (mul $LHS, $simple_constant), $simple_amt)" when it was expected
to be cheaper. The original logic checks that the mul only has one use (since
we're mangling $complex_constant), but when used in even more complex
addressing modes there may be an outer addition that can pick up the wrong
value too.

I *think* the ARM addressing-mode problem is actually unreachable at the
moment, but that depends on complex assessments of the profitability of
pre-increment addressing modes so I've put a real check in there instead of an
assertion.

llvm-svn: 259228

8 years agoClass Property: warn for synthesize on a class property.
Manman Ren [Fri, 29 Jan 2016 19:16:39 +0000 (19:16 +0000)]
Class Property: warn for synthesize on a class property.

rdar://23891898

llvm-svn: 259226

8 years agoClass Property: parse @dynamic (class).
Manman Ren [Fri, 29 Jan 2016 19:05:57 +0000 (19:05 +0000)]
Class Property: parse @dynamic (class).

rdar://23891898

llvm-svn: 259224

8 years ago[WebAssembly] Update test expectations
Derek Schuff [Fri, 29 Jan 2016 18:54:38 +0000 (18:54 +0000)]
[WebAssembly] Update test expectations

llvm-svn: 259223

8 years ago[analyzer] Suppress null reports from defensive checks in function-like macros.
Devin Coughlin [Fri, 29 Jan 2016 18:47:13 +0000 (18:47 +0000)]
[analyzer] Suppress null reports from defensive checks in function-like macros.

We already do this for case splits introduced as a result of defensive null
checks in functions and methods, so do the same for function-like macros.

rdar://problem/19640441

llvm-svn: 259222

8 years ago[analyzer] Improve Nullability checker diagnostics
Anna Zaks [Fri, 29 Jan 2016 18:43:15 +0000 (18:43 +0000)]
[analyzer] Improve Nullability checker diagnostics

- Include the position of the argument on which the nullability is violated
- Differentiate between a 'method' and a 'function' in the message wording
- Test for the error message text in the tests
- Fix a bug with setting 'IsDirectDereference' which resulted in regular dereferences assumed to have call context.

llvm-svn: 259221

8 years ago[WebAssembly] Support frame pointer
Derek Schuff [Fri, 29 Jan 2016 18:37:49 +0000 (18:37 +0000)]
[WebAssembly] Support frame pointer

Add support for frame pointer use in prolog/epilog.
Supports dynamic allocas but not yet over-aligned locals.
Target-independend CG generates SP updates, but we still need to write
back the SP value to memory when necessary.

llvm-svn: 259220

8 years ago[X86] Add missing "CHECK" colon in r259065 test.
Ahmed Bougacha [Fri, 29 Jan 2016 18:25:33 +0000 (18:25 +0000)]
[X86] Add missing "CHECK" colon in r259065 test.

llvm-svn: 259219

8 years agoRevert r259210 "Extend hasType narrowing matcher for TypedefDecls, add functionProtoT...
Hans Wennborg [Fri, 29 Jan 2016 18:24:34 +0000 (18:24 +0000)]
Revert r259210 "Extend hasType narrowing matcher for TypedefDecls, add functionProtoType matcher for FunctionProtoType nodes, extend parameterCountIs to FunctionProtoType nodes."

It didn't pass check-clang.

llvm-svn: 259218

8 years ago[codeview] Begin to add support for inlined call sites
Reid Kleckner [Fri, 29 Jan 2016 18:16:43 +0000 (18:16 +0000)]
[codeview] Begin to add support for inlined call sites

Summary:
There are three parts to inlined call frames:
1. The inlinee line subsection
2. The inline site symbol record
3. The function ids referenced by both

This change starts by emitting function ids (3) for all subprograms and
emitting the base inline site symbol record (2). The actual line numbers
in (2) use an encoded format that will come next, along with the inlinee
line subsection.

Reviewers: majnemer

Subscribers: llvm-commits

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

llvm-svn: 259217

8 years agoRevert "fix up missing header from change r259084."
Todd Fiala [Fri, 29 Jan 2016 18:13:30 +0000 (18:13 +0000)]
Revert "fix up missing header from change r259084."

This change was made based on a bad signal from the
Green Dragon LLDB builder.  This change was not needed.
Reverting out r259114.

llvm-svn: 259216

8 years agoFix the build
David Majnemer [Fri, 29 Jan 2016 17:46:57 +0000 (17:46 +0000)]
Fix the build

llvm-svn: 259215

8 years ago[clang-tidy] Don't use delegating constructors, since they are not supported by MSVC...
Alexander Kornienko [Fri, 29 Jan 2016 17:35:53 +0000 (17:35 +0000)]
[clang-tidy] Don't use delegating constructors, since they are not supported by MSVC 2013

llvm-svn: 259214

8 years agoTemporarily revert "[ScheduleDAGInstrs::buildSchedGraph()] Handling of memory depende...
Jonas Paulsson [Fri, 29 Jan 2016 17:22:43 +0000 (17:22 +0000)]
Temporarily revert "[ScheduleDAGInstrs::buildSchedGraph()] Handling of memory dependecies rewritten."

Some buildbot failures needs to be debugged.

llvm-svn: 259213

8 years ago[SLP] Fix printing of debug statement (NFC)
Matthew Simpson [Fri, 29 Jan 2016 17:21:38 +0000 (17:21 +0000)]
[SLP] Fix printing of debug statement (NFC)

llvm-svn: 259212

8 years ago[RS4GC] Address post-commit review on r259208 from David
Sanjoy Das [Fri, 29 Jan 2016 17:20:49 +0000 (17:20 +0000)]
[RS4GC] Address post-commit review on r259208 from David

NFC

llvm-svn: 259211

8 years agoExtend hasType narrowing matcher for TypedefDecls, add functionProtoType matcher...
Aaron Ballman [Fri, 29 Jan 2016 17:03:11 +0000 (17:03 +0000)]
Extend hasType narrowing matcher for TypedefDecls, add functionProtoType matcher for FunctionProtoType nodes, extend parameterCountIs to FunctionProtoType nodes.

Patch by Richard Thomson

llvm-svn: 259210

8 years ago[RS4GC] Remove unnecessary const_cast; NFC
Sanjoy Das [Fri, 29 Jan 2016 16:54:49 +0000 (16:54 +0000)]
[RS4GC] Remove unnecessary const_cast; NFC

GCRelocateInst::getDerivedPtr already returns a non-const llvm::Value
pointer.

llvm-svn: 259209

8 years ago[RS4GC] Minor local cleanup to StabilizeOrder; NFC
Sanjoy Das [Fri, 29 Jan 2016 16:50:34 +0000 (16:50 +0000)]
[RS4GC] Minor local cleanup to StabilizeOrder; NFC

 - Locally declare struct, and call it BaseDerivedPair
 - Use a lambda to compare, instead of a singleton with uninitialized
   fields
 - Add a constructor to BaseDerivedPair and use SmallVector::emplace_back

llvm-svn: 259208

8 years ago[CodeView] Fix dumping the is_stmt bit from the line table
Reid Kleckner [Fri, 29 Jan 2016 16:39:04 +0000 (16:39 +0000)]
[CodeView] Fix dumping the is_stmt bit from the line table

Bug pointed out by George Rimar.

llvm-svn: 259205

8 years ago[RS4GC] Remove unnecessary redirections from tests; NFC
Sanjoy Das [Fri, 29 Jan 2016 16:32:30 +0000 (16:32 +0000)]
[RS4GC] Remove unnecessary redirections from tests; NFC

llvm-svn: 259204

8 years ago[RS4GC] Add some missing tests and CHECK: lines
Sanjoy Das [Fri, 29 Jan 2016 16:32:25 +0000 (16:32 +0000)]
[RS4GC] Add some missing tests and CHECK: lines

I missed porting these in rL259129.

llvm-svn: 259203

8 years ago[mips] Absolute value macro expansion
Zoran Jovanovic [Fri, 29 Jan 2016 16:18:34 +0000 (16:18 +0000)]
[mips] Absolute value macro expansion

Author: obucina
Reviewers: dsanders
Differential Revision: http://reviews.llvm.org/D16323

llvm-svn: 259202

8 years ago[ScheduleDAGInstrs::buildSchedGraph()] Handling of memory dependecies rewritten.
Jonas Paulsson [Fri, 29 Jan 2016 16:11:18 +0000 (16:11 +0000)]
[ScheduleDAGInstrs::buildSchedGraph()] Handling of memory dependecies rewritten.

The buildSchedGraph() was in need of reworking as the AA features had been
added on top of earlier code. It was very difficult to understand, and buggy.
There had been found cases where scheduling dependencies had actually been
missed (see r228686).

AliasChain, RejectMemNodes, adjustChainDeps() and iterateChainSucc() have
been removed. There are instead now just the four maps from Value to SUs, which
have been renamed to Stores, Loads, NonAliasStores and NonAliasLoads.

An unknown store used to become the AliasChain, but now becomes a store mapped
to 'unknownValue' (in Stores). What used to be PendingLoads is instead the
list of SUs mapped to 'unknownValue' in Loads.

RejectMemNodes and adjustChainDeps() used to be a safety-net for everything.
The SU maps were sometimes cleared and SUs were put in RejectMemNodes, where
adjustChainDeps() would look. Instead of this, a more straight forward approach
is used in maintaining the SU maps without clearing them and simply letting
them grow over time. Instead of the cutt-off in adjustChainDeps() search, a
reduction of maps will be done if needed (see below).

Each SUnit either becomes the BarrierChain, or is put into one of the maps. For
each SUnit encountered, all the information about previous ones are still
available until a new BarrierChain is set, at which point the maps are cleared.

For huge regions, the algorithm becomes slow, therefore the maps will get
reduced at a threshold (current default is 1000 nodes), by a fraction (default 1/2).
These values can be tuned by use of CL options in case some test case shows that
they need to be changed (-dag-maps-huge-region and -dag-maps-reduction-size).

There has not been any considerable change observed in output quality or compile
time. There may now be more DAG edges inserted than before (i.e. if A->B->C,
then A->C is not needed). However, in a comparison run there were fewer total
calls to AA, and a somewhat improved compile time, which means this seems to
be not a problem.

http://reviews.llvm.org/D8705
Reviewers: Hal Finkel, Andy Trick.

llvm-svn: 259201

8 years ago[clang-tidy] ForRangeCopyCheck that warns on and fixes unnecessary copies of loop...
Alexander Kornienko [Fri, 29 Jan 2016 15:54:26 +0000 (15:54 +0000)]
[clang-tidy] ForRangeCopyCheck that warns on and fixes unnecessary copies of loop variables.

Patch by Felix Berger!

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

llvm-svn: 259199

8 years ago[clang-tidy] Fix minor style issues. NFC
Alexander Kornienko [Fri, 29 Jan 2016 15:22:20 +0000 (15:22 +0000)]
[clang-tidy] Fix minor style issues. NFC

llvm-svn: 259198

8 years agoFixed function params comparison. Updated docs and tests.
Alexander Kornienko [Fri, 29 Jan 2016 15:22:10 +0000 (15:22 +0000)]
Fixed function params comparison. Updated docs and tests.

Summary: "checkParamTypes" may fail if the the type of some parameter is not canonical. Fixed it by comparing canonical types. And added "getCanonicalType()" and "getCanonicalDecl()" on more places to prevent potential fail.

Reviewers: alexfh

Subscribers: cfe-commits

Patch by Cong Liu!

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

llvm-svn: 259197

8 years ago[clang-tidy] Fix style issues. NFC
Alexander Kornienko [Fri, 29 Jan 2016 15:21:43 +0000 (15:21 +0000)]
[clang-tidy] Fix style issues. NFC

llvm-svn: 259196

8 years ago[clang-tidy] Move implicit-cast-in-loop check to upstream.
Alexander Kornienko [Fri, 29 Jan 2016 15:21:32 +0000 (15:21 +0000)]
[clang-tidy] Move implicit-cast-in-loop check to upstream.

Summary: This is implemented originally by Alex Pilkiewicz (pilki@google.com).

Reviewers: alexfh

Subscribers: cfe-commits

Patch by Haojian Wu!

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

llvm-svn: 259195

8 years agoRemoving unnecessary casts; NFC.
Aaron Ballman [Fri, 29 Jan 2016 13:53:26 +0000 (13:53 +0000)]
Removing unnecessary casts; NFC.

llvm-svn: 259194

8 years ago[libcxx] Whitelist inclusion of sysctl.h instead of blacklisting
Ben Craig [Fri, 29 Jan 2016 13:53:23 +0000 (13:53 +0000)]
[libcxx] Whitelist inclusion of sysctl.h instead of blacklisting

Instead of excluding all known operating systems that are not derived from BSD,
I now include all operating systems that claim to be derived from BSD.
Hopefully, that will make it so that this check doesn't need to change for
every new operating system that comes along.

http://reviews.llvm.org/D16634

llvm-svn: 259193

8 years agoImplement TemplateArgument::dump() method for debugging, patterned after TemplateName...
Yaron Keren [Fri, 29 Jan 2016 13:46:15 +0000 (13:46 +0000)]
Implement TemplateArgument::dump() method for debugging, patterned after TemplateName::dump().

llvm-svn: 259192

8 years ago[IR] Move definitions of users of Use::set to Value.h
Benjamin Kramer [Fri, 29 Jan 2016 12:47:05 +0000 (12:47 +0000)]
[IR] Move definitions of users of Use::set to Value.h

Still ugly, but at least Use.h is self-contained again.

llvm-svn: 259191

8 years ago[IR] Shuffle the code for getSequentialElementType to type.h to avoid circular header...
Benjamin Kramer [Fri, 29 Jan 2016 12:47:01 +0000 (12:47 +0000)]
[IR] Shuffle the code for getSequentialElementType to type.h to avoid circular header dependencies.

llvm-svn: 259190

8 years agoFix crash in lldb-mi when stack variable name is nullptr. This always happens when...
Eugene Leviant [Fri, 29 Jan 2016 12:17:09 +0000 (12:17 +0000)]
Fix crash in lldb-mi when stack variable name is nullptr. This always happens when execution stops in try scope with unnamed catch clause

llvm-svn: 259189

8 years agoFix linking of lldb-server with BUILD_SHARED_LIBS
Pavel Labath [Fri, 29 Jan 2016 11:59:57 +0000 (11:59 +0000)]
Fix linking of lldb-server with BUILD_SHARED_LIBS

Summary:
The BUILD_SHARED_LIBS branch of lldb-server link flags was hopelessly broken, at least since we
started restricting the symbols exported by liblldb. lldb-server depends on symbols from the
lldb_private namespace, so it cannot link to the public interface of liblldb. Instead I make it
link to the individual libraries constituting liblldb, just like it does in the
!BUILD_SHARED_LIBS case.

This does not make the BUILD_SHARED_LIBS build of lldb fully functional yet, due to the way
liblldb dependencies are managed, but it's a step in that direction.

Reviewers: zturner, tfiala

Subscribers: lldb-commits

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

llvm-svn: 259188

8 years agoAdd an optional ToolName argument to runToolOnCodeWithArgs/buildASTFromCodeWithArgs.
Benjamin Kramer [Fri, 29 Jan 2016 11:29:02 +0000 (11:29 +0000)]
Add an optional ToolName argument to runToolOnCodeWithArgs/buildASTFromCodeWithArgs.

This can be used as a way to modify argv[0] for a clang tool.

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

llvm-svn: 259187

8 years agoReplace StringRef with std::string in LinkerDriver::addLibrary(StringRef Name) becaus...
George Rimar [Fri, 29 Jan 2016 10:52:52 +0000 (10:52 +0000)]
Replace StringRef with std::string in LinkerDriver::addLibrary(StringRef Name) because std::string is destroyed after assigning what fills the buffer with garbage and StringRef is no more valid.
That fixes few failing tests under windows+msvs2015(debug).

llvm-svn: 259186

8 years agoIgnore breakpoints by default in SBFrame::EvaluateExpression
Eugene Leviant [Fri, 29 Jan 2016 10:48:11 +0000 (10:48 +0000)]
Ignore breakpoints by default in SBFrame::EvaluateExpression

llvm-svn: 259185

8 years agoAdd target triple to CodeGenOpenCL/pipe_types.cl test case
Ulrich Weigand [Fri, 29 Jan 2016 10:45:23 +0000 (10:45 +0000)]
Add target triple to CodeGenOpenCL/pipe_types.cl test case

The test is failing on SystemZ since different IR is being
generated due to platform ABI differences.  Add a target triple.

Fix suggested by Anastasia Stulova.

llvm-svn: 259183

8 years ago[ARM] Emit trap instruction using .inst directive
Alexandros Lamprineas [Fri, 29 Jan 2016 10:23:32 +0000 (10:23 +0000)]
[ARM] Emit trap instruction using .inst directive

The trap instruction is emitted as a data-in-text rather
than an instruction. This patch uses the .inst directive
for emitting trap.

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

llvm-svn: 259182

8 years ago[RenderScript] Remove unused RS command
Ewan Crawford [Fri, 29 Jan 2016 10:11:03 +0000 (10:11 +0000)]
[RenderScript] Remove unused RS command

Patch deletes the 'language renderscript module probe' command.
This command was present in the initial commit to help debug the plugin.
However we haven't used it recently and it's functionality is unclear, so can be removed entirely.

Also add back 'kernel coordinate' command, removed by accident in clang format patch r259056.

llvm-svn: 259181

8 years agoAMDGPU: Remove 24-bit intrinsics
Matt Arsenault [Fri, 29 Jan 2016 10:05:16 +0000 (10:05 +0000)]
AMDGPU: Remove 24-bit intrinsics

The known bit matching code seems to work reasonably well,
so these shouldn't really be needed.

llvm-svn: 259180

8 years agoMinor bugfix in AAResults::getModRefInfo.
George Burgess IV [Fri, 29 Jan 2016 07:51:15 +0000 (07:51 +0000)]
Minor bugfix in AAResults::getModRefInfo.

Also removed a few redundant `else`s.

Bug was found by a test I wrote for MemorySSA (in review at
http://reviews.llvm.org/D7864; shiny update coming soon). So, assuming
that lands at some point, this should be covered by that. If anyone
feels this deserves its own explicit test case, please let me know.
I'll write one.

llvm-svn: 259179

8 years agoRefactor common code for PPC fast isel load immediate selection.
Eric Christopher [Fri, 29 Jan 2016 07:20:30 +0000 (07:20 +0000)]
Refactor common code for PPC fast isel load immediate selection.

llvm-svn: 259178

8 years agoSince LI/LIS sign extend the constant passed into the instruction we should
Eric Christopher [Fri, 29 Jan 2016 07:20:01 +0000 (07:20 +0000)]
Since LI/LIS sign extend the constant passed into the instruction we should
check that the sign extended constant fits into 16-bits if we want a
zero extended value, otherwise go ahead and put it together piecemeal.

Fixes PR26356.

llvm-svn: 259177

8 years agoFix up conditional formatting.
Eric Christopher [Fri, 29 Jan 2016 07:19:49 +0000 (07:19 +0000)]
Fix up conditional formatting.

llvm-svn: 259176

8 years ago[llvm-bcanalyzer] Dump bitcode wrapper header
Akira Hatanaka [Fri, 29 Jan 2016 05:55:09 +0000 (05:55 +0000)]
[llvm-bcanalyzer] Dump bitcode wrapper header

This patch enables llvm-bcanalyzer to print the bitcode wrapper header
if the file has one, which is needed to test the changes made in
r258627 (bitcode-wrapper-header-armv7m.ll is the test case for r258627).

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

llvm-svn: 259162

8 years ago[WinEH] Don't perform state stores in cleanups
David Majnemer [Fri, 29 Jan 2016 05:33:15 +0000 (05:33 +0000)]
[WinEH] Don't perform state stores in cleanups

Our cleanups do not support true lexical nesting of funclets which
obviates the need to perform state stores.

This fixes PR26361.

llvm-svn: 259161

8 years ago[Concepts] Implement a portion of Concepts TS[dcl.spec.concept]p5 and p6:
Nathan Wilson [Fri, 29 Jan 2016 04:43:59 +0000 (04:43 +0000)]
[Concepts] Implement a portion of Concepts TS[dcl.spec.concept]p5 and p6:
Diagnose if the return type of a function concept or declaration type of a
variable concept is not bool.

Reviewers: hubert.reinterpretcast

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

llvm-svn: 259159

8 years agoRemove a parameter from Target::writePlt.
Rui Ueyama [Fri, 29 Jan 2016 04:15:02 +0000 (04:15 +0000)]
Remove a parameter from Target::writePlt.

llvm-svn: 259158

8 years agoELF: Provide default implemenatations for simple functions.
Rui Ueyama [Fri, 29 Jan 2016 04:05:09 +0000 (04:05 +0000)]
ELF: Provide default implemenatations for simple functions.

llvm-svn: 259157

8 years agoRemove unnecessary forward declaration. NFC
Craig Topper [Fri, 29 Jan 2016 04:01:09 +0000 (04:01 +0000)]
Remove unnecessary forward declaration. NFC

llvm-svn: 259156

8 years agoDefine stub functions instead of pure virtual functions.
Rui Ueyama [Fri, 29 Jan 2016 03:51:51 +0000 (03:51 +0000)]
Define stub functions instead of pure virtual functions.

To remove empty functions.

llvm-svn: 259155

8 years agoELF: Do not pass addresses that can be obtained using Out.
Rui Ueyama [Fri, 29 Jan 2016 03:51:49 +0000 (03:51 +0000)]
ELF: Do not pass addresses that can be obtained using Out.

llvm-svn: 259154

8 years agoFix TestDataFormatterScript for Linux.
Chaoren Lin [Fri, 29 Jan 2016 03:48:08 +0000 (03:48 +0000)]
Fix TestDataFormatterScript for Linux.

Summary:
m_function_name will contain a dummy name for the auto-generated function from
the python script on Linux. Check for script name first.

Reviewers: granata.enrico

Subscribers: lldb-commits

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

llvm-svn: 259153

8 years agoSmallPtrSetTest: More checks for the swap() testing
Matthias Braun [Fri, 29 Jan 2016 03:34:36 +0000 (03:34 +0000)]
SmallPtrSetTest: More checks for the swap() testing

llvm-svn: 259152

8 years agoSmallPtrSetTest: Check that iterators are still valid after erase()
Matthias Braun [Fri, 29 Jan 2016 03:34:34 +0000 (03:34 +0000)]
SmallPtrSetTest: Check that iterators are still valid after erase()

llvm-svn: 259151

8 years agoRename PltZeroEntrySize -> PltZeroSize.
Rui Ueyama [Fri, 29 Jan 2016 03:00:32 +0000 (03:00 +0000)]
Rename PltZeroEntrySize -> PltZeroSize.

This patch also fixes parameter name. They points to the beginning
of PLT or GOT tables, so GotAddr or PltAddr are better.)

llvm-svn: 259150

8 years agoAdd a comment.
Rui Ueyama [Fri, 29 Jan 2016 03:00:30 +0000 (03:00 +0000)]
Add a comment.

llvm-svn: 259149

8 years agoRevert "Reapply commit r258404 with fix"
David Majnemer [Fri, 29 Jan 2016 02:43:22 +0000 (02:43 +0000)]
Revert "Reapply commit r258404 with fix"

This reverts commit r258929, it caused PR26364.

llvm-svn: 259148

8 years agoELF: Make Target's member function names shorter.
Rui Ueyama [Fri, 29 Jan 2016 02:33:45 +0000 (02:33 +0000)]
ELF: Make Target's member function names shorter.

llvm-svn: 259147

8 years agoFix some -Wstring-conversion warnings
David Blaikie [Fri, 29 Jan 2016 02:23:13 +0000 (02:23 +0000)]
Fix some -Wstring-conversion warnings

I don't seem to see these locally, maybe just need to update my
compiler, or we haven't turned them on for LLVM's build and we should...

llvm-svn: 259146

8 years ago[GVN] Add clarifying assert [NFCI]
Philip Reames [Fri, 29 Jan 2016 02:23:10 +0000 (02:23 +0000)]
[GVN] Add clarifying assert [NFCI]

Just adding an assert which makes invariants between AnalyzeLoadsFromClobberingLoads and GetLoadValueForLoad slightly more clear.

llvm-svn: 259145

8 years agoRename includeInDynamicSymtab -> includeInDynsym.
Rui Ueyama [Fri, 29 Jan 2016 02:17:01 +0000 (02:17 +0000)]
Rename includeInDynamicSymtab -> includeInDynsym.

llvm-svn: 259144

8 years agoELF: Report multiple errors from the driver.
Rui Ueyama [Fri, 29 Jan 2016 01:54:52 +0000 (01:54 +0000)]
ELF: Report multiple errors from the driver.

This patch let the driver keep going until it parses all
command line options.

http://reviews.llvm.org/D16645

llvm-svn: 259143

8 years agoRename DynamicSymbolTableIndex -> DynsymIndex.
Rui Ueyama [Fri, 29 Jan 2016 01:49:33 +0000 (01:49 +0000)]
Rename DynamicSymbolTableIndex -> DynsymIndex.

This is the index in .dynsym, so the new name should make sense.

llvm-svn: 259142

8 years agoELF: Remove accessors from Target.
Rui Ueyama [Fri, 29 Jan 2016 01:49:32 +0000 (01:49 +0000)]
ELF: Remove accessors from Target.

These accessors do not provide values. We can simply make the variables public.

llvm-svn: 259141

8 years agoRemove unused variable.
Rui Ueyama [Fri, 29 Jan 2016 01:49:29 +0000 (01:49 +0000)]
Remove unused variable.

llvm-svn: 259140

8 years agoMinor code cleanup. NFC.
Junmo Park [Fri, 29 Jan 2016 01:39:39 +0000 (01:39 +0000)]
Minor code cleanup. NFC.

llvm-svn: 259139

8 years agoAdd the clang debug info test directory to .gitignore as it's managed separately.
Eric Christopher [Fri, 29 Jan 2016 01:35:55 +0000 (01:35 +0000)]
Add the clang debug info test directory to .gitignore as it's managed separately.

llvm-svn: 259138

8 years agoUse a consistent spelling for vtables.
Eric Christopher [Fri, 29 Jan 2016 01:35:53 +0000 (01:35 +0000)]
Use a consistent spelling for vtables.

llvm-svn: 259137

8 years agoMerge identical strings.
Rafael Espindola [Fri, 29 Jan 2016 01:24:25 +0000 (01:24 +0000)]
Merge identical strings.

This avoids the need to have reserve and addString in sync.

We avoid hashing the global symbols again. This means that we don't
merge a global symbol that has the same name as some other string, but
that doesn't seem very common. The string table size is the same in
clang an scylladb with or without hashing global symbols again.

llvm-svn: 259136

8 years agoFix a bug where type <formatter> list would ignore the -w argument
Enrico Granata [Fri, 29 Jan 2016 01:12:13 +0000 (01:12 +0000)]
Fix a bug where type <formatter> list would ignore the -w argument

rdar://24379879

llvm-svn: 259135

8 years ago[AArch64] Fix i64 nontemporal high-half extraction.
Ahmed Bougacha [Fri, 29 Jan 2016 01:08:41 +0000 (01:08 +0000)]
[AArch64] Fix i64 nontemporal high-half extraction.

Since we only have pair - not single - nontemporal store instructions,
we have to extract the high part into a separate register to be able
to use them.

When the initial nontemporal codegen support was added, I wrote the
extract using the nonsensical UBFX [0,32[.
Use the correct LSR form instead.

llvm-svn: 259134

8 years ago[RS4GC] Minor cleanups enabled by the previous change; NFC
Sanjoy Das [Fri, 29 Jan 2016 01:03:20 +0000 (01:03 +0000)]
[RS4GC] Minor cleanups enabled by the previous change; NFC

llvm-svn: 259133

8 years ago[RS4GC] Delete code that is dead due to r259129; NFC
Sanjoy Das [Fri, 29 Jan 2016 01:03:17 +0000 (01:03 +0000)]
[RS4GC] Delete code that is dead due to r259129; NFC

llvm-svn: 259132

8 years agoFix a bug where LLDB would not print the name of the function that a scripted summary...
Enrico Granata [Fri, 29 Jan 2016 00:56:52 +0000 (00:56 +0000)]
Fix a bug where LLDB would not print the name of the function that a scripted summary is bound to

rdar://24380076

llvm-svn: 259131

8 years agoReland "[CodeView] Use assembler directives for line tables"
Reid Kleckner [Fri, 29 Jan 2016 00:49:42 +0000 (00:49 +0000)]
Reland "[CodeView] Use assembler directives for line tables"

This reverts commit r259126 and relands r259117.

This time with updated library dependencies.

llvm-svn: 259130

8 years ago[RS4GC] Clamp UseDeoptBundles to true and update tests
Sanjoy Das [Fri, 29 Jan 2016 00:28:57 +0000 (00:28 +0000)]
[RS4GC] Clamp UseDeoptBundles to true and update tests

The full diff for the test directory may be hard to read because of the
filename clash; so here's all that happened as far as the tests are
concerned:

```
cd test/Transforms/RewriteStatepointsForGC
git rm *ll
git mv deopt-bundles/* ./
rmdir deopt-bundles
find . -name '*.ll' | xargs gsed -i 's/-rs4gc-use-deopt-bundles //g'
```

llvm-svn: 259129

8 years agoRename isTlsOptimized -> canRelaxTls.
Rui Ueyama [Fri, 29 Jan 2016 00:20:12 +0000 (00:20 +0000)]
Rename isTlsOptimized -> canRelaxTls.

This function is a predicate that a given relocation can be relaxed.
The previous name implied that it returns true if a given relocation
has already been optimized away.

llvm-svn: 259128