platform/upstream/llvm.git
11 years ago[Modules] Convert module specific -fno-modules-autolink into -fno-autolink.
Daniel Dunbar [Tue, 16 Apr 2013 18:21:19 +0000 (18:21 +0000)]
[Modules] Convert module specific -fno-modules-autolink into -fno-autolink.

 - There is no reason to have a modules specific flag for disabling
   autolinking. Instead, convert the existing flag into -fno-autolink (which
   should cover other autolinking code generation paths like #pragmas if and
   when we support them).

llvm-svn: 179612

11 years agoRemove unused variable from previous refactor.
Chad Rosier [Tue, 16 Apr 2013 18:20:10 +0000 (18:20 +0000)]
Remove unused variable from previous refactor.

llvm-svn: 179611

11 years ago[ms-inline asm] Refactor. No functional change intended.
Chad Rosier [Tue, 16 Apr 2013 18:15:40 +0000 (18:15 +0000)]
[ms-inline asm] Refactor. No functional change intended.

llvm-svn: 179610

11 years agoAdded extra space to end of EXTRA_FLAGS in buildit. This fixes http://llvm.org/bugs...
Howard Hinnant [Tue, 16 Apr 2013 17:34:20 +0000 (17:34 +0000)]
Added extra space to end of EXTRA_FLAGS in buildit.  This fixes llvm.org/bugs/show_bug.cgi?id=15761

llvm-svn: 179609

11 years agoaddressof misbehaving for type with an implicit conversion operator to char&. This...
Howard Hinnant [Tue, 16 Apr 2013 17:27:56 +0000 (17:27 +0000)]
addressof misbehaving for type with an implicit conversion operator to char&.  This fixes llvm.org/bugs/show_bug.cgi?id=15754

llvm-svn: 179608

11 years ago[ms-inline asm] Remove some dead code.
Chad Rosier [Tue, 16 Apr 2013 17:27:40 +0000 (17:27 +0000)]
[ms-inline asm] Remove some dead code.

llvm-svn: 179607

11 years agomodify test to try to make buildbot happy.
Fariborz Jahanian [Tue, 16 Apr 2013 17:18:37 +0000 (17:18 +0000)]
modify test to try to make buildbot happy.

llvm-svn: 179606

11 years ago<rdar://problem/13468295>
Greg Clayton [Tue, 16 Apr 2013 16:51:19 +0000 (16:51 +0000)]
<rdar://problem/13468295>

Show an error message when we have a corrupt mach-o file where the LC_SEGMENT or LC_SEGMENT_64 load command have file offsets or file offsets + sizes that extend beyond the end of the file.

llvm-svn: 179605

11 years agoRemove setjmp.h header file from Sema/return.c test and include necessary
Jyotsna Verma [Tue, 16 Apr 2013 16:10:38 +0000 (16:10 +0000)]
Remove setjmp.h header file from Sema/return.c test and include necessary
declarations explicitly in the test.

llvm-svn: 179604

11 years agoFix PR4296: Add parser detection/error recovery for nested functions, from Serve...
Douglas Gregor [Tue, 16 Apr 2013 16:01:32 +0000 (16:01 +0000)]
Fix PR4296: Add parser detection/error recovery for nested functions, from Serve Pavlov!

llvm-svn: 179603

11 years agoUse -emit-llvm for the following tests to stop them from failing for Hexagon:
Jyotsna Verma [Tue, 16 Apr 2013 15:55:41 +0000 (15:55 +0000)]
Use -emit-llvm for the following tests to stop them from failing for Hexagon:

CodeGenCXX/vtable-debug-info.cpp
Driver/objc++-cpp-output.mm
Driver/objc-cpp-output.m

llvm-svn: 179602

11 years agoCleanup naming: DataLayout s/TD/DL/
Eli Bendersky [Tue, 16 Apr 2013 15:41:18 +0000 (15:41 +0000)]
Cleanup naming: DataLayout s/TD/DL/

llvm-svn: 179601

11 years agoFix handling of atomic shift operations, from Serge Pavlov.
Douglas Gregor [Tue, 16 Apr 2013 15:41:08 +0000 (15:41 +0000)]
Fix handling of atomic shift operations, from Serge Pavlov.

llvm-svn: 179600

