platform/upstream/llvm.git
9 years agoclang-format: [JS] Fix incorrect detection of ternary expressions.
Daniel Jasper [Wed, 27 May 2015 05:37:40 +0000 (05:37 +0000)]
clang-format: [JS] Fix incorrect detection of ternary expressions.

A definintion like this could not be formatted at all:
  constructor({aa}: {
    aa?: string,
    aaaaaaaa?: string,
    aaaaaaaaaaaaaaa?: boolean,
    aaaaaa?: List<string>
  }) {
  }

llvm-svn: 238291

9 years agoUse value semantics for list of ScopStmt(s) instead of std::owningptr
Tobias Grosser [Wed, 27 May 2015 05:16:57 +0000 (05:16 +0000)]
Use value semantics for list of ScopStmt(s) instead of std::owningptr

David Blaike suggested this as an alternative to the use of owningptr(s) for our
memory management, as value semantics allow to avoid the additional interface
complexity caused by owningptr while still providing similar memory consistency
guarantees. We could also have used a std::vector, but the use of std::vector
would yield possibly changing pointers which currently causes problems as for
example the memory accesses carry pointers to their parent statements. Such
pointers should not change.

Reviewer: jblaikie, jdoerfert

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

llvm-svn: 238290

9 years agoARMLoadStoreOptimizer: Code cleanup; NFC
Matthias Braun [Wed, 27 May 2015 05:12:40 +0000 (05:12 +0000)]
ARMLoadStoreOptimizer: Code cleanup; NFC

llvm-svn: 238289

9 years agoMachineBasicBlock: Cleanup computeRegisterLiveness()
Matthias Braun [Wed, 27 May 2015 05:12:39 +0000 (05:12 +0000)]
MachineBasicBlock: Cleanup computeRegisterLiveness()

- Clean documentation comment
- Change the API to accept an iterator so you can actually pass
  MachineBasicBlock::end() now.
- Add more "const".

llvm-svn: 238288

9 years agoMCSymbol: Make print() robust against empty names
Matthias Braun [Wed, 27 May 2015 05:12:37 +0000 (05:12 +0000)]
MCSymbol: Make print() robust against empty names

This shouldn't happen, but it's nice not to abort when printing broken machine
functions.

llvm-svn: 238287

9 years agoAdd support for custom commands to set flags on themselves
Enrico Granata [Wed, 27 May 2015 05:04:35 +0000 (05:04 +0000)]
Add support for custom commands to set flags on themselves
This works for Python commands defined via a class (implement get_flags on your class) and C++ plugin commands (which can call SBCommand::GetFlags()/SetFlags())

Flags allow features such as not letting the command run if there's no target, or if the process is not stopped, ...
Commands could always check for these things themselves, but having these accessible via flags makes custom commands more consistent with built-in ones

llvm-svn: 238286

9 years agoclang-format: Fix false positive in function annotation detection.
Daniel Jasper [Wed, 27 May 2015 04:55:47 +0000 (04:55 +0000)]
clang-format: Fix false positive in function annotation detection.

llvm-svn: 238285

9 years agowww - updated build server URLs
Vince Harron [Wed, 27 May 2015 04:55:31 +0000 (04:55 +0000)]
www - updated build server URLs

llvm-svn: 238284

9 years agoChanged Flags::clang_type_resolve_state to unsigned for gcc
Vince Harron [Wed, 27 May 2015 04:54:36 +0000 (04:54 +0000)]
Changed Flags::clang_type_resolve_state to unsigned for gcc

to work around a very noisy gcc warning

llvm-svn: 238283

9 years agotest Makefile.rules - pick a more sensible default CC on Linux
Vince Harron [Wed, 27 May 2015 04:42:54 +0000 (04:42 +0000)]
test Makefile.rules - pick a more sensible default CC on Linux

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

llvm-svn: 238282

9 years agodosep - force timeout processes to dump core when they timeout
Vince Harron [Wed, 27 May 2015 04:40:36 +0000 (04:40 +0000)]
dosep - force timeout processes to dump core when they timeout

move all core files to the session dir after all tests have completed

TEST PLAN
Run tests. Force a timeout by decreasing a timeout
export LLDB_EVENTS_TIMEOUT=10s
./dosep.py

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

llvm-svn: 238281

9 years agoAllow clients to get parsing errors and also fix the ApplePropertyList so it parses...
Greg Clayton [Wed, 27 May 2015 03:24:17 +0000 (03:24 +0000)]
Allow clients to get parsing errors and also fix the ApplePropertyList so it parses the structured data correctly.

llvm-svn: 238280

9 years agoMake StructureData objects dump themselves with correct indentation.
Greg Clayton [Wed, 27 May 2015 03:23:26 +0000 (03:23 +0000)]
Make StructureData objects dump themselves with correct indentation.

