platform/upstream/llvm.git
11 years agoFix the lldb build after the removal of mblaze.
Rafael Espindola [Thu, 25 Jul 2013 19:36:13 +0000 (19:36 +0000)]
Fix the lldb build after the removal of mblaze.

llvm-svn: 187151

11 years agoDebug Info: improve the verifier to check field types.
Manman Ren [Thu, 25 Jul 2013 19:33:30 +0000 (19:33 +0000)]
Debug Info: improve the verifier to check field types.

Make sure the context field of DIType is MDNode.
Fix testing cases to make them pass the verifier.

llvm-svn: 187150

11 years agoSet thread names on FreeBSD
Ed Maste [Thu, 25 Jul 2013 19:10:32 +0000 (19:10 +0000)]
Set thread names on FreeBSD

Also move the logic to shorten thread names from linux/Host.cpp to a new
SetShortThreadName as both FreeBSD and Linux need the functionality.

llvm-svn: 187149

11 years agoCorrect typo in comments
Ed Maste [Thu, 25 Jul 2013 19:05:00 +0000 (19:05 +0000)]
Correct typo in comments

llvm-svn: 187148

11 years agoRemove unused code
Ed Maste [Thu, 25 Jul 2013 19:02:57 +0000 (19:02 +0000)]
Remove unused code

- ReadLocker constructors that take a lock
- Unconditional Lock::ReadLock and ReadLocker::Lock
  (all consumers use TryLock)
- Make Unlock protected, as it has no external consumers

llvm-svn: 187147

11 years agoRemove empty directories
Rafael Espindola [Thu, 25 Jul 2013 18:58:58 +0000 (18:58 +0000)]
Remove empty directories

llvm-svn: 187146

11 years agoRemove the mblaze backend from llvm.
Rafael Espindola [Thu, 25 Jul 2013 18:55:05 +0000 (18:55 +0000)]
Remove the mblaze backend from llvm.

Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html

llvm-svn: 187145

11 years agoRemove the mblaze backend from clang.
Rafael Espindola [Thu, 25 Jul 2013 18:42:13 +0000 (18:42 +0000)]
Remove the mblaze backend from clang.

Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html

llvm-svn: 187143

11 years agotests: Mark expected FreeBSD failures due to pr16699
Ed Maste [Thu, 25 Jul 2013 18:36:09 +0000 (18:36 +0000)]
tests: Mark expected FreeBSD failures due to pr16699

FreeBSD's Host class doesn't yet return a list of running processes,
so 'platform process list' fails and attach by process name does not
work.

llvm-svn: 187142

11 years agoRegAllocGreedy comment.
Andrew Trick [Thu, 25 Jul 2013 18:35:22 +0000 (18:35 +0000)]
RegAllocGreedy comment.

llvm-svn: 187141

11 years agoEvict local live ranges if they can be reassigned.
Andrew Trick [Thu, 25 Jul 2013 18:35:19 +0000 (18:35 +0000)]
Evict local live ranges if they can be reassigned.

The previous change to local live range allocation also suppressed
eviction of local ranges. In rare cases, this could result in more
expensive register choices. This commit actually revives a feature
that I added long ago: check if live ranges can be reassigned before
eviction. But now it only happens in rare cases of evicting a local
live range because another local live range wants a cheaper register.

The benefit is improved code size for some benchmarks on x86 and armv7.

I measured no significant compile time increase and performance
changes are noise.

llvm-svn: 187140

11 years agoAllocate local registers in order for optimal coloring.
Andrew Trick [Thu, 25 Jul 2013 18:35:14 +0000 (18:35 +0000)]
Allocate local registers in order for optimal coloring.

Also avoid locals evicting locals just because they want a cheaper register.

Problem: MI Sched knows exactly how many registers we have and assumes
they can be colored. In cases where we have large blocks, usually from
unrolled loops, greedy coloring fails. This is a source of
"regressions" from the MI Scheduler on x86. I noticed this issue on
x86 where we have long chains of two-address defs in the same live
range. It's easy to see this in matrix multiplication benchmarks like
IRSmk and even the unit test misched-matmul.ll.

A fundamental difference between the LLVM register allocator and
conventional graph coloring is that in our model a live range can't
discover its neighbors, it can only verify its neighbors. That's why
we initially went for greedy coloring and added eviction to deal with
the hard cases. However, for singly defined and two-address live
ranges, we can optimally color without visiting neighbors simply by
processing the live ranges in instruction order.

Other beneficial side effects:

It is much easier to understand and debug regalloc for large blocks
when the live ranges are allocated in order. Yes, global allocation is
still very confusing, but it's nice to be able to comprehend what
happened locally.

Heuristics could be added to bias register assignment based on
instruction locality (think late register pairing, banks...).

Intuituvely this will make some test cases that are on the threshold
of register pressure more stable.

llvm-svn: 187139

11 years agoAdd a way to add a kind-value string pair to an attribute.
Bill Wendling [Thu, 25 Jul 2013 18:34:24 +0000 (18:34 +0000)]
Add a way to add a kind-value string pair to an attribute.

llvm-svn: 187138

11 years agoAdd explicit braces to quiet the "avoid dangling else" warning from clang.
Greg Clayton [Thu, 25 Jul 2013 18:29:25 +0000 (18:29 +0000)]
Add explicit braces to quiet the "avoid dangling else" warning from clang.

llvm-svn: 187137

11 years agotypo.
Adrian Prantl [Thu, 25 Jul 2013 17:52:30 +0000 (17:52 +0000)]
typo.

llvm-svn: 187135

11 years agotests: Mark expected FreeBSD failures due to pr16706
Ed Maste [Thu, 25 Jul 2013 17:23:10 +0000 (17:23 +0000)]
tests: Mark expected FreeBSD failures due to pr16706

Watchpoints are not yet working on FreeBSD

llvm-svn: 187134

11 years ago[analyzer] Add regression test for the crash in PR16664.
Jordan Rose [Thu, 25 Jul 2013 17:22:05 +0000 (17:22 +0000)]
[analyzer] Add regression test for the crash in PR16664.

This goes with r186925, which reverted Pavel's commit in r186498.

Also, add a correctness test for the future.

llvm-svn: 187133

11 years ago[analyzer] Weaken assertion to account for pointer-to-integer casts.
Jordan Rose [Thu, 25 Jul 2013 17:22:02 +0000 (17:22 +0000)]
[analyzer] Weaken assertion to account for pointer-to-integer casts.

PR16690

llvm-svn: 187132

11 years agotests: Mark expected FreeBSD failures due to pr16696
Ed Maste [Thu, 25 Jul 2013 17:17:15 +0000 (17:17 +0000)]
tests: Mark expected FreeBSD failures due to pr16696

Live debugging for threaded inferiors is not yet implemented on FreeBSD

llvm-svn: 187131

11 years agoCurrent batch of -disable-debug-info-verifier.
Rafael Espindola [Thu, 25 Jul 2013 17:16:05 +0000 (17:16 +0000)]
Current batch of -disable-debug-info-verifier.

llvm-svn: 187130

11 years agoSkip dead-strip test also on FreeBSD
Ed Maste [Thu, 25 Jul 2013 16:53:38 +0000 (16:53 +0000)]
Skip dead-strip test also on FreeBSD

-dead_strip isn't supported by FreeBSD's ld.

llvm-svn: 187129

11 years agoAArch64: add llc-based tests for previous commit.
Tim Northover [Thu, 25 Jul 2013 16:23:55 +0000 (16:23 +0000)]
AArch64: add llc-based tests for previous commit.

Better to have tests run even on non-AArch64 platforms.

llvm-svn: 187128

11 years agoAnnote expected failures on FreeBSD due to pr14540
Ed Maste [Thu, 25 Jul 2013 16:08:48 +0000 (16:08 +0000)]
Annote expected failures on FreeBSD due to pr14540

PR title updated to indicate that FreeBSD is also affected: Backtrace
command does not display c++ member function names on Linux or FreeBSD

llvm-svn: 187127

11 years agoAArch64: fix even more JIT failures
Tim Northover [Thu, 25 Jul 2013 16:03:54 +0000 (16:03 +0000)]
AArch64: fix even more JIT failures

The last patch corrected some issues, but constant-pool entries had actual
codegen bugs in the large memory model (which MCJIT uses).

llvm-svn: 187126

11 years agoFixes LLDB address ranges with gcc 4.8
Ashok Thirumurthi [Thu, 25 Jul 2013 15:13:50 +0000 (15:13 +0000)]
Fixes LLDB address ranges with gcc 4.8
- Modifies the DWARF parser for DWARF 4 specification of hi_pc as an offset-from-low-pc.

llvm-svn: 187125

11 years agoDon't end a file name with a dot. It looks odd.
Rafael Espindola [Thu, 25 Jul 2013 15:00:17 +0000 (15:00 +0000)]
Don't end a file name with a dot. It looks odd.