11 years agoObjective-C IRGen. Use llvm::WeakVH
Fariborz Jahanian [Tue, 16 Apr 2013 15:25:39 +0000 (15:25 +0000)]
Objective-C IRGen. Use llvm::WeakVH
for caching couple of global symbols used
for generation of CF/NS string meta-data
so they are not released prematuely in certain
corner cases. // rdar:// 13598026.
Reviewed by John M.

llvm-svn: 179599

11 years agoSuppress unused warning on static inline function template specializations.
Rafael Espindola [Tue, 16 Apr 2013 15:21:30 +0000 (15:21 +0000)]
Suppress unused warning on static inline function template specializations.

Patch by Halfdan Ingvarsson!

llvm-svn: 179598

11 years agoWrap macro invocations in braces to supress 'suggest braces around empty body in...
Andy Gibbs [Tue, 16 Apr 2013 15:18:55 +0000 (15:18 +0000)]
Wrap macro invocations in braces to supress 'suggest braces around empty body in an ‘if’ statement' warning.

llvm-svn: 179597

11 years agoAdd support for sparcv9 targets.
Jakob Stoklund Olesen [Tue, 16 Apr 2013 15:17:49 +0000 (15:17 +0000)]
Add support for sparcv9 targets.

The SPARC v8 and SPARC v8 architectures are very similar, so use a base
class to share most information between them.

Include operating systems with known SPARC v9 ports.

Also fix two issues with the SPARC v8 data layout string: SPARC v8 is a
big endian target with a 64-bit aligned stack.

llvm-svn: 179596

11 years ago[asan] Fix spelling in asan_rtl.cc Test commit.
Sergey Matveev [Tue, 16 Apr 2013 14:58:45 +0000 (14:58 +0000)]
[asan] Fix spelling in asan_rtl.cc Test commit.

Reviewers: kcc, glider, samsonov

Reviewed By: glider

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D676

llvm-svn: 179595

11 years ago[msan] Fix gcc build of msan_test.
Evgeniy Stepanov [Tue, 16 Apr 2013 14:09:47 +0000 (14:09 +0000)]
[msan] Fix gcc build of msan_test.

llvm-svn: 179594

11 years agoFix build failure introduced in 179591 when assertions are disabled.
Logan Chien [Tue, 16 Apr 2013 14:02:30 +0000 (14:02 +0000)]
Fix build failure introduced in 179591 when assertions are disabled.

llvm-svn: 179593

11 years ago[sanitizer] Implement wait4 and waitpid syscall hooks.
Evgeniy Stepanov [Tue, 16 Apr 2013 13:06:20 +0000 (13:06 +0000)]
[sanitizer] Implement wait4 and waitpid syscall hooks.

llvm-svn: 179592

11 years agoImplement ARM unwind opcode assembler.
Logan Chien [Tue, 16 Apr 2013 12:02:21 +0000 (12:02 +0000)]
Implement ARM unwind opcode assembler.

llvm-svn: 179591

11 years agoMoved llvm_unreachable out of switch blocks to avoid the "control reaches end of...
Andy Gibbs [Tue, 16 Apr 2013 11:52:34 +0000 (11:52 +0000)]
Moved llvm_unreachable out of switch blocks to avoid the "control reaches end of non-void function" warning.

llvm-svn: 179590

11 years agollvm-objdump: Don't print contents of BSS sections: it makes no sense and crashes...
Alexey Samsonov [Tue, 16 Apr 2013 10:53:11 +0000 (10:53 +0000)]
llvm-objdump: Don't print contents of BSS sections: it makes no sense and crashes llvm-objdump on relocated objects with large bss

llvm-svn: 179589

11 years agoAdd four new functions and one new enum to the C API:
Hans Wennborg [Tue, 16 Apr 2013 08:58:59 +0000 (08:58 +0000)]
Add four new functions and one new enum to the C API:

LLVMGetThreadLocalMode - exposes GlobalVariable::getThreadLocalMode
LLVMSetThreadLocalMode - exposes GlobalVariable::setThreadLocalMode
LLVMIsExternallyInitialized - exposes GlobalVariable::isExternallyInitialized
LLVMSetExternallyInitialized - exposes GlobalVariable::setExternallyInitialized
LLVMThreadLocalMode - maps to GlobalVariable::ThreadLocalMode

Patch by Moritz Maxeiner!

llvm-svn: 179588

11 years agosimplifycfg: Fix integer overflow converting switch into icmp.
Hans Wennborg [Tue, 16 Apr 2013 08:35:36 +0000 (08:35 +0000)]
simplifycfg: Fix integer overflow converting switch into icmp.