llvm-svn: 238279

9 years agoAdd StructuredData.h to the Xcode project.
Greg Clayton [Wed, 27 May 2015 03:22:42 +0000 (03:22 +0000)]
Add StructuredData.h to the Xcode project.

llvm-svn: 238278

9 years agoObject/COFF: Add accessors for import header bitfields.
Rui Ueyama [Wed, 27 May 2015 02:55:04 +0000 (02:55 +0000)]
Object/COFF: Add accessors for import header bitfields.

llvm-svn: 238277

9 years ago[inliner] Fix the early-exit of the inline cost analysis to correctly
Chandler Carruth [Wed, 27 May 2015 02:49:05 +0000 (02:49 +0000)]
[inliner] Fix the early-exit of the inline cost analysis to correctly
model the dense vector instruction bonuses.

Previously, this code really didn't effectively compute the density of
inlined vector instructions and apply the intended inliner bonus. It
would try to compute it repeatedly while analyzing the function and
didn't handle the case where future vector instructions would tip the
scales back towards the bonus.

Instead, speculatively apply all possible bonuses to the threshold
initially. Once we *know* that a certain bonus can not be applied,
subtract it. This should delay early bailout enough to get much more
consistent results without actually causing us to analyze huge swaths of
code. I expect some (hopefully mild) compile time hit here, and some
swings in performance, but this was definitely the intended behavior of
these bonuses.

This also dramatically simplifies the computation of the bonuses to not
interact with each other in confusing ways. The previous code didn't do
a good job of this and the values for bonuses may be surprising but are
at least now clearly written in the code.

Finally, fix code to be in line with comments and use zero as the
bailout condition.

Patch by Easwaran Raman, with some comment tweaks by me to try and
further clarify what is going on with this code.

http://reviews.llvm.org/D8267

llvm-svn: 238276

9 years agoObject/COFF: Add coff_import_header.
Rui Ueyama [Wed, 27 May 2015 02:40:20 +0000 (02:40 +0000)]
Object/COFF: Add coff_import_header.

This type is described in the PE/COFF spec section 7.1.

llvm-svn: 238275

9 years agoImplement and use adb push for PlatformAndroid::PutFile
Robert Flack [Wed, 27 May 2015 02:18:50 +0000 (02:18 +0000)]
Implement and use adb push for PlatformAndroid::PutFile

Using the adb push protocol is significantly faster than the current method of
sending the hex encoded file data for the remote to write to the file.

Test Plan:
Tests continue to pass - and much faster (e.g. TestSBValuePersist.py takes 10s
down from 4m51s on mac -> android)

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

llvm-svn: 238274

9 years agoGet thread sleep_for test passing in C++03
Eric Fiselier [Wed, 27 May 2015 01:09:51 +0000 (01:09 +0000)]
Get thread sleep_for test passing in C++03

llvm-svn: 238273

9 years ago[BitcodeReader] Change assert to report_fatal_error
Filipe Cabecinhas [Wed, 27 May 2015 01:05:40 +0000 (01:05 +0000)]
[BitcodeReader] Change assert to report_fatal_error

It can be triggered by user input.

Bug found with AFL fuzz.

llvm-svn: 238272

9 years agoMark __convert_to_integral test as XFAIL in c++03
Eric Fiselier [Wed, 27 May 2015 01:02:51 +0000 (01:02 +0000)]
Mark __convert_to_integral test as XFAIL in c++03

llvm-svn: 238271

9 years agoCleanup move/forward tests and remove references to __rv.
Eric Fiselier [Wed, 27 May 2015 00:51:08 +0000 (00:51 +0000)]
Cleanup move/forward tests and remove references to __rv.

llvm-svn: 238270

9 years ago[BitstreamReader] Make sure the Array operand type is an encoding
Filipe Cabecinhas [Wed, 27 May 2015 00:48:43 +0000 (00:48 +0000)]
[BitstreamReader] Make sure the Array operand type is an encoding

Bug found with AFL fuzz.

llvm-svn: 238269

9 years agoclang-format a couple of lines
Filipe Cabecinhas [Wed, 27 May 2015 00:48:37 +0000 (00:48 +0000)]
clang-format a couple of lines

llvm-svn: 238268

9 years agoAdd test macros header to remove dependance on __config macros.
Eric Fiselier [Wed, 27 May 2015 00:28:30 +0000 (00:28 +0000)]
Add test macros header to remove dependance on __config macros.

llvm-svn: 238267

9 years agoclang-cl: Handle dll attributes in explicit class template specialization definitions...
Hans Wennborg [Wed, 27 May 2015 00:06:45 +0000 (00:06 +0000)]
clang-cl: Handle dll attributes in explicit class template specialization definitions (PR23667)

