platform/upstream/llvm.git
11 years ago[ASan] Remove the 'alarm' script which isn't present on OS X by default.
Alexander Potapenko [Thu, 14 Feb 2013 12:18:07 +0000 (12:18 +0000)]
[ASan] Remove the 'alarm' script which isn't present on OS X by default.
The test may hang now if a regression occurs.

llvm-svn: 175155

11 years agotsan: fix bug in suppression reading (suppressions from file were discarded)
Dmitry Vyukov [Thu, 14 Feb 2013 11:03:45 +0000 (11:03 +0000)]
tsan: fix bug in suppression reading (suppressions from file were discarded)

llvm-svn: 175153

11 years agoRemove the trailing whitespace of formatted lines.
Daniel Jasper [Thu, 14 Feb 2013 09:58:41 +0000 (09:58 +0000)]
Remove the trailing whitespace of formatted lines.

So far, clang-format has always assumed the whitespace belonging to the
subsequent token. This has the negative side-effect that when
clang-format formats a line, it does not remove its trailing whitespace,
as it belongs to the next token.

Thus, this patch fixes most of llvm.org/PR15062.

We are not zapping a file's trailing whitespace so far, as this does not
belong to any token we see during formatting. We need to fix this in a
subsequent patch.

llvm-svn: 175152

11 years agoGet less confused by trailing comma in Google style.
Daniel Jasper [Thu, 14 Feb 2013 09:19:04 +0000 (09:19 +0000)]
Get less confused by trailing comma in Google style.

The formatter can now format:
void aaaaaaaaaaaaaaaaaa(int level,
                        double *min_x,
                        double *max_x,
                        double *min_y,
                        double *max_y,
                        double *min_z,
                        double *max_z, ) {
}

Although this is invalid code, it frequently happens during development and
clang-format should be nicer :-).

llvm-svn: 175151

11 years agoMoved line-info.ll to DebugInfo\X86 directory
Elena Demikhovsky [Thu, 14 Feb 2013 09:07:34 +0000 (09:07 +0000)]
Moved line-info.ll to DebugInfo\X86 directory

llvm-svn: 175150

11 years agoAdd some legality checks for SETCC before introducing it in the DAG combiner post...
Owen Anderson [Thu, 14 Feb 2013 09:07:33 +0000 (09:07 +0000)]
Add some legality checks for SETCC before introducing it in the DAG combiner post-operand legalization.

llvm-svn: 175149

11 years agoRemove accidentally committed empty test.
Daniel Jasper [Thu, 14 Feb 2013 08:45:14 +0000 (08:45 +0000)]
Remove accidentally committed empty test.

llvm-svn: 175148

11 years agoAlign superclasses for multiple inheritence.
Daniel Jasper [Thu, 14 Feb 2013 08:42:54 +0000 (08:42 +0000)]
Align superclasses for multiple inheritence.

This fixes llvm.org/PR15179.

Before:
class ColorChooserMac : public content::ColorChooser,
    public content::WebContentsObserver {
};

After:
class ColorChooserMac : public content::ColorChooser,
                        public content::WebContentsObserver {
};

llvm-svn: 175147

11 years agoThe test failed on Windows. I've changed the platform to run to "x86_64-apple-darwin".
Elena Demikhovsky [Thu, 14 Feb 2013 08:23:08 +0000 (08:23 +0000)]
The test failed on Windows. I've changed the platform to run to "x86_64-apple-darwin".

llvm-svn: 175146

11 years ago[sanitizer] Raise argv limit for ReExec.
Evgeniy Stepanov [Thu, 14 Feb 2013 08:22:06 +0000 (08:22 +0000)]
[sanitizer] Raise argv limit for ReExec.

