platform/upstream/llvm.git
9 years agoSwitch lowering: use profile info to build weight-balanced binary search trees
Hans Wennborg [Thu, 30 Apr 2015 00:57:37 +0000 (00:57 +0000)]
Switch lowering: use profile info to build weight-balanced binary search trees

This will cause hot nodes to appear closer to the root.

The literature says building the tree like this makes it a near-optimal (in
terms of search time given key frequencies) binary search tree. In LLVM's case,
we can do up to 3 comparisons in each leaf node, so it might be better to opt
for lower tree height in some cases; that's something to look into in the
future.

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

llvm-svn: 236192

9 years agoFix use of uninitialized variable, found by ubsan selfhost.
Richard Smith [Thu, 30 Apr 2015 00:57:08 +0000 (00:57 +0000)]
Fix use of uninitialized variable, found by ubsan selfhost.

llvm-svn: 236191

9 years agoMake sure we don't resize(0) when we get a fwdref with Idx == UINT_MAX
Filipe Cabecinhas [Thu, 30 Apr 2015 00:52:42 +0000 (00:52 +0000)]
Make sure we don't resize(0) when we get a fwdref with Idx == UINT_MAX

Make it an error instead.

Bug found with AFL fuzz.

llvm-svn: 236190

9 years agoStore relocations in a map from MCSectionELF.
Rafael Espindola [Thu, 30 Apr 2015 00:45:46 +0000 (00:45 +0000)]
Store relocations in a map from MCSectionELF.

Saves finding the MCSectionData just to do a map lookup.

llvm-svn: 236189

9 years agoUse a more reliable method to determine whether
Sean Callanan [Thu, 30 Apr 2015 00:44:21 +0000 (00:44 +0000)]
Use a more reliable method to determine whether
a FileID corresponds to a real file or to a
memory buffer.  The old method didn't work when
Clang was built Release, which meant it wasn't
a very good method at all.

llvm-svn: 236188

9 years agoWrite relocations directly to the output stream. NFC.
Rafael Espindola [Thu, 30 Apr 2015 00:30:40 +0000 (00:30 +0000)]
Write relocations directly to the output stream. NFC.

llvm-svn: 236187

9 years agoFlip r236172 testcase RUN option ordering for BSD sed(1). NFC.
Ahmed Bougacha [Thu, 30 Apr 2015 00:07:34 +0000 (00:07 +0000)]
Flip r236172 testcase RUN option ordering for BSD sed(1). NFC.

llvm-svn: 236186

9 years agoAdd CMAKE_EXECUTABLE_SUFFIX to build with Android toolchain on Windows.
Chaoren Lin [Wed, 29 Apr 2015 23:59:22 +0000 (23:59 +0000)]
Add CMAKE_EXECUTABLE_SUFFIX to build with Android toolchain on Windows.

Reviewers: vharron, zturner, flackr

Subscribers: tberghammer, lldb-commits

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

llvm-svn: 236185

9 years agoUpdate clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp to pass for targeting...
NAKAMURA Takumi [Wed, 29 Apr 2015 23:55:46 +0000 (23:55 +0000)]
Update clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp to pass for targeting i686.

r236155 missed the suffix in "@llvm.memcpy.p0i8.p0i8.i32".

llvm-svn: 236184

9 years agoChange x86 CMOVE_F to read it source, not write it.
Pete Cooper [Wed, 29 Apr 2015 23:51:33 +0000 (23:51 +0000)]
Change x86 CMOVE_F to read it source, not write it.

This was breaking sqlite with the machine verifier because operand 0 was a def according to tablegen, but didn't have the 'isDef' flag set.

Looking at the ISA, its clear that this operand is a source as writing to st(0) is implicit.  So move the operand to the correct place in the td file.

rdar://problem/20751584

llvm-svn: 236183

9 years agoFix build after Clang API change in r236176.
Richard Smith [Wed, 29 Apr 2015 23:46:48 +0000 (23:46 +0000)]
Fix build after Clang API change in r236176.

llvm-svn: 236182

9 years agoAdd an assert to get information on buildbot failure.
Richard Smith [Wed, 29 Apr 2015 23:40:48 +0000 (23:40 +0000)]
Add an assert to get information on buildbot failure.

llvm-svn: 236181

9 years agoFix doxygen comment typo. NFC
Jonathan Roelofs [Wed, 29 Apr 2015 23:33:32 +0000 (23:33 +0000)]
Fix doxygen comment typo. NFC

llvm-svn: 236180

9 years agoPropagate a terrible hack to the sparc target feature handling code
Eric Christopher [Wed, 29 Apr 2015 23:32:17 +0000 (23:32 +0000)]
Propagate a terrible hack to the sparc target feature handling code
by erasing the soft-float target feature if the rest of the front
end added it because of defaults or the soft float option.