If a switch instruction has a case for every possible value of its type,
with the same successor, SimplifyCFG would replace it with an icmp ult,
but the computation of the bound overflows in that case, which inverts
the test.

Patch by Jed Davis!

llvm-svn: 179587

11 years agoSupport SCoPs with multiple entry edges.
Tobias Grosser [Tue, 16 Apr 2013 08:04:42 +0000 (08:04 +0000)]
Support SCoPs with multiple entry edges.

Regions that have multiple entry edges are very common. A simple if condition
yields e.g. such a region:

  if
 /   \
then  else
 \   /
for_region

This for_region contains two entry edges 'then' -> 'for_region' and 'else' -> 'for_region'.

Previously we scheduled the RegionSimplify pass to translate such regions into
simple regions. With this patch, we now support them natively when the region is
in -loop-simplify form, which means the entry block should not be a loop header.

Contributed by:  Star Tan <tanmx_star@yeah.net>

llvm-svn: 179586

11 years agoBasic support for Microsoft property declarations and
John McCall [Tue, 16 Apr 2013 07:28:30 +0000 (07:28 +0000)]
Basic support for Microsoft property declarations and
references thereto.

Patch by Tong Shen!

llvm-svn: 179585

11 years agoUpdate the dyld_all_image_infos size definition in
Jason Molenda [Tue, 16 Apr 2013 06:28:00 +0000 (06:28 +0000)]
Update the dyld_all_image_infos size definition in
DynamicLoaderMacOSXDYLD::ReadAllImageInfosStructure for
version 13 of that structure.

llvm-svn: 179584

11 years agoThe dyld_all_image_infos structure, at version 13 and higher, has
Jason Molenda [Tue, 16 Apr 2013 06:24:42 +0000 (06:24 +0000)]
The dyld_all_image_infos structure, at version 13 and higher, has
a UUID for the shared cache libraries that can be used to confirm
that one process' shared cache is the same as another, or that a
process' in-memory shared cache is a match for a given on-disk
dyld_shared_cache binary file.  Use these UUIDs to catch some
uncommon problems when the shared caches are being changed for debug
purposes.
<rdar://problem/13524467>

llvm-svn: 179583

11 years agoAdd 64-bit multiply and divide instructions for SPARC v9.
Jakob Stoklund Olesen [Tue, 16 Apr 2013 02:57:02 +0000 (02:57 +0000)]
Add 64-bit multiply and divide instructions for SPARC v9.

llvm-svn: 179582

11 years agoCorrectly propagate the storage class to function template instantiations.
Rafael Espindola [Tue, 16 Apr 2013 02:29:15 +0000 (02:29 +0000)]
Correctly propagate the storage class to function template instantiations.

This fixes pr15753. This is another case of the fuzzy definition of the
"as written" storage class of an instantiation.

llvm-svn: 179581

11 years ago[analyzer] Improve the malloc checker stack hint message
Anna Zaks [Tue, 16 Apr 2013 00:22:55 +0000 (00:22 +0000)]
[analyzer] Improve the malloc checker stack hint message

llvm-svn: 179580

11 years agoFix some minor code indentation mistakes in ObjectFileMachO.
Jason Molenda [Tue, 16 Apr 2013 00:18:44 +0000 (00:18 +0000)]
Fix some minor code indentation mistakes in ObjectFileMachO.
No code changes in this checkin, only whitespace.

llvm-svn: 179579

11 years agoNew CallNext action for the test case that causes the next action in the sequence...
Enrico Granata [Mon, 15 Apr 2013 23:52:53 +0000 (23:52 +0000)]
New CallNext action for the test case that causes the next action in the sequence to be called right away

llvm-svn: 179578

11 years agoAdding new Python API function to check for stopped threads.
Andrew Kaylor [Mon, 15 Apr 2013 23:33:53 +0000 (23:33 +0000)]
Adding new Python API function to check for stopped threads.

llvm-svn: 179577

11 years agoAdded logging to each entity in the Materializer
Sean Callanan [Mon, 15 Apr 2013 22:48:23 +0000 (22:48 +0000)]
Added logging to each entity in the Materializer
to make debugging easier when things go wrong.

llvm-svn: 179576

11 years agoARM: Add VACLT and VACLE assembly aliases.
Jim Grosbach [Mon, 15 Apr 2013 22:42:50 +0000 (22:42 +0000)]
ARM: Add VACLT and VACLE assembly aliases.