We are still limited by /proc/*/cmdline size (4Kb max on Linux!).

llvm-svn: 175145

11 years agoFixed a bug in X86TargetLowering::LowerVectorIntExtend() (assertion failure).
Elena Demikhovsky [Thu, 14 Feb 2013 08:20:26 +0000 (08:20 +0000)]
Fixed a bug in X86TargetLowering::LowerVectorIntExtend() (assertion failure).
Added a test.

llvm-svn: 175144

11 years agoRevert accidental commit.
Bill Wendling [Thu, 14 Feb 2013 08:18:53 +0000 (08:18 +0000)]
Revert accidental commit.

llvm-svn: 175143

11 years ago[asan] use short path for sanitizer_common/tests/sanitizer_test_utils.h, add -I sanit...
Kostya Serebryany [Thu, 14 Feb 2013 08:12:26 +0000 (08:12 +0000)]
[asan] use short path for sanitizer_common/tests/sanitizer_test_utils.h, add -I sanitizer_common/tests to asan/tests/CMakeLists.txt

llvm-svn: 175142

11 years agoPass the target options through to code generation.
Bill Wendling [Thu, 14 Feb 2013 08:09:20 +0000 (08:09 +0000)]
Pass the target options through to code generation.

The code generation stuff is going to set attributes on the functions it
generates. To do that it needs the target options. Pass them through.

llvm-svn: 175141

11 years ago[asan] fix x32 build (H.J. Lu)
Kostya Serebryany [Thu, 14 Feb 2013 08:05:55 +0000 (08:05 +0000)]
[asan] fix x32 build (H.J. Lu)

llvm-svn: 175140

11 years agoR600/SI: Check for empty stack in SIAnnotateControlFlow::isTopOfStack
Michel Danzer [Thu, 14 Feb 2013 08:00:33 +0000 (08:00 +0000)]
R600/SI: Check for empty stack in SIAnnotateControlFlow::isTopOfStack

Fixes assertion failure in newly added lit test. Might just be a bandaid that
needs to be revisited.

llvm-svn: 175139

11 years agoR600: Add lit tests for texture sampling instruction selection.
Michel Danzer [Thu, 14 Feb 2013 07:43:51 +0000 (07:43 +0000)]
R600: Add lit tests for texture sampling instruction selection.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 175138

11 years ago[tsan] disable a failing test until it gets fixed. fix lint
Kostya Serebryany [Thu, 14 Feb 2013 06:54:51 +0000 (06:54 +0000)]
[tsan] disable a failing test until it gets fixed. fix lint

llvm-svn: 175137

11 years ago<rdar://problem/13207948>
Greg Clayton [Thu, 14 Feb 2013 04:15:23 +0000 (04:15 +0000)]
<rdar://problem/13207948>

"watchpoint set expression" fails if "--" is present without any option. Made this command match exactly what "expression" does.

llvm-svn: 175136

11 years ago<rdar://problem/13200878>
Greg Clayton [Thu, 14 Feb 2013 03:54:39 +0000 (03:54 +0000)]
<rdar://problem/13200878>

When launching in the shell, make sure if you specify a relative path, and if the current working directory has a space in it, that we don't hose the shell invocation.

Currently if we launch with a relative path, we prepend the current working directory to the PATH using:

PATH=`cwd`:$PATH a.out ...

We needed to add quotes around the value for PATH to make sure if any paths in PATH contained spaces, that we don't hose the shell command. Now we do a:

PATH="`cwd`:$PATH" a.out ...

llvm-svn: 175135

11 years agoReapply "s/grep/FileCheck/ in some tests"
Andrew Trick [Thu, 14 Feb 2013 03:45:08 +0000 (03:45 +0000)]
Reapply "s/grep/FileCheck/ in some tests"

This reverts commit fd1335e982bbf93c5f450ed4fd29f9f787435c85.

Use a triple this time.

llvm-svn: 175134

11 years agoRevert r175120 and r175121. Clang is producing the expected asm names again.
Rafael Espindola [Thu, 14 Feb 2013 03:33:34 +0000 (03:33 +0000)]
Revert r175120 and r175121. Clang is producing the expected asm names again.

llvm-svn: 175133

11 years agoPartially revert r175117 so that we don't break assumptions about how
Rafael Espindola [Thu, 14 Feb 2013 03:31:26 +0000 (03:31 +0000)]
Partially revert r175117 so that we don't break assumptions about how
static functions in extern "C" contexts are mangled. Should fix the
bootstrap.

llvm-svn: 175132

11 years ago<rdar://problem/13198767>
Greg Clayton [Thu, 14 Feb 2013 03:26:35 +0000 (03:26 +0000)]
<rdar://problem/13198767>

When dumping instructions, resolve the address specified as a file address if the target doesn't have anything loaded.

llvm-svn: 175131

11 years agoRegisterCoalescer::reMaterializeTrivialDef() can constrain the destination
Cameron Zwarich [Thu, 14 Feb 2013 03:25:24 +0000 (03:25 +0000)]
RegisterCoalescer::reMaterializeTrivialDef() can constrain the destination
register class to match the defining instruction.

llvm-svn: 175130

11 years agoAdd missing typename to unbreak the MSVC 2012 build.
Francois Pichet [Thu, 14 Feb 2013 03:24:14 +0000 (03:24 +0000)]
Add missing typename to unbreak the MSVC 2012 build.

llvm-svn: 175129

11 years agoTeach the DataLayout aware constant folder to be much more aggressive towards
Nick Lewycky [Thu, 14 Feb 2013 03:23:37 +0000 (03:23 +0000)]
Teach the DataLayout aware constant folder to be much more aggressive towards
'and' instructions. This is a pattern that shows up a lot in ubsan binaries.

llvm-svn: 175128

11 years agoAdd a test for handling a function call that throws an exception, and make it work.
Jim Ingham [Thu, 14 Feb 2013 03:05:42 +0000 (03:05 +0000)]
Add a test for handling a function call that throws an exception, and make it work.

<rdar://problem/13183944>

llvm-svn: 175127

11 years agoRemove the form field from Mips16 instruction formats and set things
Reed Kotler [Thu, 14 Feb 2013 03:05:25 +0000 (03:05 +0000)]
Remove the form field from Mips16 instruction formats and set things
up so that we can apply the direct object emitter patch. This patch
should be a nop right now and it's test is to not break what is already
there.

llvm-svn: 175126

11 years agoProbably should return that value we took the trouble to compute.
Jim Ingham [Thu, 14 Feb 2013 03:04:50 +0000 (03:04 +0000)]
Probably should return that value we took the trouble to compute.

llvm-svn: 175125

11 years agoRevert "s/grep/FileCheck/ in some tests"
Andrew Trick [Thu, 14 Feb 2013 03:00:57 +0000 (03:00 +0000)]
Revert "s/grep/FileCheck/ in some tests"

This reverts commit 8b75e6bc35fb3f9c1e788dbd05084c0f4a60a0f3.

The FileCheck tests are not equivalent:

test/CodeGen/X86/tailcall-structret.ll:6:10: error: expected string not found in input
; CHECK: jmp init
         ^
<stdin>:1:2: note: scanning from here
 .section __TEXT,__text,regular,pure_instructions
 ^
<stdin>:13:2: note: possible intended match here
 jmp _init ## TAILCALL
 ^

llvm-svn: 175124

11 years agoFix RegisterCoalescer::rematerializeTrivialDef() so that it works on flipped
Cameron Zwarich [Thu, 14 Feb 2013 02:51:05 +0000 (02:51 +0000)]
Fix RegisterCoalescer::rematerializeTrivialDef() so that it works on flipped
CoalescerPairs. Also, make it take a CoalescerPair directly like other methods
of RegisterCoalescer.

llvm-svn: 175123

11 years agoFix some issues with rematerialization in RegisterCoalescer when the destination
Cameron Zwarich [Thu, 14 Feb 2013 02:51:03 +0000 (02:51 +0000)]
Fix some issues with rematerialization in RegisterCoalescer when the destination
of the copy is a subregister def. The current code assumes that it can do a full
def of the destination register, but it is not checking that the def operand is
read-undef. It also doesn't clear the subregister index of the destination in
the new instruction to reflect the full subregister def.

These issues were found running 'make check' with my next commit that enables
rematerialization in more cases.

llvm-svn: 175122

11 years agoDon't assume the mangling of static functions.
Rafael Espindola [Thu, 14 Feb 2013 02:49:18 +0000 (02:49 +0000)]
Don't assume the mangling of static functions.

llvm-svn: 175121

11 years agoDon't asume that a static function in an extern "C" block will not be mangled.
Rafael Espindola [Thu, 14 Feb 2013 01:58:08 +0000 (01:58 +0000)]
Don't asume that a static function in an extern "C" block will not be mangled.
Since functions with internal linkage don't have language linkage, it is valid
to overload them:

extern "C" {
       static int foo();
       static int foo(int);
}

So we mangle them.

llvm-svn: 175120

11 years agomerge hasCLanguageLinkage and isExternC. Keep the shorter name.
Rafael Espindola [Thu, 14 Feb 2013 01:47:04 +0000 (01:47 +0000)]
merge hasCLanguageLinkage and isExternC. Keep the shorter name.

I added hasCLanguageLinkage while fixing some language linkage bugs some
time ago so that I wouldn't have to check all users of isExternC. It turned
out to be a much longer detour than expected, but this patch finally
merges the two again. The isExternC function now implements just the
standard notion of having C language linkage.

llvm-svn: 175119

11 years agoInitial docs directory
Edwin Vane [Thu, 14 Feb 2013 01:34:59 +0000 (01:34 +0000)]
Initial docs directory

Adding a new docs directory, with files auto-generated by sphinx-quickstart,
for user documentation for the various tools in the clang-tools-extra
repository.

Author: Jack Yang <jack.yang@intel.com>
Reviewers: gribozavr, silvas
llvm-svn: 175118

11 years agoAdd a getLanguageLinkage method to VarDecls and FunctionDecls. Use it to fix
Rafael Espindola [Thu, 14 Feb 2013 01:18:37 +0000 (01:18 +0000)]
Add a getLanguageLinkage method to VarDecls and FunctionDecls. Use it to fix
some cases where functions with no language linkage were being treated as having
C language linkage. In particular, don't warn in

extern "C" {
  static NonPod foo();
}

Since getLanguageLinkage checks the language linkage, the linkage computation
cannot use the language linkage. Break the loop by checking just the context
in the linkage computation.

llvm-svn: 175117

11 years agoWhen marking derived classes' virtual methods ODR-used in order to trigger
Nick Lewycky [Thu, 14 Feb 2013 00:55:17 +0000 (00:55 +0000)]
When marking derived classes' virtual methods ODR-used in order to trigger
instantiation in order to permit devirtualization later in codegen, skip over
pure functions since those can't be devirtualization targets.

llvm-svn: 175116

11 years agoTeach ccc-analyze to pass on -iquote with no spaces between it an the argument.
Ted Kremenek [Thu, 14 Feb 2013 00:32:25 +0000 (00:32 +0000)]
Teach ccc-analyze to pass on -iquote with no spaces between it an the argument.

llvm-svn: 175115

11 years agoFix broken testcase: ignore LLDB output that warns about more elements than can be...
Daniel Malea [Thu, 14 Feb 2013 00:30:40 +0000 (00:30 +0000)]
Fix broken testcase: ignore LLDB output that warns about more elements than can be displayed.
- test could be re-written at some point, but right now just trying to clean up known failures for the linux buildbot.

llvm-svn: 175114

11 years agoActually fix rendering of the example code block!
Richard Smith [Thu, 14 Feb 2013 00:23:04 +0000 (00:23 +0000)]
Actually fix rendering of the example code block!

llvm-svn: 175113

11 years agoSome grammar fixes to 'Format String Checking', and reorder the text slightly to...
Richard Smith [Thu, 14 Feb 2013 00:22:00 +0000 (00:22 +0000)]
Some grammar fixes to 'Format String Checking', and reorder the text slightly to try to make the final code block actually get rendered.

llvm-svn: 175112

11 years agoMarking two tests expected-to-fail on Linux
Daniel Malea [Thu, 14 Feb 2013 00:20:44 +0000 (00:20 +0000)]
Marking two tests expected-to-fail on Linux
- PR-15260: lldb does not display correct value of 1-bit field
- PR-16261: lldb does not display size of (file/class) static array

llvm-svn: 175111

11 years agoDocument Clang's support for [[gnu::...]] attributes.
Richard Smith [Thu, 14 Feb 2013 00:13:34 +0000 (00:13 +0000)]
Document Clang's support for [[gnu::...]] attributes.

llvm-svn: 175110

11 years ago[docs] The stat cache has been removed from the PCH, update the docs to remove mentio...
Argyrios Kyrtzidis [Thu, 14 Feb 2013 00:12:44 +0000 (00:12 +0000)]
[docs] The stat cache has been removed from the PCH, update the docs to remove mentions of it.

llvm-svn: 175109

11 years agoCentralized the expression prefixes that are used for both expressions and utility...
Greg Clayton [Wed, 13 Feb 2013 23:57:48 +0000 (23:57 +0000)]
Centralized the expression prefixes that are used for both expressions and utility functions.

llvm-svn: 175108

11 years agotemporarily revert the patch due to some conflicts
Weiming Zhao [Wed, 13 Feb 2013 23:24:40 +0000 (23:24 +0000)]
temporarily revert the patch due to some conflicts

llvm-svn: 175107

11 years agoA lot more cleanup on the AppleObjCRuntimeV2 class.
Greg Clayton [Wed, 13 Feb 2013 23:22:26 +0000 (23:22 +0000)]
A lot more cleanup on the AppleObjCRuntimeV2 class.

llvm-svn: 175106

11 years agoCleaned up and removed unused code.
Greg Clayton [Wed, 13 Feb 2013 23:09:45 +0000 (23:09 +0000)]
Cleaned up and removed unused code.

llvm-svn: 175105

11 years agoRetain the name of the new internal global that's been shrunk.
Bill Wendling [Wed, 13 Feb 2013 23:00:51 +0000 (23:00 +0000)]
Retain the name of the new internal global that's been shrunk.

It's possible (e.g. after an LTO build) that an internal global may be used for
debugging purposes. If that's the case appending a '.b' to it makes it hard to
find that variable. Steal the name from the old GV before deleting it so that
they can find that variable again.

llvm-svn: 175104

11 years agoSkip another two other tests asserting on Linux in RecordLayoutBuilder::updateExterna...
Matt Kopec [Wed, 13 Feb 2013 22:59:58 +0000 (22:59 +0000)]
Skip another two other tests asserting on Linux in RecordLayoutBuilder::updateExternalFieldOffset().

llvm-svn: 175103

11 years agoHexagon: add support for predicate-GPR copies.
Anshuman Dasgupta [Wed, 13 Feb 2013 22:56:34 +0000 (22:56 +0000)]
Hexagon: add support for predicate-GPR copies.

llvm-svn: 175102

11 years ago<rdar://problem/13210494>
Greg Clayton [Wed, 13 Feb 2013 22:56:14 +0000 (22:56 +0000)]
<rdar://problem/13210494>

Parse objective C information as efficiently as possible and without taking dangerous runtime locks.

Reworked the way objective C information is parsed by:
1 - don't read all class names up front, this is about 500K of data with names
2 - add a 32 bit hash map that maps a hash of a name to the Class pointer (isa)
3 - Improved name lookups by using the new hash map
4 - split up reading the objc runtime info into dynamic and shared cache since the shared cache only needs to be read once.
5 - When reading all isa values, also get the 32 bit hash instead of the name
6 - Read names lazily now that we don't need all names up front
7 - Allow the hash maps to not be there and still have this function correctly

There is dead code in here with all of the various methods I tried. I want to check this in first to not lose any of it in case we need to revert to any of the extra code. I will promptly cleanup and commit again.

llvm-svn: 175101

11 years agoobjective-C: Make order of ivars which are synthesized
Fariborz Jahanian [Wed, 13 Feb 2013 22:50:36 +0000 (22:50 +0000)]
objective-C: Make order of ivars which are synthesized
in the course of property synthesis deterministic (ordered
by their type size), instead of having hashtable order
(as it is currently). // rdar://13192366

llvm-svn: 175100

11 years agollvm-gcc -pedantic warns about C++ comments in C90 mode even if they're
Alex Rosenberg [Wed, 13 Feb 2013 22:45:52 +0000 (22:45 +0000)]
llvm-gcc -pedantic warns about C++ comments in C90 mode even if they're
inside an #if 0 block.

llvm-svn: 175098

11 years agoFix iterator definitions for ImmutableSet and ImmutableMap.
Ryan Govostes [Wed, 13 Feb 2013 22:37:27 +0000 (22:37 +0000)]
Fix iterator definitions for ImmutableSet and ImmutableMap.

llvm-svn: 175097

11 years agoR600: Add support for 128-bit parameters
Tom Stellard [Wed, 13 Feb 2013 22:05:20 +0000 (22:05 +0000)]
R600: Add support for 128-bit parameters

NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 175096

11 years agoSkip test that causes lldb to assert due to inferior getting a SIGSEGV with si_code...
Daniel Malea [Wed, 13 Feb 2013 22:05:18 +0000 (22:05 +0000)]
Skip test that causes lldb to assert due to inferior getting a SIGSEGV with si_code == SI_KERNEL (PR-15258)
- crash does not always reproduce

llvm-svn: 175095

11 years agoAllow expression evaluation to work when multiple threads exist in the inferior ...
Daniel Malea [Wed, 13 Feb 2013 22:00:44 +0000 (22:00 +0000)]
Allow expression evaluation to work when multiple threads exist in the inferior (on Linux)
- handle m_resume_state == eStateStopped || eStateSuspended in DoResume rather than asserting

llvm-svn: 175094

11 years agos/grep/FileCheck/ in some tests
Eli Bendersky [Wed, 13 Feb 2013 22:00:37 +0000 (22:00 +0000)]
s/grep/FileCheck/ in some tests

llvm-svn: 175093

11 years agoDon't build tail calls to functions with three inreg arguments on x86-32 PIC.
Nick Lewycky [Wed, 13 Feb 2013 21:59:15 +0000 (21:59 +0000)]
Don't build tail calls to functions with three inreg arguments on x86-32 PIC.
Fixes PR15250!

llvm-svn: 175092

11 years agoMade NULL, nil, and Nil use the appropriate
Sean Callanan [Wed, 13 Feb 2013 21:53:01 +0000 (21:53 +0000)]
Made NULL, nil, and Nil use the appropriate
builtins.

<rdar://problem/13204027>

llvm-svn: 175091

11 years agoRemove outdated performance.html webpage.
Tanya Lattner [Wed, 13 Feb 2013 21:51:18 +0000 (21:51 +0000)]
Remove outdated performance.html webpage.

llvm-svn: 175090

11 years agos/grep/FileCheck/ in some tests
Eli Bendersky [Wed, 13 Feb 2013 21:46:38 +0000 (21:46 +0000)]
s/grep/FileCheck/ in some tests

llvm-svn: 175089

11 years agoBug fix 13622: Add paired register support for inline asm with 64-bit data on ARM
Weiming Zhao [Wed, 13 Feb 2013 21:43:02 +0000 (21:43 +0000)]
Bug fix 13622: Add paired register support for inline asm with 64-bit data on ARM

llvm-svn: 175088

11 years ago[ms-inline asm] Fix up test case for non-Darwin platforms.
Chad Rosier [Wed, 13 Feb 2013 21:41:58 +0000 (21:41 +0000)]
[ms-inline asm] Fix up test case for non-Darwin platforms.

llvm-svn: 175087

11 years agoHexagon: Use absolute addressing mode loads/stores for global+offset
Jyotsna Verma [Wed, 13 Feb 2013 21:38:46 +0000 (21:38 +0000)]
Hexagon: Use absolute addressing mode loads/stores for global+offset
instead of redefining separate instructions for them.

llvm-svn: 175086

11 years agoAdd iterator_traits to ImmutableMap and ImmutableSet.
Ryan Govostes [Wed, 13 Feb 2013 21:38:22 +0000 (21:38 +0000)]
Add iterator_traits to ImmutableMap and ImmutableSet.

llvm-svn: 175085

11 years ago[ms-inline asm] Add test case for r175083.
Chad Rosier [Wed, 13 Feb 2013 21:34:54 +0000 (21:34 +0000)]
[ms-inline asm] Add test case for r175083.

llvm-svn: 175084

11 years ago[ms-inline-asm] Add support for memory references that have non-immediate
Chad Rosier [Wed, 13 Feb 2013 21:33:44 +0000 (21:33 +0000)]
[ms-inline-asm] Add support for memory references that have non-immediate
displacements.
rdar://12974533

llvm-svn: 175083

11 years ago[ms-inline asm] Add a comment about the determinism of the rewrite sort.
Chad Rosier [Wed, 13 Feb 2013 21:27:17 +0000 (21:27 +0000)]
[ms-inline asm] Add a comment about the determinism of the rewrite sort.

llvm-svn: 175082

11 years agoconfigure: remove workaround for gcc's -Wno-maybe-uninitialized
Dmitri Gribenko [Wed, 13 Feb 2013 21:19:39 +0000 (21:19 +0000)]
configure: remove workaround for gcc's -Wno-maybe-uninitialized

Since r174770 gcc version check is not needed because CXX_FLAG_CHECK
implements the workaround itself.

llvm-svn: 175080

11 years agoubsan: Add checking for invalid downcasts. Per [expr.static.cast]p2 and p11,
Richard Smith [Wed, 13 Feb 2013 21:18:23 +0000 (21:18 +0000)]
ubsan: Add checking for invalid downcasts. Per [expr.static.cast]p2 and p11,
base-to-derived casts have undefined behavior if the object is not actually an
instance of the derived type. Runtime library part.

llvm-svn: 175079

11 years agoubsan: Add checking for invalid downcasts. Per [expr.static.cast]p2 and p11,
Richard Smith [Wed, 13 Feb 2013 21:18:23 +0000 (21:18 +0000)]
ubsan: Add checking for invalid downcasts. Per [expr.static.cast]p2 and p11,
base-to-derived casts have undefined behavior if the object is not actually an
instance of the derived type.

llvm-svn: 175078

11 years ago[docs] PR15254: Add "AST" to the lexicon.
Sean Silva [Wed, 13 Feb 2013 21:17:20 +0000 (21:17 +0000)]
[docs] PR15254: Add "AST" to the lexicon.

llvm-svn: 175077

11 years agoLoopVectorize: Simplify code for clarity.
Benjamin Kramer [Wed, 13 Feb 2013 21:12:29 +0000 (21:12 +0000)]
LoopVectorize: Simplify code for clarity.

No functionality change.

llvm-svn: 175076

11 years agoAdd a blurb about the attributes changes to the release notes.
Bill Wendling [Wed, 13 Feb 2013 21:10:15 +0000 (21:10 +0000)]
Add a blurb about the attributes changes to the release notes.

llvm-svn: 175075

11 years agoAllow breaking after the return type in function declarations.
Daniel Jasper [Wed, 13 Feb 2013 20:33:44 +0000 (20:33 +0000)]
Allow breaking after the return type in function declarations.

This has so far been disabled for Google style, but should be done
before breaking at nested name specifiers or in template parameters.

Before (in Google style):
template <typename T>
aaaaaaaa::aaaaa::aaaaaa<T, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<
    T>::aaaaaaa() {}

After:
template <typename T>
aaaaaaaa::aaaaa::aaaaaa<T, aaaaaaaaaaaaaaaaaaaaaaaaa>
aaaaaaaaaaaaaaaaaaaaaaaa<T>::aaaaaaa() {}

llvm-svn: 175074

11 years agoFor Mips 16, add the optimization where the 16 bit form of addiu sp can be used
Reed Kotler [Wed, 13 Feb 2013 20:28:27 +0000 (20:28 +0000)]
For Mips 16, add the optimization where the 16 bit form of addiu sp can be used
if the offset fits in 11 bits. This makes use of the fact that the abi
requires sp to be 8 byte aligned so the actual offset can fit in 8
bits. It will be shifted left and sign extended before being actually used.
The assembler or direct object emitter will shift right the 11 bit
signed field by 3 bits. We don't need to deal with that here.

llvm-svn: 175073

11 years agoClean up LDV, no functionality change.
Manman Ren [Wed, 13 Feb 2013 20:23:48 +0000 (20:23 +0000)]
Clean up LDV, no functionality change.

Remove dead functions: renameRegister
Move private member variables from LDV to Impl
Remove ssp/uwtable from testing case

llvm-svn: 175072

11 years agoImproved handling for DW_AT_const_value
Andrew Kaylor [Wed, 13 Feb 2013 19:57:06 +0000 (19:57 +0000)]
Improved handling for DW_AT_const_value

llvm-svn: 175071

11 years agoUse 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple...
Bill Wendling [Wed, 13 Feb 2013 19:44:17 +0000 (19:44 +0000)]
Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way.

llvm-svn: 175070

11 years agoUse 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple...
Bill Wendling [Wed, 13 Feb 2013 19:44:08 +0000 (19:44 +0000)]
Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way.

llvm-svn: 175069

11 years agoFix comment alignment close to the column limit.
Daniel Jasper [Wed, 13 Feb 2013 19:25:54 +0000 (19:25 +0000)]
Fix comment alignment close to the column limit.

Due to an error in one of the expressions, we used to not align comments
although it would have been possible.

llvm-svn: 175068

11 years agoMIsched: HazardRecognizers are created for each DAG. Free them.
Andrew Trick [Wed, 13 Feb 2013 19:22:27 +0000 (19:22 +0000)]
MIsched: HazardRecognizers are created for each DAG. Free them.

llvm-svn: 175067

11 years agoPR14992 - Tablegen incorrectly converts ARM tLDMIA_UPD pseudo to tLDMIA
David Peixotto [Wed, 13 Feb 2013 19:21:47 +0000 (19:21 +0000)]
PR14992 - Tablegen incorrectly converts ARM tLDMIA_UPD pseudo to tLDMIA

Fixed bug in tablegen conversion when source pseudo instruction has
a different number of arguments than the destination instruction.

llvm-svn: 175066

11 years agoSkip tests that assert on Linux in RecordLayoutBuilder::updateExternalFieldOffset()
Daniel Malea [Wed, 13 Feb 2013 18:56:41 +0000 (18:56 +0000)]
Skip tests that assert on Linux in RecordLayoutBuilder::updateExternalFieldOffset()
- Filed bugzilla PR-15256

llvm-svn: 175065

11 years agoDisable TestConditionalBreak.py due to Linux crash
Daniel Malea [Wed, 13 Feb 2013 18:55:17 +0000 (18:55 +0000)]
Disable TestConditionalBreak.py due to Linux crash
- test was passing before r174793...

llvm-svn: 175064

11 years ago[ms-inline-asm] Use an array_pod_sort, rather than a std:sort.
Chad Rosier [Wed, 13 Feb 2013 18:38:58 +0000 (18:38 +0000)]
[ms-inline-asm] Use an array_pod_sort, rather than a std:sort.

llvm-svn: 175063

11 years ago[libclang] Fix annotation of a range where the begin or end location
Argyrios Kyrtzidis [Wed, 13 Feb 2013 18:33:28 +0000 (18:33 +0000)]
[libclang] Fix annotation of a range where the begin or end location
is inside a macro argument.

Previously we would give up and not annotate anything in the range.
rdar://11891550

llvm-svn: 175062

11 years agoQuiet "the missing case in switch statement" warnings from newer clang builds.
Greg Clayton [Wed, 13 Feb 2013 18:15:56 +0000 (18:15 +0000)]
Quiet "the missing case in switch statement" warnings from newer clang builds.

llvm-svn: 175061

11 years agoMetadata for annotating loops as parallel. The first consumer for this
Pekka Jaaskelainen [Wed, 13 Feb 2013 18:08:57 +0000 (18:08 +0000)]
Metadata for annotating loops as parallel. The first consumer for this
metadata is the loop vectorizer.

See the documentation update for more info.

llvm-svn: 175060

11 years ago[ASan] When re-executing the process on OS X, make sure we update the existing DYLD_I...
Alexander Potapenko [Wed, 13 Feb 2013 17:52:55 +0000 (17:52 +0000)]
[ASan] When re-executing the process on OS X, make sure we update the existing DYLD_INSERT_LIBRARIES correctly.
Previously ASan used to hang in an exec loop, because it failed to overwrite the env var value
(see https://code.google.com/p/address-sanitizer/issues/detail?id=159).

llvm-svn: 175059

11 years agoAdd registration for PPC-specific passes to allow the IR to be dumped
Krzysztof Parzyszek [Wed, 13 Feb 2013 17:40:07 +0000 (17:40 +0000)]
Add registration for PPC-specific passes to allow the IR to be dumped
via -print-after-all.

llvm-svn: 175058

11 years agoX86: Disable generation of rep;movsl when %esi is used as a base pointer.
Benjamin Kramer [Wed, 13 Feb 2013 13:40:35 +0000 (13:40 +0000)]
X86: Disable generation of rep;movsl when %esi is used as a base pointer.

This happens when there is both stack realignment and a dynamic alloca in the
function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the
base pointer and the next register spill will write into oblivion.

Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas
and freebsd a 4 byte stack alignment.

llvm-svn: 175057

11 years agotsan: do not imitate memory write on malloc() (Go)
Dmitry Vyukov [Wed, 13 Feb 2013 13:05:36 +0000 (13:05 +0000)]
tsan: do not imitate memory write on malloc() (Go)
better memory range access functions (put only 1 event to trace) (Go)

llvm-svn: 175056

11 years agoMention AArch64 in release notes for 3.3
Tim Northover [Wed, 13 Feb 2013 12:46:32 +0000 (12:46 +0000)]
Mention AArch64 in release notes for 3.3

llvm-svn: 175055

11 years ago... and now fix the +Asserts build
Timur Iskhodzhanov [Wed, 13 Feb 2013 12:24:19 +0000 (12:24 +0000)]
... and now fix the +Asserts build

llvm-svn: 175054

11 years agoFix the microsoft-abi-structors test expectations to match both Release and Release...
Timur Iskhodzhanov [Wed, 13 Feb 2013 12:14:25 +0000 (12:14 +0000)]
Fix the microsoft-abi-structors test expectations to match both Release and Release+Asserts builds

llvm-svn: 175053