Add some testing for some of the targets that implement this hack.

llvm-svn: 236179

9 years agoFix unused variable warning.
Richard Smith [Wed, 29 Apr 2015 23:26:13 +0000 (23:26 +0000)]
Fix unused variable warning.

llvm-svn: 236178

9 years agoFix build broken by r236174.
Zachary Turner [Wed, 29 Apr 2015 23:24:12 +0000 (23:24 +0000)]
Fix build broken by r236174.

Apparently va_list is literally a char* on Windows.

llvm-svn: 236177

9 years ago[modules] Stop trying to fake up a linear MacroDirective history.
Richard Smith [Wed, 29 Apr 2015 23:20:19 +0000 (23:20 +0000)]
[modules] Stop trying to fake up a linear MacroDirective history.

Modules builds fundamentally have a non-linear macro history. In the interest
of better source fidelity, represent the macro definition information
faithfully: we have a linear macro directive history within each module, and at
any point we have a unique "latest" local macro directive and a collection of
visible imported directives. This also removes the attendent complexity of
attempting to create a correct MacroDirective history (which we got wrong
in the general case).

No functionality change intended.

llvm-svn: 236176

9 years ago[opaque pointer type] Store the value type of an alloca
David Blaikie [Wed, 29 Apr 2015 23:00:35 +0000 (23:00 +0000)]
[opaque pointer type] Store the value type of an alloca

llvm-svn: 236175

9 years agoIntroduce a NullLog class, which ignores all messages.
Zachary Turner [Wed, 29 Apr 2015 22:55:28 +0000 (22:55 +0000)]
Introduce a NullLog class, which ignores all messages.

The purpose of this class is so that GetLogIfAllCategoriesSet
can always return an instance of some class, whether it be a real
logging class or a "null" class, which ignores messages.  Code
that is littered with if statements that only log if the pointer
is non-null can get very unwieldy very quickly, so this should
help code readability in such circumstances.

Since I'm in this code anyway, I'm also deleting the
PrintfWithFlags methods, as well as all the flags, since they
appear to be dead code that have been superceded by newer
mechanisms and all the flags are simply ignored.

llvm-svn: 236174

9 years agoXFAIL Hexagon until more codegen in place.
Rick Foos [Wed, 29 Apr 2015 22:54:40 +0000 (22:54 +0000)]
XFAIL Hexagon until more codegen in place.

Summary:
Hexagon is being updated, but there is not enough to pass these tests.
These sections are now on top of Colin's list.

Test Plan: Ran changes on hexagon-build-03.

Reviewers: colinl, rfoos

Reviewed By: rfoos

Subscribers: cfe-commits

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

llvm-svn: 236173

9 years ago[WinEH] Start EH preparation for 32-bit x86, it uses no arguments
Reid Kleckner [Wed, 29 Apr 2015 22:49:54 +0000 (22:49 +0000)]
[WinEH] Start EH preparation for 32-bit x86, it uses no arguments

32-bit x86 MSVC-style exceptions are functionaly similar to 64-bit, but
they take no arguments. Instead, they implicitly use the value of EBP
passed in by the caller as a pointer to the parent's frame. In LLVM, we
can represent this as llvm.frameaddress(1), and feed that into all of
our calls to llvm.framerecover.

The next steps are:
- Add an alloca to the fs:00 linked list of handlers
- Add something like llvm.sjlj.lsda or generalize it to store in the
  alloca
- Move state number calculation to WinEHPrepare, arrange for
  FunctionLoweringInfo to call it
- Use the state numbers to insert explicit loads and stores in the IR

llvm-svn: 236172

9 years agogeneralize binop reassociation; NFC
Sanjay Patel [Wed, 29 Apr 2015 22:30:02 +0000 (22:30 +0000)]
generalize binop reassociation; NFC

Move the fold introduced in r236031:
http://reviews.llvm.org/rL236031

to its own helper function, so we can use it for other binops.

This is a preliminary step before partially solving:
https://llvm.org/bugs/show_bug.cgi?id=21768
https://llvm.org/bugs/show_bug.cgi?id=23116

llvm-svn: 236171

9 years agoDon't force a vendor check in ProcessMachCore::CanDebug() -- if this
Jason Molenda [Wed, 29 Apr 2015 22:17:45 +0000 (22:17 +0000)]
Don't force a vendor check in ProcessMachCore::CanDebug() -- if this
is a Mach-O file and it is a Mach-O core file, activate the
ProcessMachCore plugin.
<rdar://problem/20739989>

llvm-svn: 236170