These are aliases for VACGT and VACGE, respectively, with the source
operands reversed.

rdar://13638090

llvm-svn: 179575

11 years ago[analyzer] Do not crash when processing binary "?:" in C++
Anna Zaks [Mon, 15 Apr 2013 22:38:07 +0000 (22:38 +0000)]
[analyzer] Do not crash when processing binary "?:" in C++

When computing the value of ?: expression, we rely on the last expression in
the previous basic block to be the resulting value of the expression. This is
not the case for binary "?:" operator (GNU extension) in C++. As the last
basic block has the expression for the condition subexpression, which is an
R-value, whereas the true subexpression is the L-value.

Note the operator evaluation just happens to work in C since the true
subexpression is an R-value (like the condition subexpression). CFG is the
same in C and C++ case, but the AST nodes are different, which the LValue to
Rvalue conversion happening after the BinaryConditionalOperator evaluation.

Changed the logic to only use the last expression from the predecessor only
if it matches either true or false subexpression. Note, the logic needed
fortification anyway: L and R were passed but not even used by the function.

Also, change the conjureSymbolVal to correctly compute the type, when the
expression is an LG-value.

llvm-svn: 179574

11 years ago[analyzer] Add pretty printing to CXXBaseObjectRegion.
Anna Zaks [Mon, 15 Apr 2013 22:38:04 +0000 (22:38 +0000)]
[analyzer] Add pretty printing to CXXBaseObjectRegion.

llvm-svn: 179573

11 years ago[analyzer] Address code review for r179395
Anna Zaks [Mon, 15 Apr 2013 22:37:59 +0000 (22:37 +0000)]
[analyzer] Address code review for r179395

Mostly refactoring + handle the nested fields by printing the innermost field only.

llvm-svn: 179572

11 years ago[analyzer] Add more specialized error messages for corner cases as per Jordan's code...
Anna Zaks [Mon, 15 Apr 2013 22:37:53 +0000 (22:37 +0000)]
[analyzer] Add more specialized error messages for corner cases as per Jordan's code review for r179396

llvm-svn: 179571

11 years agoBreak after multiline parameters.
Daniel Jasper [Mon, 15 Apr 2013 22:36:37 +0000 (22:36 +0000)]
Break after multiline parameters.

We do this in general, but missed a few cases.

Before:
void aaaaaaaaaaaaaaaaaaaaaaa(
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbb bbbb);

After:
void aaaaaaaaaaaaaaaaaaaaaaa(
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
    bbbb bbbb);

llvm-svn: 179570

11 years agoWe are not able to bitcast a pointer to an integral value.
Bill Wendling [Mon, 15 Apr 2013 22:33:50 +0000 (22:33 +0000)]
We are not able to bitcast a pointer to an integral value.

Two return types are not equivalent if one is a pointer and the other is an
integral. This is because we cannot bitcast a pointer to an integral value.
PR15185

llvm-svn: 179569

11 years agoFixed outdate comment, and comment typo.
John Thompson [Mon, 15 Apr 2013 22:32:28 +0000 (22:32 +0000)]
Fixed outdate comment, and comment typo.

llvm-svn: 179568

11 years agoMips assembler: Explicit floating point condition register recognition.
Jack Carter [Mon, 15 Apr 2013 22:21:55 +0000 (22:21 +0000)]
Mips assembler: Explicit floating point condition register recognition.

This patch allows the assembler to recognize $fcc0
as a valid register for conditional move instructions.

Corresponding test cases have been added.

Contributer: Vladimir Medic
llvm-svn: 179567

11 years agoFix a grammar mistake, and add a line about the two phases that the BB/SLP vectorizer...
Nadav Rotem [Mon, 15 Apr 2013 22:21:25 +0000 (22:21 +0000)]
Fix a grammar mistake, and add a line about the two phases that the BB/SLP vectorizers have (top-down and bottom-up).

llvm-svn: 179566

11 years agoFix the internal link.
Nadav Rotem [Mon, 15 Apr 2013 22:11:07 +0000 (22:11 +0000)]
Fix the internal link.

llvm-svn: 179565

11 years agoUpdate the release notes about the vectorizers.
Nadav Rotem [Mon, 15 Apr 2013 22:10:39 +0000 (22:10 +0000)]
Update the release notes about the vectorizers.

llvm-svn: 179564