Previously, we wouldn't call checkDLLAttribute() after the class template
specialization definition if the class template was already instantiated
by an explicit class template specialization declaration.

llvm-svn: 238266

9 years ago[BitcodeReader] Make sure abbrev records have at least one operand (record code)
Filipe Cabecinhas [Tue, 26 May 2015 23:52:21 +0000 (23:52 +0000)]
[BitcodeReader] Make sure abbrev records have at least one operand (record code)

Bug found with AFL fuzz.

llvm-svn: 238265

9 years agoAdd initial support for the convergent attribute.
Owen Anderson [Tue, 26 May 2015 23:48:40 +0000 (23:48 +0000)]
Add initial support for the convergent attribute.

llvm-svn: 238264

9 years agoMake sure !empty() before calling String::front().
Chaoren Lin [Tue, 26 May 2015 23:14:26 +0000 (23:14 +0000)]
Make sure !empty() before calling String::front().

Reviewers: howard.hinnant

Subscribers: cfe-commits

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

llvm-svn: 238263

9 years agoAdd 'qXfer:features:read' to known stub list
Ying Chen [Tue, 26 May 2015 23:08:09 +0000 (23:08 +0000)]
Add 'qXfer:features:read' to known stub list

Summary:
-Fix darwin bot failure "unknown qSupported stub feature reported: qXfer:features:read"
-TestGdbRemoteAuxvSupport.py and TestLldbGdbServer.py were affected by this problem

Test Plan:
dotest.py -m --executable /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/lldb --framework /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/LLDB.framework -A x86_64 -C clang -p TestLldbGdbServer.py
dotest.py -m --executable /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/lldb --framework /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/LLDB.framework -A x86_64 -C clang -p TestGdbRemoteAuxvSupport.py

Reviewers: clayborg, sivachandra, vharron

Subscribers: lldb-commits

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

llvm-svn: 238262

9 years ago[BitcodeReader] Sanity check on Comdat ID
Filipe Cabecinhas [Tue, 26 May 2015 23:00:56 +0000 (23:00 +0000)]
[BitcodeReader] Sanity check on Comdat ID

Shouldn't be an assert, since user input can trigger it.

Bug found with AFL fuzz.

llvm-svn: 238261

9 years agoModify the ApplePropertyList to be able to create StructuredData objects from the...
Greg Clayton [Tue, 26 May 2015 22:49:19 +0000 (22:49 +0000)]
Modify the ApplePropertyList to be able to create StructuredData objects from the plist XML.

llvm-svn: 238260

9 years ago[MS ABI, DebugInfo] Omit the size for model-less pointers-to-members
David Majnemer [Tue, 26 May 2015 21:54:24 +0000 (21:54 +0000)]
[MS ABI, DebugInfo] Omit the size for model-less pointers-to-members

The representation of a pointer-to-member in the MS ABI is governed by
the layout of the relevant class or if a model has been explicitly
specified.  If no model is specified, then an appropriate
"worst-case-scenario" model is implicitly chosen if, and only, if the
pointer-to-member type's representation was needed.

Debug info cannot force a pointer-to-member type to have a
representation so do not try to query the size of such a type unless we
know it is safe to do so.

llvm-svn: 238259

9 years ago[ELF/AArch64] Fix local TLS relocations
Adhemerval Zanella [Tue, 26 May 2015 21:49:39 +0000 (21:49 +0000)]
[ELF/AArch64] Fix local TLS relocations

This patch fixes the R_AARCH64_TLSLE_ADD_TPREL_HI12 and R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
handling by using the correct offset by using the target layout along with
aarch64 alignments requirements.

It fixes the TLS test-suite SingleSource failures for aarch64:

* SingleSource/UnitTests/Threads/2010-12-08-tls.execution_time
* SingleSource/UnitTests/Threads/tls.execution_time

llvm-svn: 238258

9 years agoDrop unnecessary 'this->' pointers
Tobias Grosser [Tue, 26 May 2015 21:37:31 +0000 (21:37 +0000)]
Drop unnecessary 'this->' pointers

llvm-svn: 238257

9 years ago[CodeGen] Handle flexible array members containing pointers to members
David Majnemer [Tue, 26 May 2015 21:28:50 +0000 (21:28 +0000)]
[CodeGen] Handle flexible array members containing pointers to members

Types can be classified as being zero-initializable or
non-zero-initializable.  We used to classify array types by giving them
the classification of their base element type.  However, incomplete
array types are never initialized directly and thus are always
zero-initializable.

llvm-svn: 238256

9 years agoclang-format TargetRegistry.h. NFC.
Rafael Espindola [Tue, 26 May 2015 21:18:29 +0000 (21:18 +0000)]
clang-format TargetRegistry.h. NFC.