9 years agoUpdate to build sysv-arm/sysv-arm64/sblanguageinfo/registercontextlinux_arm64.
Jason Molenda [Wed, 29 Apr 2015 22:16:19 +0000 (22:16 +0000)]
Update to build sysv-arm/sysv-arm64/sblanguageinfo/registercontextlinux_arm64.

llvm-svn: 236169

9 years agoprofile: Use unique directory for tests that write default profile file
Justin Bogner [Wed, 29 Apr 2015 21:56:35 +0000 (21:56 +0000)]
profile: Use unique directory for tests that write default profile file

Fix a couple of new tests that were reverted because they were causing
intermittent test failures since they were writing the same default
"default.profraw" file. Fixed by creating a unique directory and
running tests in that directory.

Patch by Teresa Johnson. Thanks!

llvm-svn: 236168

9 years agoRevert r236128, LLVM isn't falling back in the right way
Reid Kleckner [Wed, 29 Apr 2015 21:55:21 +0000 (21:55 +0000)]
Revert r236128, LLVM isn't falling back in the right way

llvm-svn: 236167

9 years agoRun StatepointLowering.{cpp,h} through clang-format.
Pat Gavlin [Wed, 29 Apr 2015 21:52:45 +0000 (21:52 +0000)]
Run StatepointLowering.{cpp,h} through clang-format.

llvm-svn: 236166

9 years ago[UBSan] Disable vptr.cpp on Darwin again.
Alexey Samsonov [Wed, 29 Apr 2015 21:51:23 +0000 (21:51 +0000)]
[UBSan] Disable vptr.cpp on Darwin again.

llvm-svn: 236165

9 years ago[NFC] Updating FileCheck to reduce the std::vector interface used via cl::list.
Chris Bieneman [Wed, 29 Apr 2015 21:45:24 +0000 (21:45 +0000)]
[NFC] Updating FileCheck to reduce the std::vector interface used via cl::list.

llvm-svn: 236164

9 years ago[NFC] Converting to range-based for.
Chris Bieneman [Wed, 29 Apr 2015 21:45:22 +0000 (21:45 +0000)]
[NFC] Converting to range-based for.

llvm-svn: 236163

9 years ago[opaque pointer type] update for LLVM API change
David Blaikie [Wed, 29 Apr 2015 21:22:47 +0000 (21:22 +0000)]
[opaque pointer type] update for LLVM API change

llvm-svn: 236161

9 years ago[opaque pointer type] Pass GlobalAlias the actual pointer type rather than decomposin...
David Blaikie [Wed, 29 Apr 2015 21:22:39 +0000 (21:22 +0000)]
[opaque pointer type] Pass GlobalAlias the actual pointer type rather than decomposing it into pointee type + address space

Many of the callers already have the pointer type anyway, and for the
couple of callers that don't it's pretty easy to call PointerType::get
on the pointee type and address space.

This avoids LLParser from using PointerType::getElementType when parsing
GlobalAliases from IR.

llvm-svn: 236160

9 years agoRevert r236060, it caused PR23375.
Nico Weber [Wed, 29 Apr 2015 21:16:40 +0000 (21:16 +0000)]
Revert r236060, it caused PR23375.

llvm-svn: 236159

9 years agoInline FragmentWriter into the only user.
Rafael Espindola [Wed, 29 Apr 2015 21:13:30 +0000 (21:13 +0000)]
Inline FragmentWriter into the only user.

llvm-svn: 236158

9 years agoWrite the symbol table directly to the output file.
Rafael Espindola [Wed, 29 Apr 2015 21:09:32 +0000 (21:09 +0000)]
Write the symbol table directly to the output file.

There is no need to first accumulate it in fragments.

llvm-svn: 236157

9 years agotidy up; NFC
Sanjay Patel [Wed, 29 Apr 2015 21:01:41 +0000 (21:01 +0000)]
tidy up; NFC

llvm-svn: 236156

9 years agoStop assuming a 64-bit target here.
Richard Smith [Wed, 29 Apr 2015 20:49:22 +0000 (20:49 +0000)]
Stop assuming a 64-bit target here.

llvm-svn: 236155

9 years agoMake the .eh_frame_hdr code work on FreeBSD as well.
Ed Schouten [Wed, 29 Apr 2015 20:43:44 +0000 (20:43 +0000)]
Make the .eh_frame_hdr code work on FreeBSD as well.

We currently only include <link.h> on CloudABI and Linux. We can enable
it on FreeBSD as well, as it also supports the dl_iterate_phdr()
function that's provided by <link.h>.

FreeBSD, however, does not provide the ElfW() macro. Instead, the
host-specific ELF datastructures are named just Elf_XXX in addition to
the host-independent Elf32_XXX and Elf64_XXX types.