11 years ago[analyzer] Don't assert on a temporary of pointer-to-member type.
Jordan Rose [Mon, 15 Apr 2013 22:03:38 +0000 (22:03 +0000)]
[analyzer] Don't assert on a temporary of pointer-to-member type.

While we don't do anything intelligent with pointers-to-members today,
it's perfectly legal to need a temporary of pointer-to-member type to, say,
pass by const reference. Tweak an assertion to allow this.

PR15742 and PR15747

llvm-svn: 179563

11 years agoSLPVectorizer: Make it a function pass and add code for hoisting the vector-gather...
Nadav Rotem [Mon, 15 Apr 2013 22:00:26 +0000 (22:00 +0000)]
SLPVectorizer: Make it a function pass and add code for hoisting the vector-gather sequence out of loops.

llvm-svn: 179562

11 years agoFixed a few bugs in IRMemoryMap:
Sean Callanan [Mon, 15 Apr 2013 21:35:52 +0000 (21:35 +0000)]
Fixed a few bugs in IRMemoryMap:

- If an allocation is mirrored between the host
  and the process, update the host's version
  before returning a DataExtractor pointing to
  it.

- If anyone attempts to access memory in a
  process/target that does not have a corresponding
  allocation, try accessing the memory directly
  before erroring out.

llvm-svn: 179561

11 years agoMore updates to test cases
Enrico Granata [Mon, 15 Apr 2013 21:26:06 +0000 (21:26 +0000)]
More updates to test cases

llvm-svn: 179560

11 years agoSketch test now runs 10 times
Enrico Granata [Mon, 15 Apr 2013 21:24:00 +0000 (21:24 +0000)]
Sketch test now runs 10 times
Data formatters test outputs stddev

llvm-svn: 179559

11 years agoRemove some dead code that has not been used since 2010.
Joey Gouly [Mon, 15 Apr 2013 21:13:33 +0000 (21:13 +0000)]
Remove some dead code that has not been used since 2010.

llvm-svn: 179558

11 years agoAdded support for registers to the Materializer.
Sean Callanan [Mon, 15 Apr 2013 20:51:24 +0000 (20:51 +0000)]
Added support for registers to the Materializer.
Also improved logging and error handling in a few
spots in the Materializer.

llvm-svn: 179557

11 years agoNumeric parsing was getting the wrong answer when faced with very long inputs. This...
Howard Hinnant [Mon, 15 Apr 2013 20:40:06 +0000 (20:40 +0000)]
Numeric parsing was getting the wrong answer when faced with very long inputs.  This fixes both llvm.org/bugs/show_bug.cgi?id=15751 and http://llvm.org/bugs/show_bug.cgi?id=15740

llvm-svn: 179556

11 years ago[analyzer] Be lazy about struct/array global invalidation too.
Jordan Rose [Mon, 15 Apr 2013 20:39:48 +0000 (20:39 +0000)]
[analyzer] Be lazy about struct/array global invalidation too.

Structs and arrays can take advantage of the single top-level global
symbol optimization (described in the previous commit) just as well
as scalars.

No intended behavioral change.

llvm-svn: 179555

11 years ago[analyzer] Re-enable using global regions as a symbolic base.
Jordan Rose [Mon, 15 Apr 2013 20:39:45 +0000 (20:39 +0000)]
[analyzer] Re-enable using global regions as a symbolic base.

Now that we're invalidating global regions properly, we want to continue
taking advantage of a particular optimization: if all global regions are
invalidated together, we can represent the bindings of each region with
a "derived region value" symbol. Essentially, this lazily links each
global region with a single symbol created at invalidation time, rather
than binding each region with a new symbolic value.

We used to do this, but haven't been for a while; the previous commit
re-enabled this code path, and this handles the fallout.

<rdar://problem/13464044>

llvm-svn: 179554

11 years ago[analyzer] Properly invalidate global regions on opaque function calls.
Jordan Rose [Mon, 15 Apr 2013 20:39:41 +0000 (20:39 +0000)]
[analyzer] Properly invalidate global regions on opaque function calls.

This fixes a regression where a call to a function we can't reason about
would not actually invalidate global regions that had explicit bindings.

  void test_that_now_works() {
    globalInt = 42;
    clang_analyzer_eval(globalInt == 42); // expected-warning{{TRUE}}

    invalidateGlobals();
    clang_analyzer_eval(globalInt == 42); // expected-warning{{UNKNOWN}}
  }

This has probably been around since the initial "cluster" refactoring of
RegionStore, if not longer.