llvm-svn: 238255

9 years ago[PlaceSafepoints] Entry safepoint location doesn't need to be a terminator
Philip Reames [Tue, 26 May 2015 21:16:42 +0000 (21:16 +0000)]
[PlaceSafepoints] Entry safepoint location doesn't need to be a terminator

Long ago, the poll insertion code assumed that the insertion site was a terminator.  As a result, the entry selection code would split a basic block to ensure it could pass a terminator.  The insertion code was updated quite a while ago - possibly before it ever landed upstream - but the now redundant work was never removed.

While I'm at it, remove a comment which doesn't apply to the upstreamed code.

NFC intended.

llvm-svn: 238254

9 years ago[MIPS] Re-land the change r238200 to fix extension of integer types
Petar Jovanovic [Tue, 26 May 2015 21:07:19 +0000 (21:07 +0000)]
[MIPS] Re-land the change r238200 to fix extension of integer types

Re-land the change r238200, but with modifications in the tests that should
prevent new failures in some environments as reported with the original
change on the mailing list.

llvm-svn: 238253

9 years ago[PlaceSafepoints] Cleanup InsertSafepointPoll function
Philip Reames [Tue, 26 May 2015 21:03:23 +0000 (21:03 +0000)]
[PlaceSafepoints] Cleanup InsertSafepointPoll function

While working on another change, I noticed that the naming in this function was mildly deceptive.  While fixing that, I took the oppurtunity to modernize some of the code.  NFC intended.

llvm-svn: 238252

9 years ago[lib/Fuzzer] make the fuzzing timeout 1200 seconds by default (was: infinity)
Kostya Serebryany [Tue, 26 May 2015 20:57:47 +0000 (20:57 +0000)]
[lib/Fuzzer] make the fuzzing timeout 1200 seconds by default (was: infinity)

llvm-svn: 238251

9 years agoSimplify boolean conditional return statements.
Rafael Espindola [Tue, 26 May 2015 20:37:36 +0000 (20:37 +0000)]
Simplify boolean conditional return statements.

Patch by Richard <legalize@xmission.com>.

llvm-svn: 238250

9 years agoHave lldb-mi tests import pexpect at a narrower scope.
Zachary Turner [Tue, 26 May 2015 20:26:43 +0000 (20:26 +0000)]
Have lldb-mi tests import pexpect at a narrower scope.

The tests are xfail'ed on Windows, but would still error out since
they were importing pexpect at global scope.  This way the tests
will correctly report as unsupported.

llvm-svn: 238249

9 years agoAlso don't try to copy a logfile if it doesn't exist.
Zachary Turner [Tue, 26 May 2015 20:26:29 +0000 (20:26 +0000)]
Also don't try to copy a logfile if it doesn't exist.

In some cases no log file will be written, so don't attempt to
call os.rename() with a non-existent source path.

llvm-svn: 238248

9 years agoObject/COFF: Add COFFSymbolRef::isAbsolute().
Rui Ueyama [Tue, 26 May 2015 20:25:30 +0000 (20:25 +0000)]
Object/COFF: Add COFFSymbolRef::isAbsolute().

COFFSymbolRef has many predicates, like isCommon() or
isExternal(), but this predicate was missing.

llvm-svn: 238247

9 years agoSync PlatformFreeBSD::GetSupportedArchitectureAtIndex with PlatformLinux
Ed Maste [Tue, 26 May 2015 20:23:20 +0000 (20:23 +0000)]
Sync PlatformFreeBSD::GetSupportedArchitectureAtIndex with PlatformLinux

Reviewed by Ted Woodward
Differential Revision: http://reviews.llvm.org/D9764

llvm-svn: 238246

9 years agoRemove the code in clang that is using TargetOptions::NoFramePointerElim.
Akira Hatanaka [Tue, 26 May 2015 20:18:26 +0000 (20:18 +0000)]
Remove the code in clang that is using TargetOptions::NoFramePointerElim.

This is the clang side change following r238244.

llvm-svn: 238245

9 years agoRemove NoFramePointerElim and NoFramePointerElimOverride from TargetOptions and
Akira Hatanaka [Tue, 26 May 2015 20:17:20 +0000 (20:17 +0000)]
Remove NoFramePointerElim and NoFramePointerElimOverride from TargetOptions and
remove ExecutionEngine's dependence on CodeGen. NFC.

This is a follow-up to r238080.

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

llvm-svn: 238244

9 years agoUse "auto &" in range-based for-loop and remove the extra braces.
Adrian Prantl [Tue, 26 May 2015 20:06:51 +0000 (20:06 +0000)]
Use "auto &" in range-based for-loop and remove the extra braces.

llvm-svn: 238243