Differential Revision: http://reviews.llvm.org/D8169
Approved by: emaste

llvm-svn: 236154

9 years agoUse pwrite to write the number of sections.
Rafael Espindola [Wed, 29 Apr 2015 20:39:37 +0000 (20:39 +0000)]
Use pwrite to write the number of sections.

This avoids having to compute the number upfront, which will be used in the
next patch.

llvm-svn: 236153

9 years ago[UBSan] Various improvements to vptr.cpp test case
Alexey Samsonov [Wed, 29 Apr 2015 20:39:12 +0000 (20:39 +0000)]
[UBSan] Various improvements to vptr.cpp test case

* Remove __ubsan_default_options, so that test would work on Darwin
* Fix unintentional undefined behavior in the code (missing return)
* Build the test with -fno-sanitize-recover to distinguish expected
  failures and expected passes by return code.

llvm-svn: 236152

9 years ago[UBSan] Add a testcase for __ubsan_default_options() function.
Alexey Samsonov [Wed, 29 Apr 2015 20:39:10 +0000 (20:39 +0000)]
[UBSan] Add a testcase for __ubsan_default_options() function.

llvm-svn: 236151

9 years agotoo much space again; NFC
Sanjay Patel [Wed, 29 Apr 2015 20:38:02 +0000 (20:38 +0000)]
too much space again; NFC

llvm-svn: 236150

9 years ago[GNU] Remove -x/-X from the list of options to be implemented.
Davide Italiano [Wed, 29 Apr 2015 20:35:58 +0000 (20:35 +0000)]
[GNU] Remove -x/-X from the list of options to be implemented.

llvm-svn: 236149

9 years agoWrite the string table directly to the output file.
Rafael Espindola [Wed, 29 Apr 2015 20:34:31 +0000 (20:34 +0000)]
Write the string table directly to the output file.

There is no need to accumulate it in fragments first.

llvm-svn: 236148

9 years agotoo much space; NFC
Sanjay Patel [Wed, 29 Apr 2015 20:32:57 +0000 (20:32 +0000)]
too much space; NFC

llvm-svn: 236147

9 years ago[Sparc] Really add sparcel architecture support.
Douglas Katzman [Wed, 29 Apr 2015 20:30:57 +0000 (20:30 +0000)]
[Sparc] Really add sparcel architecture support.

Mostly copy-and-paste from Sparc v8 architecture.

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

llvm-svn: 236146

9 years agoWrite the section header string table directly to the output stream.
Rafael Espindola [Wed, 29 Apr 2015 20:25:24 +0000 (20:25 +0000)]
Write the section header string table directly to the output stream.

Instead of accumulating the content in a fragment first, just write it
to the output stream.

Also put it first in the section table, so that we never have to worry
about its index being >= SHN_LORESERVE.

llvm-svn: 236145

9 years agoClean up docs references to './configure' in preparation for deprecating in-source...
Jonathan Roelofs [Wed, 29 Apr 2015 20:06:41 +0000 (20:06 +0000)]
Clean up docs references to './configure' in preparation for deprecating in-source builds

http://reviews.llvm.org/D8787

llvm-svn: 236144

9 years ago[AArch64] Refactor out codes that depend on specific CS save sequence.
Manman Ren [Wed, 29 Apr 2015 20:03:38 +0000 (20:03 +0000)]
[AArch64] Refactor out codes that depend on specific CS save sequence.

No functionality change.

llvm-svn: 236143

9 years agoPR23373: A defaulted union copy constructor that is not trivial must still be
Richard Smith [Wed, 29 Apr 2015 19:26:57 +0000 (19:26 +0000)]
PR23373: A defaulted union copy constructor that is not trivial must still be
emitted as a memcpy.

llvm-svn: 236142

9 years agoAvoid a few const_cast.
Rafael Espindola [Wed, 29 Apr 2015 19:20:10 +0000 (19:20 +0000)]
Avoid a few const_cast.

llvm-svn: 236141

9 years agoARM: mark branch-like instructions with correct flags.
Tim Northover [Wed, 29 Apr 2015 19:16:38 +0000 (19:16 +0000)]
ARM: mark branch-like instructions with correct flags.

There's probably no way to test BXJ, but if the compiler ever did emit it
during CodeGen it would have to be a block terminator so "isBranch" is
appropriate.

BLX is more tricky. Clearly a call, but it affects surprisingly little.

rdar://18719544

llvm-svn: 236140

9 years agoNew architecture name - 'sparcel' for Sparc little-endian.
Douglas Katzman [Wed, 29 Apr 2015 19:15:08 +0000 (19:15 +0000)]
New architecture name - 'sparcel' for Sparc little-endian.

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