<rdar://problem/13464044>

llvm-svn: 179553

11 years ago[analyzer] Tests: move system functions into system header simulator files.
Jordan Rose [Mon, 15 Apr 2013 20:39:37 +0000 (20:39 +0000)]
[analyzer] Tests: move system functions into system header simulator files.

Some checkers ascribe different behavior to functions declared in system
headers, so when working with standard library functions it's probably best
to always have them in a standard location.

Test change only (no functionality change), but necessary for the next commit.

llvm-svn: 179552

11 years agoFix silly typo that broke big endian hosts.
Rafael Espindola [Mon, 15 Apr 2013 20:13:59 +0000 (20:13 +0000)]
Fix silly typo that broke big endian hosts.

llvm-svn: 179551

11 years agoEnabling test case to write the average+stddev pair to the results
Enrico Granata [Mon, 15 Apr 2013 19:57:32 +0000 (19:57 +0000)]
Enabling test case to write the average+stddev pair to the results
The sketch test case writes avg+stddev for all its metrics:
<key>fetch-frames</key>
<dict>
<key>description</key>
<string>time to dump backtrace for every frame in every thread</string>
<key>stddev</key>
<real>0.006270938361432314</real>
<key>value</key>
<real>0.011568079851851851</real>
</dict>

llvm-svn: 179550

11 years agoFix endianness on some MSVC versions.
Rafael Espindola [Mon, 15 Apr 2013 19:28:45 +0000 (19:28 +0000)]
Fix endianness on some MSVC versions.

Looks like it was evaluating undef == undef to true.

llvm-svn: 179549

11 years ago- Adding a relaunch feature to the performance tester: you can use the relaunch if...
Enrico Granata [Mon, 15 Apr 2013 19:07:38 +0000 (19:07 +0000)]
- Adding a relaunch feature to the performance tester: you can use the relaunch if you want to measure multiple runs of your app keeping the same metrics alive. New arguments must be supplied - and the step counter will not be reset (this makes it easy to avoid endless loops)
- Having the Sketch test case relaunch itself

llvm-svn: 179548

11 years agoRevert "Speed-up ObjCMethodDecl::getOverriddenMethods()."
Argyrios Kyrtzidis [Mon, 15 Apr 2013 18:47:22 +0000 (18:47 +0000)]
Revert "Speed-up ObjCMethodDecl::getOverriddenMethods()."

This reverts commit r179436.

Due to caching, it was possible that we could miss overridden methods that
were introduced by categories later on.

Along with reverting the commit I also included a test case that would have caught this.

llvm-svn: 179547

11 years agoR600/SI: Emit config values in register value pairs.
Tom Stellard [Mon, 15 Apr 2013 17:51:35 +0000 (17:51 +0000)]
R600/SI: Emit config values in register value pairs.

Instead of emitting config values in a predefined order, the code
emitter will now emit a 32-bit register index followed by the 32-bit
config value.

llvm-svn: 179546

11 years agoR600/SI: Emit configuration value in the .AMDGPU.config ELF section
Tom Stellard [Mon, 15 Apr 2013 17:51:30 +0000 (17:51 +0000)]
R600/SI: Emit configuration value in the .AMDGPU.config ELF section

llvm-svn: 179545

11 years agoR600: Emit ELF formatted code rather than raw ISA.
Tom Stellard [Mon, 15 Apr 2013 17:51:21 +0000 (17:51 +0000)]
R600: Emit ELF formatted code rather than raw ISA.

llvm-svn: 179544

11 years agoRemoved a duplicate copy of the contents of
Sean Callanan [Mon, 15 Apr 2013 17:44:44 +0000 (17:44 +0000)]
Removed a duplicate copy of the contents of
Materializer.h that somehow crept in, maybe
during a patch operation.

llvm-svn: 179543

11 years agoFix a typo in comment.
Jim Grosbach [Mon, 15 Apr 2013 17:40:48 +0000 (17:40 +0000)]
Fix a typo in comment.

llvm-svn: 179542

11 years agoSimplify the MCInst operator iterator declaration.
Jim Grosbach [Mon, 15 Apr 2013 17:40:45 +0000 (17:40 +0000)]
Simplify the MCInst operator iterator declaration.

llvm-svn: 179541

11 years agoGrammar and punctuation fixes.
John Criswell [Mon, 15 Apr 2013 17:38:06 +0000 (17:38 +0000)]
Grammar and punctuation fixes.
No content changes.