9 years agoFix a use-after-free in a DEBUG output.
Adrian Prantl [Tue, 26 May 2015 20:06:48 +0000 (20:06 +0000)]
Fix a use-after-free in a DEBUG output.

llvm-svn: 238242

9 years agoFixing an RST issue to silence a sphinx warning.
Aaron Ballman [Tue, 26 May 2015 19:56:13 +0000 (19:56 +0000)]
Fixing an RST issue to silence a sphinx warning.

llvm-svn: 238241

9 years agoOn Windows, delete existing log file before renaming temp file.
Zachary Turner [Tue, 26 May 2015 19:52:24 +0000 (19:52 +0000)]
On Windows, delete existing log file before renaming temp file.

On non-Windows platforms, os.rename() will silently replace the
destination file if it already exists.  On Windows, it doesn't do
this, and the filesystem has no mechanism to simulate the same type
of atomic rename operation.  So on Windows, delete the file first
before calling os.rename().

llvm-svn: 238239

9 years ago__declspec is not a core Clang language extension. Instead, require -fms-extensions...
Aaron Ballman [Tue, 26 May 2015 19:44:52 +0000 (19:44 +0000)]
__declspec is not a core Clang language extension. Instead, require -fms-extensions or -fborland to enable the language extension.

Note: __declspec is also temporarily enabled when compiling for a CUDA target because there are implementation details relying on __declspec(property) support currently. When those details change, __declspec should be disabled for CUDA targets.
llvm-svn: 238238

9 years agoRevert r238200: "[MIPS] fix extension of integer types (function calls)"
Hans Wennborg [Tue, 26 May 2015 19:39:54 +0000 (19:39 +0000)]
Revert r238200: "[MIPS] fix extension of integer types (function calls)"

mips-unsigned-ext-var.c and mips-unsigned-extend.c fail in some builds.

llvm-svn: 238237

9 years ago[lib/Fuzzer] fix docs
Kostya Serebryany [Tue, 26 May 2015 19:32:52 +0000 (19:32 +0000)]
[lib/Fuzzer] fix docs

llvm-svn: 238236

9 years ago[lib/Fuzzer] fix build with assertions
Kostya Serebryany [Tue, 26 May 2015 19:29:33 +0000 (19:29 +0000)]
[lib/Fuzzer] fix build with assertions

llvm-svn: 238235

9 years agoFix broken test I just added
Marshall Clow [Tue, 26 May 2015 19:17:09 +0000 (19:17 +0000)]
Fix broken test I just added

llvm-svn: 238234

9 years agoAdd tests to ensure that string/vector/array have contiguous iterators - which they...
Marshall Clow [Tue, 26 May 2015 18:57:27 +0000 (18:57 +0000)]
Add tests to ensure that string/vector/array have contiguous iterators - which they did. Mark N4284 as complete

llvm-svn: 238233

9 years agoPrint "lock \t foo" instead of "lock \n foo".
Rafael Espindola [Tue, 26 May 2015 18:35:10 +0000 (18:35 +0000)]
Print "lock \t foo" instead of "lock \n foo".

This gets gas and llc -filetype=obj to agree on the order of prefixes.

For llvm-mc we need to fix the asm parser to know that it makes a difference
on which line the "lock" is in.

Part of pr23594.

llvm-svn: 238232

9 years agoFix some logic where we used to have char arrays, but we now use std::string. Use...
Greg Clayton [Tue, 26 May 2015 18:29:03 +0000 (18:29 +0000)]
Fix some logic where we used to have char arrays, but we now use std::string. Use the correctly API to detect if they are not empty.

<rdar://problem/21090173>

llvm-svn: 238231

9 years agoR600: Use SIGN_EXTEND_INREG for SEXT loads
Jan Vesely [Tue, 26 May 2015 18:07:22 +0000 (18:07 +0000)]
R600: Use SIGN_EXTEND_INREG for SEXT loads

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Matt Arsenault <Matthew.Arsenault@amd.com>
llvm-svn: 238229

9 years agoR600: Add comments to subword private address load lowering code
Jan Vesely [Tue, 26 May 2015 18:07:21 +0000 (18:07 +0000)]
R600: Add comments to subword private address load lowering code

v2: Use C++ comments and end with periods

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Matt Arsenault <Matthew.Arsenault@amd.com>
llvm-svn: 238228

9 years agoTighten the PHI modeling test cases
Tobias Grosser [Tue, 26 May 2015 18:05:45 +0000 (18:05 +0000)]
Tighten the PHI modeling test cases

While looking through the test cases I realized we did not have a CHECK line
for a duplicate memory access which we may want to eliminate later. To ensure
we do not have (or later introduce) unnecessary memory accesses, we now tighten
the test cases to look for such a pattern (and add the CHECK: line that shows
the redundant memory access).