llvm-svn: 187124

11 years agoMove not past env.
Rafael Espindola [Thu, 25 Jul 2013 14:52:56 +0000 (14:52 +0000)]
Move not past env.

This only makes a difference with broken versions of env (like the one in
gnutools32) that always return 0.

llvm-svn: 187123

11 years agoDon't pass %s twice to clang -cc1.
Rafael Espindola [Thu, 25 Jul 2013 13:45:29 +0000 (13:45 +0000)]
Don't pass %s twice to clang -cc1.

The reason this clang invocation was failing is that it had two %s. We would
close stdout after the first one and report a fatal error when trying to
print the second.

llvm-svn: 187122

11 years agoFix test execution on FreeBSD versions other than 9.x
Ed Maste [Thu, 25 Jul 2013 13:24:34 +0000 (13:24 +0000)]
Fix test execution on FreeBSD versions other than 9.x

The tests use a plugin based on the name from sys.platform.
Unfortunately that string includes the major version number in
Python 2.7, so the tests would look for builder_freebsd9.py,
builder_freebsd10.py, etc.

The issue doesn't affect Linux as Python returns 'linux2' also
on Linux 3.x -- see http://bugs.python.org/issue12326 for details.

It seems later versions of Python will drop the major version
number, so adopt this convention now for FreeBSD.

llvm-svn: 187121

11 years agoAArch64: don't mask off shift bits when processing JIT relocations.
Tim Northover [Thu, 25 Jul 2013 12:42:52 +0000 (12:42 +0000)]
AArch64: don't mask off shift bits when processing JIT relocations.

This should actually make the MCJIT tests pass again on AArch64. I don't know
how I missed their failure before.

llvm-svn: 187120

11 years agoFix a bug in TableGen where the intrinsic function name recognizer could mis-identify...
Justin Holewinski [Thu, 25 Jul 2013 12:32:00 +0000 (12:32 +0000)]
Fix a bug in TableGen where the intrinsic function name recognizer could mis-identify names if one was a prefix substring of the other

For two intrinsics 'llvm.nvvm.texsurf.handle' and 'llvm.nvvm.texsurf.handle.internal',
TableGen was emitting matching code like:

  if (Name.startswith("llvm.nvvm.texsurf.handle")) ...
  if (Name.startswith("llvm.nvvm.texsurf.handle.internal")) ...

We can never match "llvm.nvvm.texsurf.handle.internal" here because it will
always be erroneously matched by the first condition.

The fix is to sort the intrinsic names and emit them in reverse order.

llvm-svn: 187119

11 years agoclang-format: Fix switch/case interaction with macros.
Daniel Jasper [Thu, 25 Jul 2013 11:31:57 +0000 (11:31 +0000)]
clang-format: Fix switch/case interaction with macros.

Before:
  #define OPERATION_CASE(name) \
    case OP_name:              \
    return operations::Operation##name

  switch (OpCode) {
      CASE(Add);
      CASE(Subtract);
    default:
      return operations::Unknown;
  }

After:
  #define OPERATION_CASE(name) \
    case OP_name:              \
      return operations::Operation##name;

  switch (OpCode) {
    CASE(Add);
    CASE(Subtract);
    default:
      return operations::Unknown;
  }

llvm-svn: 187118

11 years agoFix a comment cut-&-pasto.
Richard Sandiford [Thu, 25 Jul 2013 10:53:02 +0000 (10:53 +0000)]
Fix a comment cut-&-pasto.

llvm-svn: 187117

11 years ago[SystemZ] Rework compare and branch support
Richard Sandiford [Thu, 25 Jul 2013 09:34:38 +0000 (09:34 +0000)]
[SystemZ] Rework compare and branch support

Before the patch we took advantage of the fact that the compare and
branch are glued together in the selection DAG and fused them together
(where possible) while emitting them.  This seemed to work well in practice.
However, fusing the compare so early makes it harder to remove redundant
compares in cases where CC already has a suitable value.  This patch
therefore uses the peephole analyzeCompare/optimizeCompareInstr pair of
functions instead.

No behavioral change intended, but it paves the way for a later patch.

llvm-svn: 187116

11 years agoUse memoization for has()-matcher.
Daniel Jasper [Thu, 25 Jul 2013 09:32:14 +0000 (09:32 +0000)]
Use memoization for has()-matcher.

In TUs with large classes, a matcher like

  methodDecl(ofClass(recordDecl(has(varDecl()))))