llvm-svn: 179540

11 years agoAudited the existing Materializer code to ensure
Sean Callanan [Mon, 15 Apr 2013 17:12:47 +0000 (17:12 +0000)]
Audited the existing Materializer code to ensure
that it works in the absence of a process.  Codepaths
in the Materializer now use the best execution context
scope available to them.

llvm-svn: 179539

11 years agoRemove XFAIL now that the test is standalone.
Rafael Espindola [Mon, 15 Apr 2013 17:06:15 +0000 (17:06 +0000)]
Remove XFAIL now that the test is standalone.

llvm-svn: 179538

11 years ago[PCH/test] Make test/PCH/cxx-typeid.cpp self-contained by including the relevant...
Argyrios Kyrtzidis [Mon, 15 Apr 2013 16:52:57 +0000 (16:52 +0000)]
[PCH/test] Make test/PCH/cxx-typeid.cpp self-contained by including the relevant standard library declarations
instead of depending on a system header inclusion.

llvm-svn: 179537

11 years agoTry to fix the mingw builds.
Rafael Espindola [Mon, 15 Apr 2013 16:46:43 +0000 (16:46 +0000)]
Try to fix the mingw builds.

llvm-svn: 179536

11 years agoFix bit size of v64i8 and v32i16 vector types.
Arnold Schwaighofer [Mon, 15 Apr 2013 16:11:25 +0000 (16:11 +0000)]
Fix bit size of v64i8 and v32i16 vector types.

Patch by Cameron McInally <cameron.mcinally@nyu.edu>.

llvm-svn: 179535

11 years agoRemove getters now that we can specialize structs on the host endianness.
Rafael Espindola [Mon, 15 Apr 2013 16:08:02 +0000 (16:08 +0000)]
Remove getters now that we can specialize structs on the host endianness.

llvm-svn: 179534

11 years agoAvoid outputting temporary test file into source tree.
Tim Northover [Mon, 15 Apr 2013 15:49:13 +0000 (15:49 +0000)]
Avoid outputting temporary test file into source tree.

llvm-svn: 179532

11 years agoFix unused variable warning with assertions disabled.
Alexander Kornienko [Mon, 15 Apr 2013 15:47:34 +0000 (15:47 +0000)]
Fix unused variable warning with assertions disabled.

llvm-svn: 179531

11 years agoRemove unused function.
Rafael Espindola [Mon, 15 Apr 2013 15:13:10 +0000 (15:13 +0000)]
Remove unused function.

llvm-svn: 179530

11 years agoUse llvm::sys::IsBigEndianHost.
Rafael Espindola [Mon, 15 Apr 2013 15:10:35 +0000 (15:10 +0000)]
Use llvm::sys::IsBigEndianHost.

llvm-svn: 179529

11 years agoAdding support for -include/-exclude to cpp11-migrate
Edwin Vane [Mon, 15 Apr 2013 14:50:35 +0000 (14:50 +0000)]
Adding support for -include/-exclude to cpp11-migrate

This commit adds initial support for the -include/-exclude options which are
both currently marked as hidden. This support is the first step toward
supporting transformations in headers included from source files.

Added unittests to test include/exclude support.

Author: Jack Yang <jack.yang@intel.com>
llvm-svn: 179528

11 years agoMake the host endianness check an integer constant expression.
Rafael Espindola [Mon, 15 Apr 2013 14:44:24 +0000 (14:44 +0000)]
Make the host endianness check an integer constant expression.

I will remove the isBigEndianHost function once I update clang.

The ifdef logic is designed to
* not use configure/cmake to avoid breaking -arch i686 -arch ppc.
* default to little endian
* be as small as possible

It looks like sys/endian.h is the preferred header on most modern BSD systems,
but it is better to change this in a followup patch as machine/endian.h is
available on FreeBSD, OpenBSD, NetBSD and OS X.

llvm-svn: 179527

11 years agoUnified token breaking logic for strings and block comments.
Alexander Kornienko [Mon, 15 Apr 2013 14:28:00 +0000 (14:28 +0000)]
Unified token breaking logic for strings and block comments.

Summary:
Both strings and block comments are broken into lines in
breakProtrudingToken. Logic specific for strings or block comments is abstracted
in implementations of the BreakToken interface. Among other goodness, this
change fixes placement of backslashes after a block comment inside a
preprocessor directive (see removed FIXMEs in unit tests).