llvm-svn: 238227

9 years ago[msan] Fix mmap test on Fedora.
Evgeniy Stepanov [Tue, 26 May 2015 18:02:54 +0000 (18:02 +0000)]
[msan] Fix mmap test on Fedora.

llvm-svn: 238226

9 years agoChange final case of Driver::getToolChain to "if/else/else/else..."
Douglas Katzman [Tue, 26 May 2015 18:01:33 +0000 (18:01 +0000)]
Change final case of Driver::getToolChain to "if/else/else/else..."

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

llvm-svn: 238225

9 years agoAdded XML to the host layer.
Greg Clayton [Tue, 26 May 2015 18:00:51 +0000 (18:00 +0000)]
Added XML to the host layer.

We know have on API we should use for all XML within LLDB in XML.h. This API will be easy back the XML parsing by different libraries in case libxml2 doesn't work on all platforms. It also allows the only place for #ifdef ...XML... to be in XML.h and XML.cpp. The API is designed so it will still compile with or without XML support and there is a static function "bool XMLDocument::XMLEnabled()" that can be called to see if XML is currently supported. All APIs will return errors, false, or nothing when XML isn't enabled.

Converted all locations that used XML over to using the host XML implementation.

Added target.xml support to debugserver. Extended the XML register format to work for LLDB by including extra attributes and elements where needed. This allows the target.xml to replace the qRegisterInfo packets and allows us to fetch all register info in a single packet.

<rdar://problem/21090173>

llvm-svn: 238224

9 years agoRevert "Re-commit changes in r237579 with fix for bug breaking windows builds."
Diego Novillo [Tue, 26 May 2015 17:45:38 +0000 (17:45 +0000)]
Revert "Re-commit changes in r237579 with fix for bug breaking windows builds."

This reverts commit r238201 to fix linking problems in x86 Linux
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150525/278413.html

llvm-svn: 238223

9 years agoMake EmitFunctionHeader virtual
Matt Arsenault [Tue, 26 May 2015 17:33:15 +0000 (17:33 +0000)]
Make EmitFunctionHeader virtual

This is to fix problems introduced by r232481. For HSAIL,
this function does essentially nothing desirable, and
injects unwanted / incorrect stuff before the function.
The only thing it really needs to do is call EmitFunctionEntryLabel
in this case.

llvm-svn: 238222

9 years agoChange macro GUIDEDLL_EXPORTS to KMP_DYNAMIC_LIB
Jonathan Peyton [Tue, 26 May 2015 17:32:53 +0000 (17:32 +0000)]
Change macro GUIDEDLL_EXPORTS to KMP_DYNAMIC_LIB

A while back, Hal suggested updating the GUIDEDLL_EXPORTS macro guard to
a more descriptive name.  It represents a dynamic library build so
KMP_DYNAMIC_LIB is a more suitable name.

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

llvm-svn: 238221

9 years agoTest commit.
Ranjeet Singh [Tue, 26 May 2015 17:30:35 +0000 (17:30 +0000)]
Test commit.

llvm-svn: 238220

9 years agoChange CMake file formatting
Jonathan Peyton [Tue, 26 May 2015 17:27:01 +0000 (17:27 +0000)]
Change CMake file formatting

Removing unnecessary spaces. For CACHE variables, putting the description string
on its own line which mimics libcxx. There are no logic changes.

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

llvm-svn: 238219

9 years agoForgot to add lit.local.cfg for new R600 directory
Matt Arsenault [Tue, 26 May 2015 17:01:16 +0000 (17:01 +0000)]
Forgot to add lit.local.cfg for new R600 directory

llvm-svn: 238218

9 years agoCodeGenPrepare: Don't match addressing modes through addrspacecast
Matt Arsenault [Tue, 26 May 2015 16:59:43 +0000 (16:59 +0000)]
CodeGenPrepare: Don't match addressing modes through addrspacecast

This was resulting in the addrspacecast being removed and incorrectly
replaced with a ptrtoint when sinking.

llvm-svn: 238217

9 years agoOne line fix for possible out-of-bounds issue in kmp_runtime.c
Jonathan Peyton [Tue, 26 May 2015 16:38:26 +0000 (16:38 +0000)]
One line fix for possible out-of-bounds issue in kmp_runtime.c

The variable j is now checked so there is no possible
out-of-bounds issue when accessing __kmp_nested_nth.nth[] array.

llvm-svn: 238216

9 years agoOne line fix for possible out-of-bounds issue in kmp_error.c
Jonathan Peyton [Tue, 26 May 2015 16:30:41 +0000 (16:30 +0000)]
One line fix for possible out-of-bounds issue in kmp_error.c

This off-by-one error could lead to an out-of-bounds access on the
cons_text_c[] array.