llvm-svn: 236139

9 years agolldb-gdbserver should not use unnamed pipes on Windows.
Chaoren Lin [Wed, 29 Apr 2015 19:01:43 +0000 (19:01 +0000)]
lldb-gdbserver should not use unnamed pipes on Windows.

llvm-svn: 236138

9 years agoMake Sparc assembler accept parenthesized constant expressions.
Douglas Katzman [Wed, 29 Apr 2015 18:48:29 +0000 (18:48 +0000)]
Make Sparc assembler accept parenthesized constant expressions.

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

llvm-svn: 236137

9 years agoExpose Close{Read/Write}FileDescriptor for pipes.
Chaoren Lin [Wed, 29 Apr 2015 18:25:18 +0000 (18:25 +0000)]
Expose Close{Read/Write}FileDescriptor for pipes.

llvm-svn: 236136

9 years agoRe-XFAIL UBSan vptr testcase on darwin.
Ahmed Bougacha [Wed, 29 Apr 2015 17:49:05 +0000 (17:49 +0000)]
Re-XFAIL UBSan vptr testcase on darwin.

Partial revert of r235961; the test still fails on Green Dragon bots.

llvm-svn: 236135

9 years agoRevert r236063 due to regression with -fdelayed-template-parsing.
Richard Smith [Wed, 29 Apr 2015 17:48:08 +0000 (17:48 +0000)]
Revert r236063 due to regression with -fdelayed-template-parsing.

llvm-svn: 236134

9 years agoAdd file descriptor constructor for PipePosix.
Chaoren Lin [Wed, 29 Apr 2015 17:36:58 +0000 (17:36 +0000)]
Add file descriptor constructor for PipePosix.

llvm-svn: 236133

9 years agoRemove trap code from disassembly.
Chaoren Lin [Wed, 29 Apr 2015 17:24:48 +0000 (17:24 +0000)]
Remove trap code from disassembly.

Summary:
NativeProcessProtocol uses ReadMemory internally for setting/checking
breakpoints but also for generic memory reads (Handle_m), this change adds a
ReadMemoryWithoutTrap for that purpose. Also fixes a bunch of misuses of addr_t
as size/length.

Test Plan: `disassemble` no longer shows the trap code.

Reviewers: jingham, vharron, clayborg

Reviewed By: clayborg

Subscribers: lldb-commits

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

llvm-svn: 236132

9 years ago[mips][microMIPSr6] Implement MUL, MUH, MULU and MUHU instructions
Zoran Jovanovic [Wed, 29 Apr 2015 17:23:22 +0000 (17:23 +0000)]
[mips][microMIPSr6] Implement MUL, MUH, MULU and MUHU instructions
Differential Revision: http://reviews.llvm.org/D8894

llvm-svn: 236131

9 years agotsan: add another test for setuid
Dmitry Vyukov [Wed, 29 Apr 2015 17:22:43 +0000 (17:22 +0000)]
tsan: add another test for setuid

llvm-svn: 236130

9 years ago[WinEH] Fix minor bug in begincatch block splitting
Andrew Kaylor [Wed, 29 Apr 2015 17:21:26 +0000 (17:21 +0000)]
[WinEH] Fix minor bug in begincatch block splitting

llvm-svn: 236129

9 years agoRe-land r236052, the linker errors were fixed by LLVM r236123
Reid Kleckner [Wed, 29 Apr 2015 17:17:17 +0000 (17:17 +0000)]
Re-land r236052, the linker errors were fixed by LLVM r236123

Basic __finally blocks don't cause linker errors anymore (although they
are miscompiled).

llvm-svn: 236128

9 years agoUpdate polly for LLVM rename of debug info metadata with DI* prefix
Duncan P. N. Exon Smith [Wed, 29 Apr 2015 17:02:14 +0000 (17:02 +0000)]
Update polly for LLVM rename of debug info metadata with DI* prefix

Ran the same rename-md-di-prefix.sh script attached to PR23080 as in
LLVM r236120 and CFE r236121.

llvm-svn: 236127

9 years agoDisable failing TestDevNull test on Windows
Reid Kleckner [Wed, 29 Apr 2015 16:54:11 +0000 (16:54 +0000)]
Disable failing TestDevNull test on Windows

llvm-svn: 236126

9 years agoDebug Info: Represent local anonymous unions as anonymous unions
Adrian Prantl [Wed, 29 Apr 2015 16:52:31 +0000 (16:52 +0000)]
Debug Info: Represent local anonymous unions as anonymous unions
and as artificial local variables in the debug info.

This is a follow-up to r236059. We can't get rid of the local variables
entirely because the gdb buildbot depends on them, but we can mark them
as artificial while still emitting the correct debug info. As I learned
from review comments other compilers also follow this model.