(finding all member functions of classes with static variables)
becomes unbearably slow otherwise.

llvm-svn: 187115

11 years agoBlockGenerator: Split getNewValue.
Hongbin Zheng [Thu, 25 Jul 2013 09:12:07 +0000 (09:12 +0000)]
BlockGenerator: Split getNewValue.

Split the old getNewValue into two parts:

1. The function "lookupAvailableValue" that return the new version of
the instruction which is already available.

2. The function calls "lookupAvailableValue", and tries to generate
the new version if it is not available yet.

llvm-svn: 187114

11 years ago[SystemZ] Add LOCR and LOCGR
Richard Sandiford [Thu, 25 Jul 2013 09:11:15 +0000 (09:11 +0000)]
[SystemZ] Add LOCR and LOCGR

llvm-svn: 187113

11 years ago[SystemZ] Add LOC and LOCG
Richard Sandiford [Thu, 25 Jul 2013 09:04:52 +0000 (09:04 +0000)]
[SystemZ] Add LOC and LOCG

As with the stores, these instructions can trap when the condition is false,
so they are only used for things like (cond ? x : *ptr).

llvm-svn: 187112

11 years ago[SystemZ] Add STOC and STOCG
Richard Sandiford [Thu, 25 Jul 2013 08:57:02 +0000 (08:57 +0000)]
[SystemZ] Add STOC and STOCG

These instructions are allowed to trap even if the condition is false,
so for now they are only used for "*ptr = (cond ? x : *ptr)"-style
constructs.

llvm-svn: 187111

11 years agoMI Sched: Register pressure heuristics.
Andrew Trick [Thu, 25 Jul 2013 07:26:35 +0000 (07:26 +0000)]
MI Sched: Register pressure heuristics.

Consider which set is being increased or decreased before comparing.

llvm-svn: 187110

11 years agoMI Sched: track register pressure by importance of the set, not weight of the units.
Andrew Trick [Thu, 25 Jul 2013 07:26:32 +0000 (07:26 +0000)]
MI Sched: track register pressure by importance of the set, not weight of the units.

llvm-svn: 187109

11 years agoRegPressure: Order the "pressure sets" by number of regunits per set.
Andrew Trick [Thu, 25 Jul 2013 07:26:29 +0000 (07:26 +0000)]
RegPressure: Order the "pressure sets" by number of regunits per set.

This lets heuristics easily pick the most important set to follow.

llvm-svn: 187108

11 years agoDump LIS before regalloc. MI sched changes them.
Andrew Trick [Thu, 25 Jul 2013 07:26:26 +0000 (07:26 +0000)]
Dump LIS before regalloc. MI sched changes them.

llvm-svn: 187107

11 years agoDebug Info: improve the verifier to check field types.
Manman Ren [Thu, 25 Jul 2013 06:43:01 +0000 (06:43 +0000)]
Debug Info: improve the verifier to check field types.

Make sure the context and type fields are MDNodes. We will generate
verification errors if those fields are non-empty strings.
Fix testing cases to make them pass the verifier.

llvm-svn: 187106

11 years agoFix incorrect documentation generation for type matchers.
Manuel Klimek [Thu, 25 Jul 2013 06:05:50 +0000 (06:05 +0000)]
Fix incorrect documentation generation for type matchers.

llvm-svn: 187104

11 years agoRespect llvm.used in Internalize.
Rafael Espindola [Thu, 25 Jul 2013 03:23:25 +0000 (03:23 +0000)]
Respect llvm.used in Internalize.

The language reference says that:

"If a symbol appears in the @llvm.used list, then the compiler,
assembler, and linker are required to treat the symbol as if there is
a reference to the symbol that it cannot see"

Since even the linker cannot see the reference, we must assume that
the reference can be using the symbol table. For example, a user can add
__attribute__((used)) to a debug helper function like dump and use it from
a debugger.

llvm-svn: 187103

11 years agoScopDetect: Only track detection failures if actually needed.
Tobias Grosser [Thu, 25 Jul 2013 03:02:29 +0000 (03:02 +0000)]
ScopDetect: Only track detection failures if actually needed.

String operations resulted by raw_string_ostream in the INVALID macro can lead
to significant compile-time overhead when compiling large size source code.
This is because raw_string_ostream relies on TypeFinder class, whose
compile-time cost increases as the size of the module increases. This patch
targets to ensure that it only track detection failures if actually needed.
In this way, we can avoid expensive string operations in normal execution.