llvm-svn: 238215

9 years agoObject/COFF: Define .idata import directory table entry.
Rui Ueyama [Tue, 26 May 2015 16:24:42 +0000 (16:24 +0000)]
Object/COFF: Define .idata import directory table entry.

This data type is described in the Microsoft PE/COFF spec rev. 8.3 5.4.1.

llvm-svn: 238214

9 years agoObject: Add Archive::getNumberOfSymbols().
Rui Ueyama [Tue, 26 May 2015 16:20:40 +0000 (16:20 +0000)]
Object: Add Archive::getNumberOfSymbols().

Add a function that returns number of symbols in archive headers.

llvm-svn: 238213

9 years agoGoing out on a limb and guessing that someone viewing the 3.7 release notes may inste...
Aaron Ballman [Tue, 26 May 2015 16:12:07 +0000 (16:12 +0000)]
Going out on a limb and guessing that someone viewing the 3.7 release notes may instead want to view 3.6 instead of 3.5.

llvm-svn: 238212

9 years agoR600/SI: Add assembler support for all CI and VI VOP2 instructions
Tom Stellard [Tue, 26 May 2015 15:55:52 +0000 (15:55 +0000)]
R600/SI: Add assembler support for all CI and VI VOP2 instructions

llvm-svn: 238211

9 years agoAsmMatcherEmitter: Add an option to override custom converters for InstAlias
Tom Stellard [Tue, 26 May 2015 15:55:50 +0000 (15:55 +0000)]
AsmMatcherEmitter: Add an option to override custom converters for InstAlias

If there is an InstAlias defined for an instruction that had a custom
converter (AsmMatchConverter), then when the alias is matched,
the custom converter will be used rather than the converter generated
by the InstAlias.

This patch adds the UseInstAsmMatchConverter field to the InstAlias
class, which allows you to override this behavior and force the
converter generated by the InstAlias to be used.

This is required for some future improvemnts to the R600 assembler.

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

llvm-svn: 238210

9 years agoReplace getOrCreateSectionData with registerSection.
Rafael Espindola [Tue, 26 May 2015 15:07:25 +0000 (15:07 +0000)]
Replace getOrCreateSectionData with registerSection.

There is now no SectionData to be created.

llvm-svn: 238208

9 years agoMark N4366 as complete. libc++ has done this since 2012
Marshall Clow [Tue, 26 May 2015 14:58:05 +0000 (14:58 +0000)]
Mark N4366 as complete. libc++ has done this since 2012

llvm-svn: 238207

9 years agoRemove dead forward declaration.
Rafael Espindola [Tue, 26 May 2015 14:51:03 +0000 (14:51 +0000)]
Remove dead forward declaration.

llvm-svn: 238205

9 years agoHave getCurrentSectionData return a MCSection.
Rafael Espindola [Tue, 26 May 2015 14:48:11 +0000 (14:48 +0000)]
Have getCurrentSectionData return a MCSection.

I will fix the name shortly.

llvm-svn: 238204

9 years agoPass a MCSection to getCurrentSectionData.
Rafael Espindola [Tue, 26 May 2015 14:42:52 +0000 (14:42 +0000)]
Pass a MCSection to getCurrentSectionData.

A step towards merging MCSection and MCSectionData.

llvm-svn: 238203

9 years ago[clang-tidy] misc-noexcept-move-ctors should ignore implicit constructors and assignm...
Alexander Kornienko [Tue, 26 May 2015 14:35:09 +0000 (14:35 +0000)]
[clang-tidy] misc-noexcept-move-ctors should ignore implicit constructors and assignments.

llvm-svn: 238202

9 years agoRe-commit changes in r237579 with fix for bug breaking windows builds.
Luke Cheeseman [Tue, 26 May 2015 13:40:31 +0000 (13:40 +0000)]
Re-commit changes in r237579 with fix for bug breaking windows builds.

llvm-svn: 238201

9 years ago[MIPS] fix extension of integer types (function calls)
Petar Jovanovic [Tue, 26 May 2015 13:30:54 +0000 (13:30 +0000)]
[MIPS] fix extension of integer types (function calls)

On MIPS unsigned int type should not be zero extended but sign-extended.

Patch by Strahinja Petrovic.

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

llvm-svn: 238200

9 years agoTest Commit
Luke Cheeseman [Tue, 26 May 2015 13:10:35 +0000 (13:10 +0000)]
Test Commit

llvm-svn: 238199

9 years agoAVX-512: fixed a bug in arithmetic operations lowering for i1 type
Elena Demikhovsky [Tue, 26 May 2015 12:37:17 +0000 (12:37 +0000)]
AVX-512: fixed a bug in arithmetic operations lowering for i1 type