A paired commit in LLVM temporarily relaxes the debug info verifier to
not check the integrity of DW_OP_bit_pieces of artificial variables.

rdar://problem/20730771

llvm-svn: 236125

9 years agoTemporarily relax a check in the debug info verifier.
Adrian Prantl [Wed, 29 Apr 2015 16:52:17 +0000 (16:52 +0000)]
Temporarily relax a check in the debug info verifier.
The clang frontend helps out GDB by emitting the members of local anonymous
unions as artificial local variables with shared storage. When SROA splits
the storage for artificial local variables that are smaller than the entire
union, the overhang piece will be outside of the allotted space for the
variable and this check fails.

rdar://problem/20730771

llvm-svn: 236124

9 years ago[X86] Avoid mangling frameescape labels
Reid Kleckner [Wed, 29 Apr 2015 16:46:01 +0000 (16:46 +0000)]
[X86] Avoid mangling frameescape labels

x86 Windows uses the '_' prefix for all global symbols, and this was
mistakenly being applied to frameescape labels, which are not externally
visible global symbols. They use the private global prefix 'L'.

The *right* way to fix this is probably to stop masquerading this label
as an ExternalSymbol and create a new SDNode type. These labels are not
"external", and we know they will be resolved by assembly time. Having a
custom SDNode type would allow us to do better X86 address mode
matching, so it's probably worth doing eventually.

llvm-svn: 236123

9 years agoThese are the actual changes in the runtime to issue OMPT-related functions. All...
Andrey Churbanov [Wed, 29 Apr 2015 16:42:24 +0000 (16:42 +0000)]
These are the actual changes in the runtime to issue OMPT-related functions. All of them are surrounded by #if OMPT_SUPPORT and can be disabled (which is the default).

llvm-svn: 236122

9 years agoDebugInfo: Metadata constructs now start with DI*
Duncan P. N. Exon Smith [Wed, 29 Apr 2015 16:40:08 +0000 (16:40 +0000)]
DebugInfo: Metadata constructs now start with DI*

LLVM r236120 renamed debug info IR constructs to use a `DI` prefix, now
that the `DIDescriptor` hierarchy has been gone for about a week.  This
commit was generated using the rename-md-di-nodes.sh upgrade script
attached to PR23080, followed by running clang-format-diff.py on the
`lib/` portion of the patch.

llvm-svn: 236121

9 years agoIR: Give 'DI' prefix to debug info metadata
Duncan P. N. Exon Smith [Wed, 29 Apr 2015 16:38:44 +0000 (16:38 +0000)]
IR: Give 'DI' prefix to debug info metadata

Finish off PR23080 by renaming the debug info IR constructs from `MD*`
to `DI*`.  The last of the `DIDescriptor` classes were deleted in
r235356, and the last of the related typedefs removed in r235413, so
this has all baked for about a week.

Note: If you have out-of-tree code (like a frontend), I recommend that
you get everything compiling and tests passing with the *previous*
commit before updating to this one.  It'll be easier to keep track of
what code is using the `DIDescriptor` hierarchy and what you've already
updated, and I think you're extremely unlikely to insert bugs.  YMMV of
course.