With this patch file, the relative compile-time cost of Polly-detect pass does
not increase even when compiling very large size source code.

Contributed-by: Star Tan <tanmx_star@yeah.net>
llvm-svn: 187102

11 years agoConvert line endings to unix style
Tobias Grosser [Thu, 25 Jul 2013 03:02:26 +0000 (03:02 +0000)]
Convert line endings to unix style

llvm-svn: 187101

11 years ago[PECOFF][Driver] Allow multiple /include options.
Rui Ueyama [Thu, 25 Jul 2013 02:57:39 +0000 (02:57 +0000)]
[PECOFF][Driver] Allow multiple /include options.

llvm-svn: 187100

11 years agoCheck that TD isn't NULL before dereferencing it down this path.
Nick Lewycky [Thu, 25 Jul 2013 02:55:14 +0000 (02:55 +0000)]
Check that TD isn't NULL before dereferencing it down this path.

llvm-svn: 187099

11 years agoMake these methods const correct.
Rafael Espindola [Thu, 25 Jul 2013 02:50:08 +0000 (02:50 +0000)]
Make these methods const correct.

Thanks to Nick Lewycky for noticing it.

llvm-svn: 187098

11 years agoAvoid recursions when the parser finds out that it has too many brackets.
Rafael Espindola [Thu, 25 Jul 2013 02:11:20 +0000 (02:11 +0000)]
Avoid recursions when the parser finds out that it has too many brackets.

BalancedDelimiterTracker::diagnoseOverflow calls P.SkipUntil, and before this
patch P.SkipUnti is recursive, causing problems on systems with small stacks.
This patch fixes it by making P.SkipUnti non recursive when just looking for
eof.

llvm-svn: 187097

11 years agoAdd another C++14 constexpr test case.
Richard Smith [Thu, 25 Jul 2013 01:53:54 +0000 (01:53 +0000)]
Add another C++14 constexpr test case.

llvm-svn: 187096

11 years ago[PECOFF] Add /failifmismatch option.
Rui Ueyama [Thu, 25 Jul 2013 01:23:50 +0000 (01:23 +0000)]
[PECOFF] Add /failifmismatch option.

llvm-svn: 187095

11 years agoHandle the case where we are stepping through code with no symbols, so we can't reall...
Jim Ingham [Thu, 25 Jul 2013 00:59:01 +0000 (00:59 +0000)]
Handle the case where we are stepping through code with no symbols, so we can't really find the function start PC
and so the StackID changes with every step.  Do so by checking the parent frame ID, and if it hasn't changed,
then we haven't stepped in.

rdar://problem/14516227

llvm-svn: 187094

11 years agoReplace the "NoFramePointerElimNonLeaf" target option with a function attribute.
Bill Wendling [Thu, 25 Jul 2013 00:34:29 +0000 (00:34 +0000)]
Replace the "NoFramePointerElimNonLeaf" target option with a function attribute.