https://llvm.org/bugs/show_bug.cgi?id=23630

llvm-svn: 238198

9 years agoFix warning introduced in r238190 about lack of virtual destructor in MCObjectFileInfo.
Daniel Sanders [Tue, 26 May 2015 12:25:36 +0000 (12:25 +0000)]
Fix warning introduced in r238190 about lack of virtual destructor in MCObjectFileInfo.

llvm-svn: 238197

9 years agoMove register reading form NativeProcessLinux to NativeRegisterContextLinux*
Tamas Berghammer [Tue, 26 May 2015 11:58:52 +0000 (11:58 +0000)]
Move register reading form NativeProcessLinux to NativeRegisterContextLinux*

This change reorganize the register read/write code inside lldb-server on Linux
with moving the architecture independent code into a new class called
NativeRegisterContextLinux and all of the architecture dependent code into the
appropriate NativeRegisterContextLinux_* class. As part of it the compilation of
the architecture specific register contexts are only compiled on the specific
architecture because they can't be used in other cases.

The purpose of this change is to remove a lot of duplicated code from the different
register contexts and to remove the architecture dependent codes from the global
NativeProcessLinux class.

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

llvm-svn: 238196

9 years agoAVX-512: fixed a bug in lowering VSELECT for 512-bit vector
Elena Demikhovsky [Tue, 26 May 2015 11:32:39 +0000 (11:32 +0000)]
AVX-512: fixed a bug in lowering VSELECT for 512-bit vector

https://llvm.org/bugs/show_bug.cgi?id=23634

llvm-svn: 238195

9 years ago[ARM] Fix enum type cast in switch
Denis Protivensky [Tue, 26 May 2015 11:13:09 +0000 (11:13 +0000)]
[ARM] Fix enum type cast in switch

It caused warning in clang assuming the default
branch would never be reached with the given
switch key type.

llvm-svn: 238194

9 years ago[clang-tidy] Don't issue most google-readability-casting warnings on .c files include...
Alexander Kornienko [Tue, 26 May 2015 10:47:48 +0000 (10:47 +0000)]
[clang-tidy] Don't issue most google-readability-casting warnings on .c files included in other files.

This is done sometimes for testing purposes, and the check needs to handle this
consistently.

llvm-svn: 238193

9 years agoUse std::bitset for SubtargetFeatures.
Michael Kuperstein [Tue, 26 May 2015 10:47:10 +0000 (10:47 +0000)]
Use std::bitset for SubtargetFeatures.

Previously, subtarget features were a bitfield with the underlying type being uint64_t.
Since several targets (X86 and ARM, in particular) have hit or were very close to hitting this bound, switching the features to use a bitset.
No functional change.

The first several times this was committed (e.g. r229831, r233055), it caused several buildbot failures.
Apparently the reason for most failures was both clang and gcc's inability to deal with large numbers (> 10K) of bitset constructor calls in tablegen-generated initializers of instruction info tables.
This should now be fixed.

llvm-svn: 238192

9 years ago[ARM] Move out .ARM.exidx related things to ARM backend
Denis Protivensky [Tue, 26 May 2015 10:26:15 +0000 (10:26 +0000)]
[ARM] Move out .ARM.exidx related things to ARM backend

llvm-svn: 238191

9 years ago[mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only.
Daniel Sanders [Tue, 26 May 2015 10:19:18 +0000 (10:19 +0000)]
[mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only.

Summary:
Following on from r209907 which made personality encodings indirect, do the
same for TType encodings. This fixes the case where a try/catch block needs
to generate references to, for example, std::exception in the
.gcc_except_table.

This commit uses DW_EH_PE_sdata8 for N64 as far as is possible at the moment.
However, it is possible to end up with DW_EH_PE_sdata4 when a TargetMachine is
not available. There's no risk of issues with inconsistency here since the
tables are self describing but it does mean there is a small chance of the
PC-relative offset being out of range for particularly large programs.

Reviewers: petarj

Reviewed By: petarj

Subscribers: srhines, joerg, tberghammer, llvm-commits

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

llvm-svn: 238190

9 years ago[Mips] Use structures declared in the llvm/Object/ELFTypes.h
Simon Atanasyan [Tue, 26 May 2015 08:48:33 +0000 (08:48 +0000)]
[Mips] Use structures declared in the llvm/Object/ELFTypes.h

No functional changes.

llvm-svn: 238189

9 years ago[mips] Move some structures represent MIPS specific ELF sections from LLD to LLVM
Simon Atanasyan [Tue, 26 May 2015 08:48:14 +0000 (08:48 +0000)]
[mips] Move some structures represent MIPS specific ELF sections from LLD to LLVM

That allows to reuse the code in other tools like llvm-readobj etc.

No functional changes.

llvm-svn: 238188