Back to *this* commit: I did this using the rename-md-di-nodes.sh
upgrade script I've attached to PR23080 (both code and testcases) and
filtered through clang-format-diff.py.  I edited the tests for
test/Assembler/invalid-generic-debug-node-*.ll by hand since the columns
were off-by-three.  It should work on your out-of-tree testcases (and
code, if you've followed the advice in the previous paragraph).

Some of the tests are in badly named files now (e.g.,
test/Assembler/invalid-mdcompositetype-missing-tag.ll should be
'dicompositetype'); I'll come back and move the files in a follow-up
commit.

llvm-svn: 236120

9 years agoCodeGen: Default overflow operations to expand so we don't have to assume targets...
Jan Vesely [Wed, 29 Apr 2015 16:30:46 +0000 (16:30 +0000)]
CodeGen: Default overflow operations to expand so we don't have to assume targets are lying

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: ab
Differential Revision: http://reviews.llvm.org/D9265

llvm-svn: 236119

9 years ago[mips][microMIPSr6] Implement SUB and SUBU instructions
Zoran Jovanovic [Wed, 29 Apr 2015 16:22:46 +0000 (16:22 +0000)]
[mips][microMIPSr6] Implement SUB and SUBU instructions
Differential Revision: http://reviews.llvm.org/D8764

llvm-svn: 236118

9 years agoThis patch contains the new files for OMPT and the needed changes to the build infras...
Andrey Churbanov [Wed, 29 Apr 2015 16:22:07 +0000 (16:22 +0000)]
This patch contains the new files for OMPT and the needed changes to the build infrastructure

llvm-svn: 236117

9 years agoFix syntax error in CMake created when a variable is not defined.
Eric Fiselier [Wed, 29 Apr 2015 15:53:03 +0000 (15:53 +0000)]
Fix syntax error in CMake created when a variable is not defined.

llvm-svn: 236115

9 years agoThis is a preparation patch to get information about the actual release status from...
Andrey Churbanov [Wed, 29 Apr 2015 15:52:19 +0000 (15:52 +0000)]
This is a preparation patch to get information about the actual release status from nested locks for OMPT.

llvm-svn: 236114

9 years agoAllow compilation depending to the LLVM version
Tom Stellard [Wed, 29 Apr 2015 15:37:06 +0000 (15:37 +0000)]
Allow compilation depending to the LLVM version

It allows to keep temporary compatibilty with older version.
For exemple, this can be use when change are not to large.

Patch by: EdB

llvm-svn: 236113

9 years ago[mips][microMIPSr6] Implement ADD, ADDU and ADDIU instructions
Zoran Jovanovic [Wed, 29 Apr 2015 15:11:07 +0000 (15:11 +0000)]
[mips][microMIPSr6] Implement ADD, ADDU and ADDIU instructions
Differential Revision: http://reviews.llvm.org/D8704

llvm-svn: 236111

9 years agoRevert "Debug Info: Represent local anonymous unions as anonymous unions"
Adrian Prantl [Wed, 29 Apr 2015 15:05:50 +0000 (15:05 +0000)]
Revert "Debug Info: Represent local anonymous unions as anonymous unions"

This reverts commit r236059 as it breaks the gdb buildbot.

llvm-svn: 236110

9 years agoSparc: Prefer reg+reg address encoding when only one register used.
James Y Knight [Wed, 29 Apr 2015 14:54:44 +0000 (14:54 +0000)]
Sparc: Prefer reg+reg address encoding when only one register used.

Reg+%g0 is preferred to Reg+imm0 by the manual, and is what GCC produces.

Futhermore, reg+imm is invalid for the (not yet supported) "alternate
address space" instructions.

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

llvm-svn: 236107

9 years agoRelax assert to avoid spurious failures with /dev/null.
Rafael Espindola [Wed, 29 Apr 2015 14:53:25 +0000 (14:53 +0000)]
Relax assert to avoid spurious failures with /dev/null.

llvm-svn: 236106

9 years agoUH OpenMP testsuite update
Andrey Churbanov [Wed, 29 Apr 2015 14:36:38 +0000 (14:36 +0000)]
UH OpenMP testsuite update

llvm-svn: 236105

9 years agoRevert code changes made under r235976.
Bradley Smith [Wed, 29 Apr 2015 14:32:06 +0000 (14:32 +0000)]
Revert code changes made under r235976.

This issue was fixed elsewhere in r235396 in a more general way, hence these
changes no longer do anything. Keep the testcase however, to ensure that we
don't regress this for ARM.

llvm-svn: 236104

9 years agoMips fast-isel - handle functions which return i8 or i6 .
Vasileios Kalintiris [Wed, 29 Apr 2015 14:17:14 +0000 (14:17 +0000)]
Mips fast-isel - handle functions which return i8 or i6 .

Summary: Allow Mips fast-isel to handle functions which return i8/i16 signed/unsigned.

Test Plan:
Make check tests are forthcoming.
Already passes test-suite at O0/O2 for Mips 32 r1/r2

Reviewers: dsanders, rkotler

Subscribers: llvm-commits, rfuhler

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

llvm-svn: 236103

9 years agoDon't constrain the section order in tests that don't depend on it.
Rafael Espindola [Wed, 29 Apr 2015 13:55:07 +0000 (13:55 +0000)]
Don't constrain the section order in tests that don't depend on it.

llvm-svn: 236102

9 years agoRevert 2 tests from "Tests for r236055."
Renato Golin [Wed, 29 Apr 2015 13:40:57 +0000 (13:40 +0000)]
Revert 2 tests from "Tests for r236055."

This partially reverts commit r236056, as the two tests were using the same
names and, when executed in parallel, were having intermittent failures.

llvm-svn: 236101

9 years agoclang-format: Add ability to align assignment operators.
Daniel Jasper [Wed, 29 Apr 2015 13:06:49 +0000 (13:06 +0000)]
clang-format: Add ability to align assignment operators.

In Objective-C some style guides use a style where assignment operators are
aligned, in an effort to increase code readability. This patch adds an option
to the format library which allows this functionality. It is disabled by
default for all the included styles, so it must be explicitly enabled.

The option will change code such as:
  - (void)method {
      NSNumber *one = @1;
      NSNumber *twentyFive = @25;
  }

to:
  - (void)method {
      NSNumber *one        = @1;
      NSNumber *twentyFive = @25;
  }

Patch by Matt Oakes. Thank you!

Accidentally reformatted all the tests...

llvm-svn: 236100

9 years ago[mips] Correct 128-bit shifts on 64-bit targets.
Daniel Sanders [Wed, 29 Apr 2015 12:28:58 +0000 (12:28 +0000)]
[mips] Correct 128-bit shifts on 64-bit targets.

Summary:
The existing code was correct for 32-bit GPR's but not 64-bit GPR's. It now
accounts for both cases.

Reviewers: vkalintiris

Reviewed By: vkalintiris

Subscribers: llvm-commits, mohit.bhakkad, sagar

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

llvm-svn: 236099

9 years agoThis patch adds support aarch64-linux-gnu (SysV) abi in lldb.
Omair Javaid [Wed, 29 Apr 2015 11:52:35 +0000 (11:52 +0000)]
This patch adds support aarch64-linux-gnu (SysV) abi in lldb.

This code is also an import from MacOSx implementation as SysV abi is
similar to what has been implemented for MacOS but may require a few tweaks.

http://reviews.llvm.org/D8538

llvm-svn: 236098

9 years agoThis patch adds required piece of code for SysV Abi for arm.
Omair Javaid [Wed, 29 Apr 2015 10:49:45 +0000 (10:49 +0000)]
This patch adds required piece of code for SysV Abi for arm.

Its mostly imported from MacOSx ABI for arm which is similar.

Further tweaking a updates may be required at a later stage.

http://reviews.llvm.org/D8539

llvm-svn: 236097

9 years ago[mips] [IAS] Inline assemble-time shifting out of createLShiftOri. NFC.
Toma Tabacu [Wed, 29 Apr 2015 10:19:56 +0000 (10:19 +0000)]
[mips] [IAS] Inline assemble-time shifting out of createLShiftOri. NFC.

Summary:
Do the assemble-time shifts from createLShiftOri at the source, which groups all the shifting together, closer to the main logic path, and
store the results in concisely-named variables to improve code clarity.

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits

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

llvm-svn: 236096

9 years agoFix bug in gdb-remote xml parser which failed to parse xml split over multiple rsp...
Aidan Dodds [Wed, 29 Apr 2015 10:08:17 +0000 (10:08 +0000)]
Fix bug in gdb-remote xml parser which failed to parse xml split over multiple rsp packets.

llvm-svn: 236095

9 years agofixed 80-chars; NFC
Elena Demikhovsky [Wed, 29 Apr 2015 08:49:57 +0000 (08:49 +0000)]
fixed 80-chars; NFC

llvm-svn: 236093

9 years agoFixed masked gather/scatter switch-case
Elena Demikhovsky [Wed, 29 Apr 2015 08:38:53 +0000 (08:38 +0000)]
Fixed masked gather/scatter switch-case

llvm-svn: 236092

9 years agoclang-format: Fix selective indentaiton in nested blocks.
Daniel Jasper [Wed, 29 Apr 2015 08:29:26 +0000 (08:29 +0000)]
clang-format: Fix selective indentaiton in nested blocks.

Buggy case:
  someFunction(
      [] {
        // comment
        int i; // invoke formatting here.
      },       // force line break
      aaa);

llvm-svn: 236091

9 years agoAdd support for -stack-list-variables.
Hafiz Abid Qadeer [Wed, 29 Apr 2015 08:18:41 +0000 (08:18 +0000)]
Add support for -stack-list-variables.

This command is able to list both local variables and stack arguments for a specific thread/frame.
Args are denoted with 'arg="1"'.
Patch from Chuck Ries.

llvm-svn: 236090

9 years ago[TableGen] Use range-based for loops. NFC.
Craig Topper [Wed, 29 Apr 2015 07:13:14 +0000 (07:13 +0000)]
[TableGen] Use range-based for loops. NFC.

llvm-svn: 236089

9 years ago[TableGen] Fold a couple dyn_casts into the ifs that check their results. NFC
Craig Topper [Wed, 29 Apr 2015 07:13:12 +0000 (07:13 +0000)]
[TableGen] Fold a couple dyn_casts into the ifs that check their results. NFC

llvm-svn: 236088

9 years ago[TableGen] Replace some dyn_casts followed by an assert with just a regular cast...
Craig Topper [Wed, 29 Apr 2015 07:13:05 +0000 (07:13 +0000)]
[TableGen] Replace some dyn_casts followed by an assert with just a regular cast which asserts internally. NFC

llvm-svn: 236087