There's no need to specify a flag to omit frame pointer elimination on non-leaf
nodes...(Honestly, I can't parse that option out.) Use the function attribute
stuff instead.

llvm-svn: 187093

11 years agoReplace the "NoFramePointerElimNonLeaf" target option with a function attribute.
Bill Wendling [Thu, 25 Jul 2013 00:32:41 +0000 (00:32 +0000)]
Replace the "NoFramePointerElimNonLeaf" target option with a function attribute.

llvm-svn: 187092

11 years ago[PECOFF][Driver] Simplify option definitions.
Rui Ueyama [Thu, 25 Jul 2013 00:32:19 +0000 (00:32 +0000)]
[PECOFF][Driver] Simplify option definitions.

It's still not as simple as it should be because of the many duplicated
lines, but it's at least better than before.

llvm-svn: 187091

11 years agoDebug Info: Fine-tune the simple return expression location handling to
Adrian Prantl [Thu, 25 Jul 2013 00:23:42 +0000 (00:23 +0000)]
Debug Info: Fine-tune the simple return expression location handling to
only affect functions without a separate return block. This fixes the
linetable for void functions with cleanups and multiple returns.

llvm-svn: 187090

11 years agotypo.
Adrian Prantl [Thu, 25 Jul 2013 00:23:37 +0000 (00:23 +0000)]
typo.

llvm-svn: 187089

11 years agoAdd helpful accessor methods to get the specified function attribute.
Bill Wendling [Wed, 24 Jul 2013 23:45:00 +0000 (23:45 +0000)]
Add helpful accessor methods to get the specified function attribute.

llvm-svn: 187088

11 years agoUpdate link for the SysV x86_64 ABI standard doc; x86-64.org has
Jason Molenda [Wed, 24 Jul 2013 23:25:27 +0000 (23:25 +0000)]
Update link for the SysV x86_64 ABI standard doc; x86-64.org has
been down for months and is likely no longer supported.  This was
the most stable-looking link I could find for the current (0.99.6)
version of the ABI doc.

llvm-svn: 187087

11 years ago[PECOFF] Use Windows style options instead of Unix style as primary options.
Rui Ueyama [Wed, 24 Jul 2013 23:18:02 +0000 (23:18 +0000)]
[PECOFF] Use Windows style options instead of Unix style as primary options.

LLD still accepts both Unix and Windows style options when it's run as
link.exe. This patch does not change functionality.

llvm-svn: 187086

11 years agoDocumentation parsing: if typedef name is being declared
Fariborz Jahanian [Wed, 24 Jul 2013 22:58:51 +0000 (22:58 +0000)]
Documentation parsing: if typedef name is being declared
via a macro, try using declaration's starting location.
This is improvement over not having a valid location and
dropping comment altogether. // rdar://14348912

llvm-svn: 187085

11 years ago[PECOFF] Add /include command line option.
Rui Ueyama [Wed, 24 Jul 2013 22:53:23 +0000 (22:53 +0000)]
[PECOFF] Add /include command line option.

The /include command line option is equivalent to Unix --undefined
option, which forces the linker to resolve the given symbol name
as if it's an unresolved symbol in one of its input files. This feature
is used to link an additional object file or a shared library that no
input files refer to.

llvm-svn: 187084

11 years agoUpdate testing cases to pass debug info verifier.
Manman Ren [Wed, 24 Jul 2013 22:23:00 +0000 (22:23 +0000)]
Update testing cases to pass debug info verifier.

llvm-svn: 187083

11 years agoSimplify code - no functionality change.
Eli Bendersky [Wed, 24 Jul 2013 22:20:49 +0000 (22:20 +0000)]
Simplify code - no functionality change.

getToolChain().getTriple().getArch() can be replaced by getToolChain().getArch()

llvm-svn: 187082

11 years agoModify ProcessPOSIX to use the thread list mutex as needed
Daniel Malea [Wed, 24 Jul 2013 21:44:30 +0000 (21:44 +0000)]
Modify ProcessPOSIX to use the thread list mutex as needed
- should resolve (at least some) of the spurious crashes we are seeing in multithreaded tests on Linux (and likely FreeBSD)

llvm-svn: 187081

11 years agoFix test suite make so that -std=c++11 gets set properly for supported compilers...
Matt Kopec [Wed, 24 Jul 2013 21:39:24 +0000 (21:39 +0000)]
Fix test suite make so that -std=c++11 gets set properly for supported compilers and -std=c++0x gets set only for gcc 4.6 versions. Previously, -std=c++0x was being set for all compilers.

llvm-svn: 187080

11 years agoPartial revert of r185568.
Eli Bendersky [Wed, 24 Jul 2013 21:22:01 +0000 (21:22 +0000)]
Partial revert of r185568.

r186899 and r187061 added a preferred way for some architectures not to get
intrinsic generation for math builtins. So the code changes in r185568 can
now be undone (the test remains).

llvm-svn: 187079

11 years agoliteral suffixes for std::chrono
Marshall Clow [Wed, 24 Jul 2013 21:18:14 +0000 (21:18 +0000)]
literal suffixes for std::chrono

llvm-svn: 187078

11 years agotests: Mark expected FreeBSD failures due to pr16696
Ed Maste [Wed, 24 Jul 2013 21:09:24 +0000 (21:09 +0000)]
tests: Mark expected FreeBSD failures due to pr16696

Live debugging of threaded inferiors is currently unimplemented for
FreeBSD.

llvm-svn: 187077

11 years agoSpeling.
Jakob Stoklund Olesen [Wed, 24 Jul 2013 20:47:57 +0000 (20:47 +0000)]
Speling.

llvm-svn: 187076

11 years agotypo.
Adrian Prantl [Wed, 24 Jul 2013 20:44:20 +0000 (20:44 +0000)]
typo.

llvm-svn: 187075

11 years agoDebug Info: Fix an oversight of r186553. Ensure that the function prologue
Adrian Prantl [Wed, 24 Jul 2013 20:34:39 +0000 (20:34 +0000)]
Debug Info: Fix an oversight of r186553. Ensure that the function prologue
of an artificial function gets an artificial location as well.

llvm-svn: 187074

11 years agoadd radar number to testcase.
Adrian Prantl [Wed, 24 Jul 2013 20:34:34 +0000 (20:34 +0000)]
add radar number to testcase.

llvm-svn: 187073

11 years agotests: Mark expected FreeBSD failures due to pr16697
Ed Maste [Wed, 24 Jul 2013 20:30:34 +0000 (20:30 +0000)]
tests: Mark expected FreeBSD failures due to pr16697

These fail due to:
error: Expression can't be run, because there is no JIT compiled function

llvm-svn: 187072

11 years agoFix a bug in IfConverter with nested predicates.
Quentin Colombet [Wed, 24 Jul 2013 20:20:37 +0000 (20:20 +0000)]
Fix a bug in IfConverter with nested predicates.

Prior to this patch, IfConverter may widen the cases where a sequence of
instructions were executed because of the way it uses nested predicates. This
result in incorrect execution.

For instance, Let A be a basic block that flows conditionally into B and B be a
predicated block.
B can be predicated with A.BrToBPredicate into A iff B.Predicate is less
"permissive" than A.BrToBPredicate, i.e., iff A.BrToBPredicate subsumes
B.Predicate.

The IfConverter was checking the opposite: B.Predicate subsumes
A.BrToBPredicate.

<rdar://problem/14379453>

llvm-svn: 187071

11 years agotest_iter_registers is expected to fail on FreeBSD
Ed Maste [Wed, 24 Jul 2013 19:49:20 +0000 (19:49 +0000)]
test_iter_registers is expected to fail on FreeBSD

Added comment to llvm.org/pr14600 that it fails on FreeBSD in the same way
as Linux.

llvm-svn: 187070

11 years agoAdd expectedFailureFreeBSD test wrapper
Ed Maste [Wed, 24 Jul 2013 19:47:08 +0000 (19:47 +0000)]
Add expectedFailureFreeBSD test wrapper

llvm-svn: 187069

11 years agoObjective-C migrator: some cleanup.
Fariborz Jahanian [Wed, 24 Jul 2013 19:18:37 +0000 (19:18 +0000)]
Objective-C migrator: some cleanup.
Expose static type of init/alloc/retain with
instance type as well. Ad-hoc cases are coming
next.

llvm-svn: 187068

11 years agoFix doxygen warnings
Ariel J. Bernal [Wed, 24 Jul 2013 19:14:57 +0000 (19:14 +0000)]
Fix doxygen warnings
Doxygen doesn't recognize <blockquote> html tags. Added support for <blockquote>
and Markdown was introduce with doxygen 1.8.0. This patch replaces blockquote
with \par for compatibility with previous versions.

llvm-svn: 187067

11 years agoUpdate testing cases to pass debug info verifier.
Manman Ren [Wed, 24 Jul 2013 18:56:43 +0000 (18:56 +0000)]
Update testing cases to pass debug info verifier.

llvm-svn: 187066

11 years agoAdd not to a command that is expected to fail.
Rafael Espindola [Wed, 24 Jul 2013 18:45:44 +0000 (18:45 +0000)]
Add not to a command that is expected to fail.

llvm-svn: 187065

11 years agoadd -disable-debug-info-verifier to 3 test to fix tests with pipefail.
Rafael Espindola [Wed, 24 Jul 2013 18:44:10 +0000 (18:44 +0000)]
add -disable-debug-info-verifier to 3 test to fix tests with pipefail.

llvm-svn: 187064

11 years ago[mips] Make MipsAsmParser::parseCCRRegs return NoMatch instead of ParseFail
Akira Hatanaka [Wed, 24 Jul 2013 18:43:52 +0000 (18:43 +0000)]
[mips] Make MipsAsmParser::parseCCRRegs return NoMatch instead of ParseFail
when there wasn't a match. This behavior is consistent with other register
parsing methods.

llvm-svn: 187063

11 years agoObjectiveC migration: Method candidates for
Fariborz Jahanian [Wed, 24 Jul 2013 18:31:42 +0000 (18:31 +0000)]
ObjectiveC migration: Method candidates for
migrating to instancetype can have implicit 'id'
type too.

llvm-svn: 187062

11 years agoPass -fno-math-builtin from the Clang driver to -cc1 for the l32 arch.
Eli Bendersky [Wed, 24 Jul 2013 18:20:14 +0000 (18:20 +0000)]
Pass -fno-math-builtin from the Clang driver to -cc1 for the l32 arch.

llvm-svn: 187061

11 years ago<rdar://problem/14521548>
Greg Clayton [Wed, 24 Jul 2013 18:17:35 +0000 (18:17 +0000)]
<rdar://problem/14521548>

Fixed a crasher where if you accidentally specify a size that is too large when reading memory, LLDB would crash.

llvm-svn: 187060

11 years agoAdded get_num_groups
Aaron Watry [Wed, 24 Jul 2013 18:03:38 +0000 (18:03 +0000)]
Added get_num_groups

The get_num_groups function was missing for r600g. I did the same
thing as the other workitem functions.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 187059

11 years agoRename feature test for lambda init-captures from cxx_generalized_capture to
Richard Smith [Wed, 24 Jul 2013 17:51:13 +0000 (17:51 +0000)]
Rename feature test for lambda init-captures from cxx_generalized_capture to
cxx_init_capture. "generalized" is neither descriptive nor future-proof. No
compatibility problems expected, since we've never advertised having this
feature.

llvm-svn: 187058

11 years agoDon't rely on C99 for loop initializers in test case
Stefanus Du Toit [Wed, 24 Jul 2013 17:48:04 +0000 (17:48 +0000)]
Don't rely on C99 for loop initializers in test case

This allows compilation of the test case with GCC 4.8.

llvm-svn: 187057

11 years agoUpdate old llc documentation.
Jakob Stoklund Olesen [Wed, 24 Jul 2013 17:45:11 +0000 (17:45 +0000)]
Update old llc documentation.

Patch by Hafiz Abid!

llvm-svn: 187056

11 years agoUpdate documentation to match current C++1y feature set.
Richard Smith [Wed, 24 Jul 2013 17:41:31 +0000 (17:41 +0000)]
Update documentation to match current C++1y feature set.

llvm-svn: 187055

11 years agoMake test pass in Release builds, IR names don't get emitted there.
Benjamin Kramer [Wed, 24 Jul 2013 17:27:08 +0000 (17:27 +0000)]
Make test pass in Release builds, IR names don't get emitted there.

llvm-svn: 187054

11 years ago[mips] Remove XFAIL from test-ptr-reloc-remote.ll
Petar Jovanovic [Wed, 24 Jul 2013 17:14:05 +0000 (17:14 +0000)]
[mips] Remove XFAIL from test-ptr-reloc-remote.ll

The change r187019 has fixed multiple relocations in dynamic linker for
MIPS, so now this test passes for MIPS.

llvm-svn: 187053

11 years agoDebug Info: improve the Finder.
Manman Ren [Wed, 24 Jul 2013 17:10:09 +0000 (17:10 +0000)]
Debug Info: improve the Finder.

Improve the Finder to handle context of a DIVariable used by DbgValueInst.
Fix testing cases to make them pass the verifier.

llvm-svn: 187052

11 years agoUse ARM-style representation for C++ method pointers under PNaCl/Emscripten
Mark Seaborn [Wed, 24 Jul 2013 16:25:13 +0000 (16:25 +0000)]
Use ARM-style representation for C++ method pointers under PNaCl/Emscripten

Before this change, Clang uses the x86 representation for C++ method
pointers when generating code for PNaCl.  However, the resulting code
will assume that function pointers are 0 mod 2.  This assumption is
not safe for PNaCl, where function pointers could have any value
(especially in future sandboxing models).

So, switch to using the ARM representation for PNaCl code, which makes
no assumptions about the alignment of function pointers.

Since we're changing the "le32" target, this change also applies to
Emscripten.  The change is beneficial for Emscripten too.  Emscripten
has a workaround to make function pointers 0 mod 2.  This change would
allow the workaround to be removed.

See: https://code.google.com/p/nativeclient/issues/detail?id=3450
llvm-svn: 187051

11 years agoTRE: Move class into anonymous namespace.
Benjamin Kramer [Wed, 24 Jul 2013 16:12:08 +0000 (16:12 +0000)]
TRE: Move class into anonymous namespace.

While there shrink a dangerously large SmallPtrSet.

llvm-svn: 187050

11 years agoUpdate testing cases to pass debug info verifier.
Manman Ren [Wed, 24 Jul 2013 15:55:41 +0000 (15:55 +0000)]
Update testing cases to pass debug info verifier.

llvm-svn: 187049