The code is far from being polished, and some parts of it will be changed for
line comments support.

Reviewers: klimek

Reviewed By: klimek

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D665

llvm-svn: 179526

11 years agoAdd a missing space
Timur Iskhodzhanov [Mon, 15 Apr 2013 14:16:31 +0000 (14:16 +0000)]
Add a missing space

llvm-svn: 179525

11 years ago[msan] Fix sigaction test.
Evgeniy Stepanov [Mon, 15 Apr 2013 13:35:05 +0000 (13:35 +0000)]
[msan] Fix sigaction test.

Restore SIGPROF handler to the original state after the test.

llvm-svn: 179524

11 years agoRemove hasExternalLinkageUncached.
Rafael Espindola [Mon, 15 Apr 2013 12:49:13 +0000 (12:49 +0000)]
Remove hasExternalLinkageUncached.

It was being used correctly, but it is a very dangerous API to have around.
Instead, move the logic from the filtering to when we are deciding if we should
link two decls.

llvm-svn: 179523

11 years ago[msan] Really disable replacement new and delete.
Evgeniy Stepanov [Mon, 15 Apr 2013 12:41:52 +0000 (12:41 +0000)]
[msan] Really disable replacement new and delete.

llvm-svn: 179522

11 years agoFix the storage class of method instantiations.
Rafael Espindola [Mon, 15 Apr 2013 12:38:20 +0000 (12:38 +0000)]
Fix the storage class of method instantiations.

We keep the "as written" storage class, but that is a fuzzy concept for
instantiations. With this patch instantiations of methods of class templates
now get a storage class that is based on the semantics of isStatic(). With this
can simplify isStatic() itself.

llvm-svn: 179521

11 years agoReplace uses of the deprecated std::auto_ptr with OwningPtr.
Andy Gibbs [Mon, 15 Apr 2013 12:06:32 +0000 (12:06 +0000)]
Replace uses of the deprecated std::auto_ptr with OwningPtr.

This is a rework of the broken parts in r179373 which were subsequently reverted in r179374 due to incompatibility with C++98 compilers.  This version should be ok under C++98.

llvm-svn: 179520

11 years agoRemove reference to MSVC only building X86 backend.
Tim Northover [Mon, 15 Apr 2013 11:55:27 +0000 (11:55 +0000)]
Remove reference to MSVC only building X86 backend.

This is no longer true.

llvm-svn: 179519

11 years agoEnable all targets by default on Visual Studio.
Tim Northover [Mon, 15 Apr 2013 11:53:05 +0000 (11:53 +0000)]
Enable all targets by default on Visual Studio.

llvm-svn: 179518

11 years agoLocal thread_local variables are implicitly 'static'. (This doesn't apply to _Thread_...
Richard Smith [Mon, 15 Apr 2013 08:33:22 +0000 (08:33 +0000)]
Local thread_local variables are implicitly 'static'. (This doesn't apply to _Thread_local nor __thread.)

llvm-svn: 179517

11 years agoProperly check for a constant initializer for a thread-local variable.
Richard Smith [Mon, 15 Apr 2013 08:07:34 +0000 (08:07 +0000)]
Properly check for a constant initializer for a thread-local variable.

llvm-svn: 179516

11 years agoAdd triple to another test.
Richard Smith [Mon, 15 Apr 2013 08:02:05 +0000 (08:02 +0000)]
Add triple to another test.

llvm-svn: 179515

11 years agoAdd triples to these tests since they're now using TLS, which isn't available on...
Richard Smith [Mon, 15 Apr 2013 08:00:15 +0000 (08:00 +0000)]
Add triples to these tests since they're now using TLS, which isn't available on all targets.

llvm-svn: 179514

11 years agoRevert "Recommit r179497 after fixing uninitialized variable." until
Eric Christopher [Mon, 15 Apr 2013 07:31:37 +0000 (07:31 +0000)]
Revert "Recommit r179497 after fixing uninitialized variable." until
I can fix the testcases here:

http://lab.llvm.org:8011/builders/clang-native-arm-cortex-a9/builds/6952

This reverts commit r179512 due to testcases specifying triples
that they didn't actually mean and causing failures on other platforms.

llvm-svn: 179513

11 years agoRecommit r179497 after fixing uninitialized variable.
Eric Christopher [Mon, 15 Apr 2013 07:07:21 +0000 (07:07 +0000)]
Recommit r179497 after fixing uninitialized variable.

llvm-svn: 179512