platform/upstream/llvm.git
11 years agoRemove data member MSAsmStmt::AsmLoc, wrongly hiding AsmStmt::AsmLoc.
Enea Zaffanella [Sat, 23 Feb 2013 12:27:19 +0000 (12:27 +0000)]
Remove data member MSAsmStmt::AsmLoc, wrongly hiding AsmStmt::AsmLoc.

llvm-svn: 175963

11 years agoX86: Disable cmov-memory patterns on subtargets without cmov.
Benjamin Kramer [Sat, 23 Feb 2013 10:40:58 +0000 (10:40 +0000)]
X86: Disable cmov-memory patterns on subtargets without cmov.

Fixes PR15115.

llvm-svn: 175962

11 years agoMake some fixes for LiveInterval repair with debug info. Debug value
Cameron Zwarich [Sat, 23 Feb 2013 10:25:25 +0000 (10:25 +0000)]
Make some fixes for LiveInterval repair with debug info. Debug value
MachineInstrs don't have a slot index.

llvm-svn: 175961

11 years agoDon't recognize unnamed pointer parameters as casts.
Daniel Jasper [Sat, 23 Feb 2013 08:07:18 +0000 (08:07 +0000)]
Don't recognize unnamed pointer parameters as casts.

This fixes llvm.org/PR15061.

Before: virtual void f(int *)const;
After:  virtual void f(int *) const;
llvm-svn: 175960

11 years agoAllow splitting between string literals and identifiers.
Daniel Jasper [Sat, 23 Feb 2013 07:46:38 +0000 (07:46 +0000)]
Allow splitting between string literals and identifiers.

Also don't break in long include directives as that is not desired.

We can now format:

  #include "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  #define LL_FORMAT "ll"
  printf("aaaaa: %d, bbbbbbbbb: %" LL_FORMAT "d, cccccccc: %" LL_FORMAT
         "d, ddddddddd: %" LL_FORMAT "d\n");

Before, this led to weird results.

llvm-svn: 175959

11 years agoFix a bug with the LiveIntervals updating in the two-address pass found by
Cameron Zwarich [Sat, 23 Feb 2013 04:49:22 +0000 (04:49 +0000)]
Fix a bug with the LiveIntervals updating in the two-address pass found by
running ASCI_Purple/SMG2000 in the test-suite.

llvm-svn: 175957

11 years agoMake TwoAddressInstructionPass::sink3AddrInstruction() LiveIntervals-aware.
Cameron Zwarich [Sat, 23 Feb 2013 04:49:20 +0000 (04:49 +0000)]
Make TwoAddressInstructionPass::sink3AddrInstruction() LiveIntervals-aware.

llvm-svn: 175956

11 years agoMake rescheduleMIBelowKill() and rescheduleKillAboveMI() LiveIntervals-aware in
Cameron Zwarich [Sat, 23 Feb 2013 04:49:13 +0000 (04:49 +0000)]
Make rescheduleMIBelowKill() and rescheduleKillAboveMI() LiveIntervals-aware in
TwoAddressInstructionPass. The code in rescheduleMIBelowKill() is a bit tricky,
since multiple instructions need to be moved down, one-at-a-time, in reverse
order.

llvm-svn: 175955

11 years agoImplement __builtin_eh_return_data_regno() for ARM and MIPS.
Logan Chien [Sat, 23 Feb 2013 04:24:36 +0000 (04:24 +0000)]
Implement __builtin_eh_return_data_regno() for ARM and MIPS.

llvm-svn: 175954

11 years ago<rdar://problem/13265297>
Greg Clayton [Sat, 23 Feb 2013 04:12:47 +0000 (04:12 +0000)]
<rdar://problem/13265297>

StackFrame assumes m_sc is additive, but m_sc can lose its target. So now the SymbolContext::Clear() method takes a bool that indicates if the target should be cleared. Modified all existing code to properly set the bool argument.

llvm-svn: 175953

11 years agoclang/AST/Decl.h: Add "raw_ostream.h" to appease msvc.
NAKAMURA Takumi [Sat, 23 Feb 2013 03:59:16 +0000 (03:59 +0000)]
clang/AST/Decl.h: Add "raw_ostream.h" to appease msvc.

llvm-svn: 175952

11 years ago[ELF][Writer] Add a PHDR program table entry for dynamic files.
Michael J. Spencer [Sat, 23 Feb 2013 03:58:06 +0000 (03:58 +0000)]
[ELF][Writer] Add a PHDR program table entry for dynamic files.

llvm-svn: 175951

11 years agoExpand pseudos/macros for Selt. This is the last of the complex
Reed Kotler [Sat, 23 Feb 2013 03:09:56 +0000 (03:09 +0000)]
Expand pseudos/macros for Selt. This is the last of the complex
macros.The rest is some small misc. stuff.

llvm-svn: 175950

11 years agoubsan: Emit bounds checks for array indexing, vector indexing, and (in really simple...
Richard Smith [Sat, 23 Feb 2013 02:53:19 +0000 (02:53 +0000)]
ubsan: Emit bounds checks for array indexing, vector indexing, and (in really simple cases) pointer arithmetic. This augments the existing bounds checking with language-level array bounds information.

llvm-svn: 175949

11 years agoubsan: Runtime handlers for array indexing checks.
Richard Smith [Sat, 23 Feb 2013 02:40:07 +0000 (02:40 +0000)]
ubsan: Runtime handlers for array indexing checks.

llvm-svn: 175948

11 years agoFix a handful of remaining assumptions that thread IDs were 32-bits
Jason Molenda [Sat, 23 Feb 2013 02:04:45 +0000 (02:04 +0000)]
Fix a handful of remaining assumptions that thread IDs were 32-bits
in the gdb-remote Process plugin files.

llvm-svn: 175947

11 years agoThis should get clang/gcc decorators working
Enrico Granata [Sat, 23 Feb 2013 01:35:21 +0000 (01:35 +0000)]
This should get clang/gcc decorators working

llvm-svn: 175946

11 years agoFixing issues in previous checkin - still figuring out how to make expectedFailureCla...
Enrico Granata [Sat, 23 Feb 2013 01:28:30 +0000 (01:28 +0000)]
Fixing issues in previous checkin - still figuring out how to make expectedFailureClang take the bugnumber

llvm-svn: 175945

11 years agoRemove no-op code (since r175842)
Dmitri Gribenko [Sat, 23 Feb 2013 01:20:07 +0000 (01:20 +0000)]
Remove no-op code (since r175842)

llvm-svn: 175944

11 years agoTest that attribute(availability) doesn't override private_extern.
John McCall [Sat, 23 Feb 2013 01:15:17 +0000 (01:15 +0000)]
Test that attribute(availability) doesn't override private_extern.

rdar://12399248

llvm-svn: 175943

11 years ago<rdar://problem/12362092>
Enrico Granata [Sat, 23 Feb 2013 01:05:23 +0000 (01:05 +0000)]
<rdar://problem/12362092>

The decorators @expectedFailure (plain and special-case like i386, clang, ...) are modified to optionally take a bugnumber argument
If such an argument is specified, the failure report (or unexpected success report) will include the information passed in as part of the message
This is mostly useful for associating failures to issue IDs in issue management systems (e.g. the LLVM bugzilla)

llvm-svn: 175942

11 years ago[ELF][Writer] Add dynamic string and symbol table.
Michael J. Spencer [Sat, 23 Feb 2013 01:02:31 +0000 (01:02 +0000)]
[ELF][Writer] Add dynamic string and symbol table.

llvm-svn: 175941

11 years agoARM: Convenience aliases for 'srs*' instructions.
Jim Grosbach [Sat, 23 Feb 2013 00:52:09 +0000 (00:52 +0000)]
ARM: Convenience aliases for 'srs*' instructions.

Handle an implied 'sp' operand.

rdar://11466783

llvm-svn: 175940

11 years agoFixed a careless mistake.
Michael Gottesman [Sat, 23 Feb 2013 00:31:32 +0000 (00:31 +0000)]
Fixed a careless mistake.

rdar://13273675.

llvm-svn: 175939

11 years agoRemove the CFGElement "Invalid" state.
David Blaikie [Sat, 23 Feb 2013 00:29:34 +0000 (00:29 +0000)]
Remove the CFGElement "Invalid" state.

Use Optional<CFG*> where invalid states were needed previously. In the one case
where that's not possible (beginAutomaticObjDtorsInsert) just use a dummy
CFGAutomaticObjDtor.

Thanks for the help from Jordan Rose & discussion/feedback from Ted Kremenek
and Doug Gregor.

Post commit code review feedback on r175796 by Ted Kremenek.

llvm-svn: 175938

11 years agoRemove the hack that avoided mangling static functions in extern C contexts.
Rafael Espindola [Sat, 23 Feb 2013 00:26:28 +0000 (00:26 +0000)]
Remove the hack that avoided mangling static functions in extern C contexts.

Weather we should give C language linkage to functions and variables with
internal linkage probably depends on how much code assumes it. The standard
says they should have no language linkage, but gcc and msvc assign them
C language linkage.

This commit removes the hack that was preventing the mangling on static
functions declare in extern C contexts. It is an experiment to see if we
can implement the rules in the standard.

If it turns out that many users depend on these functions and variables
having C language linkage, we should change isExternC instead and try
to convince the CWG to change the standard.

llvm-svn: 175937

11 years agoRevert r175912, "Add support for coldcc to clang" at John's request.
Peter Collingbourne [Sat, 23 Feb 2013 00:06:18 +0000 (00:06 +0000)]
Revert r175912, "Add support for coldcc to clang" at John's request.

llvm-svn: 175936

11 years agoPropagate the split dwarf file information through into the backend
Eric Christopher [Fri, 22 Feb 2013 23:50:16 +0000 (23:50 +0000)]
Propagate the split dwarf file information through into the backend
and through to the debug info in the module. In order to make the
testcase a bit more efficient allow the filename to go through
compilation for compile and not assemble jobs and turn off the
extract for cases where we don't create an object.

llvm-svn: 175935

11 years agoUse getSplitDebugFilename when constructing the skeleton cu and
Eric Christopher [Fri, 22 Feb 2013 23:50:08 +0000 (23:50 +0000)]
Use getSplitDebugFilename when constructing the skeleton cu and
update testcase accordingly to give the correct name to the cu.

llvm-svn: 175934

11 years agoAdd a field to the compile unit of where we plan on splitting out
Eric Christopher [Fri, 22 Feb 2013 23:50:04 +0000 (23:50 +0000)]
Add a field to the compile unit of where we plan on splitting out
the debug info for -gsplit-dwarf so we can encode that location
in the skeleton cu.

llvm-svn: 175933

11 years agoAdd a TODO and explain when we can get rid of the isMain field.
Eric Christopher [Fri, 22 Feb 2013 23:50:01 +0000 (23:50 +0000)]
Add a TODO and explain when we can get rid of the isMain field.

llvm-svn: 175932

11 years agoFormatting.
Eric Christopher [Fri, 22 Feb 2013 23:49:58 +0000 (23:49 +0000)]
Formatting.

llvm-svn: 175931

11 years ago[docs] Rename Makefile.
Daniel Dunbar [Fri, 22 Feb 2013 23:44:49 +0000 (23:44 +0000)]
[docs] Rename Makefile.

llvm-svn: 175930

11 years agoSelectionDAG compile time improvement.
Nadav Rotem [Fri, 22 Feb 2013 23:33:30 +0000 (23:33 +0000)]
SelectionDAG compile time improvement.

One of the phases of SelectionDAG is LegalizeVectors. We don't need to sort the DAG and copy nodes around if there are no vector ops.

Speeds up the compilation time of SelectionDAG on a big scalar workload by ~8%.

llvm-svn: 175929

11 years ago<rdar://problem/13277100>
Han Ming Ong [Fri, 22 Feb 2013 23:26:59 +0000 (23:26 +0000)]
<rdar://problem/13277100>

Need host_statistics on profile data to get host's user/system/idle clicks

llvm-svn: 175928

11 years agoCorrect the logic in DumpCommandHistory when the end index is UINT32_MAX.
Jim Ingham [Fri, 22 Feb 2013 23:23:42 +0000 (23:23 +0000)]
Correct the logic in DumpCommandHistory when the end index is UINT32_MAX.

<rdar://problem/13270229>

llvm-svn: 175927

11 years agoCall el_resize when the window size changes.
Jim Ingham [Fri, 22 Feb 2013 22:56:55 +0000 (22:56 +0000)]
Call el_resize when the window size changes.

<rdar://problem/13270100>

llvm-svn: 175926

11 years ago[libclang] Fix assertion hit when code-completing inside a function macro with more
Argyrios Kyrtzidis [Fri, 22 Feb 2013 22:28:58 +0000 (22:28 +0000)]
[libclang] Fix assertion hit when code-completing inside a function macro with more
arguments than it should accept.

llvm-svn: 175925

11 years ago<rdar://problem/13190981>
Greg Clayton [Fri, 22 Feb 2013 22:23:55 +0000 (22:23 +0000)]
<rdar://problem/13190981>

Fixed an issue where if we got a 'A' async packet back from debugserver, we would resend the last continue command. We now correctly identify the packet as async (just like the 'O' stdout async packet) and we don't resend the continue command.

llvm-svn: 175924

11 years agoobjective-C arg: provide fixit support when
Fariborz Jahanian [Fri, 22 Feb 2013 22:02:53 +0000 (22:02 +0000)]
objective-C arg: provide fixit support when
c++'s named cast need be replaced for bridge casting.
// rdar://12788838

llvm-svn: 175923

11 years agoThe thread plans run before the event is broadcast, so they should be calling ShouldS...
Jim Ingham [Fri, 22 Feb 2013 21:23:43 +0000 (21:23 +0000)]
The thread plans run before the event is broadcast, so they should be calling ShouldStopSynchronous on any Stop Info's
they want to check.  The full ShouldStop should only be called on the public side of the event system.

llvm-svn: 175922

11 years agoUpdate tests so that we don't test for function-only attributes on call sites.
Bill Wendling [Fri, 22 Feb 2013 21:12:51 +0000 (21:12 +0000)]
Update tests so that we don't test for function-only attributes on call sites.

llvm-svn: 175921

11 years ago[mips] Emit call16 operator instead of got_disp. The former allows lazy binding.
Akira Hatanaka [Fri, 22 Feb 2013 21:10:03 +0000 (21:10 +0000)]
[mips] Emit call16 operator instead of got_disp. The former allows lazy binding.

llvm-svn: 175920

11 years agoDriver: Pass down the -march setting down to -cc1as on x86 too.
Benjamin Kramer [Fri, 22 Feb 2013 20:55:17 +0000 (20:55 +0000)]
Driver: Pass down the -march setting down to -cc1as on x86 too.

The assembler historically didn't make use of any target features, but this has
changed when support for old CPUs that don't support long nops was added.

llvm-svn: 175919

11 years agoMake sure we apply attributes to correct places.
Bill Wendling [Fri, 22 Feb 2013 20:53:29 +0000 (20:53 +0000)]
Make sure we apply attributes to correct places.

Some attributes make sense only on the function or on the call site, but not
both. Make this distinction here.

llvm-svn: 175918

11 years agoMark last known Linux failure as XFAIL to see if there's any other problems with...
Daniel Malea [Fri, 22 Feb 2013 20:23:34 +0000 (20:23 +0000)]
Mark last known Linux failure as XFAIL to see if there's any other problems with buildbots.

llvm-svn: 175917

11 years agoSplit out the command handling for split debug info, we're going
Eric Christopher [Fri, 22 Feb 2013 20:12:52 +0000 (20:12 +0000)]
Split out the command handling for split debug info, we're going
to want to propagate some information through the module into
the back end and so need to pass it through to codegen.

Also make the methods file static so we can use them in other places.

llvm-svn: 175916

11 years agoIf we crash while making a Python summary, the crash info will tell us more about it
Enrico Granata [Fri, 22 Feb 2013 20:01:15 +0000 (20:01 +0000)]
If we crash while making a Python summary, the crash info will tell us more about it

llvm-svn: 175915

11 years agoFix test by matching movaps instead of AVX-only vmovaps
Peter Collingbourne [Fri, 22 Feb 2013 19:53:30 +0000 (19:53 +0000)]
Fix test by matching movaps instead of AVX-only vmovaps

llvm-svn: 175914

11 years ago[analyzer] Don't canonicalize the RecordDecl used in CXXBaseObjectRegion.
Jordan Rose [Fri, 22 Feb 2013 19:33:13 +0000 (19:33 +0000)]
[analyzer] Don't canonicalize the RecordDecl used in CXXBaseObjectRegion.

This Decl shouldn't be the canonical Decl; it should be the Decl used by
the CXXBaseSpecifier in the subclass. Unfortunately, that means continuing
to throw getCanonicalDecl() on all comparisons.

This fixes MemRegion::getAsOffset's use of ASTRecordLayout when redeclarations
are involved.

llvm-svn: 175913

11 years agoAdd support for coldcc to clang
Peter Collingbourne [Fri, 22 Feb 2013 19:24:35 +0000 (19:24 +0000)]
Add support for coldcc to clang

llvm-svn: 175912

11 years agox86_64: designate most general purpose and SSE registers as callee save under coldcc
Peter Collingbourne [Fri, 22 Feb 2013 19:19:44 +0000 (19:19 +0000)]
x86_64: designate most general purpose and SSE registers as callee save under coldcc

llvm-svn: 175911

11 years agoRevert "Test commit"
Peter Collingbourne [Fri, 22 Feb 2013 19:19:41 +0000 (19:19 +0000)]
Revert "Test commit"

llvm-svn: 175910

11 years agoTest commit
Peter Collingbourne [Fri, 22 Feb 2013 19:18:15 +0000 (19:18 +0000)]
Test commit

llvm-svn: 175909

11 years agoAn Optional<T> is pod-like if the inner type is.
Benjamin Kramer [Fri, 22 Feb 2013 18:58:26 +0000 (18:58 +0000)]
An Optional<T> is pod-like if the inner type is.

llvm-svn: 175908

11 years ago[preprocessing record] Have the MacroDefinitions map point to the MacroDefinition...
Argyrios Kyrtzidis [Fri, 22 Feb 2013 18:35:59 +0000 (18:35 +0000)]
[preprocessing record] Have the MacroDefinitions map point to the MacroDefinition object instead
its index in the preprocessed entities vector.

This is because the order of the entities in the vector can change in some (uncommon) cases.

llvm-svn: 175907

11 years agoReplace some typically large vectors with SmallVector.
Benjamin Kramer [Fri, 22 Feb 2013 18:29:39 +0000 (18:29 +0000)]
Replace some typically large vectors with SmallVector.

This may seem counter-intuitive but the POD-like optimization helps when the
vectors grow into multimegabyte buffers. SmallVector calls realloc which knows
how to twiddle virtual memory bits and avoids large copies.

llvm-svn: 175906

11 years agoRemove unused CHECK lines copied from another test
Pete Cooper [Fri, 22 Feb 2013 18:16:21 +0000 (18:16 +0000)]
Remove unused CHECK lines copied from another test

llvm-svn: 175905

11 years agosort quickdata for the hexagon target
Shankar Easwaran [Fri, 22 Feb 2013 18:01:08 +0000 (18:01 +0000)]
sort quickdata for the hexagon target

llvm-svn: 175904

11 years agoMake sure pragmas don't attach visibility attributes to auto variables with
Rafael Espindola [Fri, 22 Feb 2013 17:59:16 +0000 (17:59 +0000)]
Make sure pragmas don't attach visibility attributes to auto variables with
internal linkage.

llvm-svn: 175903

11 years agoSuppress -Wswitch to unbreak the build.
David Blaikie [Fri, 22 Feb 2013 17:44:58 +0000 (17:44 +0000)]
Suppress -Wswitch to unbreak the build.

This may need to be fixed more intelligently - I don't have enough context to
be sure what the appropriate fix is right now.

llvm-svn: 175902

11 years agoadd changes for typeDataFast
Shankar Easwaran [Fri, 22 Feb 2013 17:18:53 +0000 (17:18 +0000)]
add changes for typeDataFast

llvm-svn: 175901

11 years ago[Sema] Semantic analysis for empty-declaration and attribute-declaration.
Michael Han [Fri, 22 Feb 2013 17:15:32 +0000 (17:15 +0000)]
[Sema] Semantic analysis for empty-declaration and attribute-declaration.

Introduce a new AST Decl node "EmptyDecl" to model empty-declaration. Have attributes from attribute-declaration appertain
to the EmptyDecl node by creating the AST representations of these attributes and attach them to the EmptyDecl node so these
attributes can be sema checked just as attributes attached to "normal" declarations.

llvm-svn: 175900

11 years agoMore tests to global struct vectorizer
Renato Golin [Fri, 22 Feb 2013 16:18:31 +0000 (16:18 +0000)]
More tests to global struct vectorizer

llvm-svn: 175898

11 years agoUse raw_ostream::indent, update comment.
Benjamin Kramer [Fri, 22 Feb 2013 16:13:34 +0000 (16:13 +0000)]
Use raw_ostream::indent, update comment.

llvm-svn: 175897

11 years agoPush the raw_ostream through the template diffing code.
Benjamin Kramer [Fri, 22 Feb 2013 16:08:12 +0000 (16:08 +0000)]
Push the raw_ostream through the template diffing code.

llvm-svn: 175896

11 years agoStreamify FormatASTNodeDiagnosticArgument.
Benjamin Kramer [Fri, 22 Feb 2013 15:46:08 +0000 (15:46 +0000)]
Streamify FormatASTNodeDiagnosticArgument.

llvm-svn: 175895

11 years agoStreamify getNameForDiagnostic and remove the string versions of PrintTemplateArgumen...
Benjamin Kramer [Fri, 22 Feb 2013 15:46:01 +0000 (15:46 +0000)]
Streamify getNameForDiagnostic and remove the string versions of PrintTemplateArgumentList.

llvm-svn: 175894

11 years ago[Sanitizer] Add a test for the fast unwinder
Reid Kleckner [Fri, 22 Feb 2013 15:10:16 +0000 (15:10 +0000)]
[Sanitizer] Add a test for the fast unwinder

Summary:
The test sets up fake x86-style fp+retaddr frames, since that's all the
unwinder works with.

Reviewers: kcc

CC: eugenis
Differential Revision: http://llvm-reviews.chandlerc.com/D445

llvm-svn: 175893

11 years agoComment parsing: add CommentOptions to allow specifying custom comment block commands
Dmitri Gribenko [Fri, 22 Feb 2013 14:21:27 +0000 (14:21 +0000)]
Comment parsing: add CommentOptions to allow specifying custom comment block commands

Add an ability to specify custom documentation block comment commands via a new
class CommentOptions.  The intention is that this class will hold future
customizations for comment parsing, including defining documentation comments
with specific numbers of parameters, etc.

CommentOptions instance is a member of LangOptions.

CommentOptions is controlled by a new command-line parameter
-fcomment-block-commands=Foo,Bar,Baz.

llvm-svn: 175892

11 years agoStmtPrinter: Directly print types to the stream instead of taking a detour through...
Benjamin Kramer [Fri, 22 Feb 2013 14:19:01 +0000 (14:19 +0000)]
StmtPrinter: Directly print types to the stream instead of taking a detour through getAsString.

llvm-svn: 175891

11 years agoFix MergeFunctionDecl implicit CC for static methods.
Timur Iskhodzhanov [Fri, 22 Feb 2013 12:42:50 +0000 (12:42 +0000)]
Fix MergeFunctionDecl implicit CC for static methods.

Patch by Alexander Zinenko!

llvm-svn: 175890

11 years agoscan-build: Remove debug print.
Benjamin Kramer [Fri, 22 Feb 2013 12:07:39 +0000 (12:07 +0000)]
scan-build: Remove debug print.

PR15329.

llvm-svn: 175889

11 years agoMade it more explicit that the self-referential llvm.loop identifier metadata
Pekka Jaaskelainen [Fri, 22 Feb 2013 12:03:07 +0000 (12:03 +0000)]
Made it more explicit that the self-referential llvm.loop identifier metadata
should be unique for each loop.

llvm-svn: 175888

11 years agoR600/SI: Add pattern for sign extension of i1 to i32.
Michel Danzer [Fri, 22 Feb 2013 11:22:58 +0000 (11:22 +0000)]
R600/SI: Add pattern for sign extension of i1 to i32.

16 more little piglits with radeonsi.

NOTE: This is a candidate for the Mesa stable branch.

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

11 years agoR600/SI: Add pattern for logical or of i1 values.
Michel Danzer [Fri, 22 Feb 2013 11:22:54 +0000 (11:22 +0000)]
R600/SI: Add pattern for logical or of i1 values.

24 more little piglits with radeonsi.

NOTE: This is a candidate for the Mesa stable branch.

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

11 years agoR600/SI: Add pattern for fceil.
Michel Danzer [Fri, 22 Feb 2013 11:22:49 +0000 (11:22 +0000)]
R600/SI: Add pattern for fceil.

9 more little piglits with radeonsi.

NOTE: This is a candidate for the Mesa stable branch.

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

11 years agoMake ARMAsmPrinter generate the correct alignment specifier syntax in instructions.
Kristof Beyls [Fri, 22 Feb 2013 10:01:33 +0000 (10:01 +0000)]
Make ARMAsmPrinter generate the correct alignment specifier syntax in instructions.

The Printer will now print instructions with the correct alignment specifier syntax, like
    vld1.8  {d16}, [r0:64]

llvm-svn: 175884

11 years ago[msan] MSanDR: initial commit.
Evgeniy Stepanov [Fri, 22 Feb 2013 09:34:19 +0000 (09:34 +0000)]
[msan] MSanDR: initial commit.

MSanDR is a DynamoRio-based tool that handles uninstrumented libraries and
dynamically generated code for MSan.

llvm-svn: 175883

11 years agoC++11 status page:
Richard Smith [Fri, 22 Feb 2013 09:31:00 +0000 (09:31 +0000)]
C++11 status page:
 * Mark attributes as done in SVN.
 * Downgrade alignment support from 'Clang 3.0' to 'SVN', now that we actually implement the rules.
 * Upgrade 'Dynamic initialization with concurrency' from 'No' to 'Clang 2.9' -- all that is required here is the ABI-mandated locking for the initialization of static locals.

llvm-svn: 175882

11 years agoUse attributes references on call/invoke instructions.
Bill Wendling [Fri, 22 Feb 2013 09:29:15 +0000 (09:29 +0000)]
Use attributes references on call/invoke instructions.

llvm-svn: 175881

11 years agoDon't crash if we try to apply 'alignas' to a variable declared with an
Richard Smith [Fri, 22 Feb 2013 09:21:42 +0000 (09:21 +0000)]
Don't crash if we try to apply 'alignas' to a variable declared with an
incomplete type.

llvm-svn: 175880

11 years agoDon't accidentally and silently accept C++11 attributes in decl-specifier-seqs
Richard Smith [Fri, 22 Feb 2013 09:15:49 +0000 (09:15 +0000)]
Don't accidentally and silently accept C++11 attributes in decl-specifier-seqs
in C++98.

llvm-svn: 175879

11 years agoUpdate to use references to attribute groups instead of listing the attributes on...
Bill Wendling [Fri, 22 Feb 2013 09:10:20 +0000 (09:10 +0000)]
Update to use references to attribute groups instead of listing the attributes on the call/invoke instructions.

llvm-svn: 175878

11 years agoUse references to attribute groups on the call/invoke instructions.
Bill Wendling [Fri, 22 Feb 2013 09:09:42 +0000 (09:09 +0000)]
Use references to attribute groups on the call/invoke instructions.

Listing all of the attributes for the callee of a call/invoke instruction is way
too much and makes the IR unreadable. Use references to attributes instead.

llvm-svn: 175877

11 years agoPer the grammar in [dcl.dcl]p1, a simple-declaration can only have attributes
Richard Smith [Fri, 22 Feb 2013 09:06:26 +0000 (09:06 +0000)]
Per the grammar in [dcl.dcl]p1, a simple-declaration can only have attributes
if it has declarators. We were missing the check for this in a couple of places.

llvm-svn: 175876

11 years agoHandle alignas(foo...) pack expansions.
Richard Smith [Fri, 22 Feb 2013 08:32:16 +0000 (08:32 +0000)]
Handle alignas(foo...) pack expansions.

llvm-svn: 175875

11 years agoSupport: clang-format
Tobias Grosser [Fri, 22 Feb 2013 08:21:52 +0000 (08:21 +0000)]
Support: clang-format

llvm-svn: 175874

11 years agoRemove unintended comment.
Jason Molenda [Fri, 22 Feb 2013 08:16:09 +0000 (08:16 +0000)]
Remove unintended comment.

llvm-svn: 175873

11 years agoCodeGen: clang-format
Tobias Grosser [Fri, 22 Feb 2013 08:07:06 +0000 (08:07 +0000)]
CodeGen: clang-format

llvm-svn: 175872

11 years ago[asan] move the .preinit_array hack into a separate file (added used attribute)
Kostya Serebryany [Fri, 22 Feb 2013 07:51:26 +0000 (07:51 +0000)]
[asan] move the .preinit_array hack into a separate file (added used attribute)

llvm-svn: 175871

11 years agoChange debugserver from using the mach port number (in debugserver's
Jason Molenda [Fri, 22 Feb 2013 07:27:08 +0000 (07:27 +0000)]
Change debugserver from using the mach port number (in debugserver's
own port namepsace) as the thread identifier to using the system-wide
globally unique thread id as the thread identifier number.

MachThread.cpp keeps both the unique id and the mach port number
for each thread.  All layers outside MachThread class use the unique
id with three exceptions: (1) Mach exceptions come in with the port
number (thread_port) which needs to be translated, (2) any calls to
low-level thread_get_state/thread_set_state/thread_suspend etc need
to use the mach port number, (3) MachThreadList::UpdateThreadList
which creates the MachThread objects gets the unique id and passes
it to the MachThread ctor as an argument.

In general, any time nub_thread_t is used, it is now referring to a
unique thread id.  Any time a thread_t is used, it is now referring
to a mach port number.  There was some interchangability of these
types previously.  nub_thread_t has also been changed to a 64-bit
type which necessitated some printf specification string changes.

I haven't been able to test these changes extensively yet but want
to checkpoint the work.  The scenarios I've been testing are all
working correctly so while there may be some corner cases I haven't
hit yet, I think it is substantially correct.

<rdar://problem/12931414>

llvm-svn: 175870

11 years agoIn LookupResult::resolveKind(), when handling multiple found declarations, ignore...
Argyrios Kyrtzidis [Fri, 22 Feb 2013 06:58:37 +0000 (06:58 +0000)]
In LookupResult::resolveKind(), when handling multiple found declarations, ignore invalid declarations.

This reduces the "ambiguous reference" errors (which are rather strange in C/ObjC) and fixes an assertion hit
with an invalid code test case.

llvm-svn: 175869

11 years agoWhen a parameter list in a C function has an error, recover by forming a K&R function,
Argyrios Kyrtzidis [Fri, 22 Feb 2013 06:58:32 +0000 (06:58 +0000)]
When a parameter list in a C function has an error, recover by forming a K&R function,
instead of a non-function type.

llvm-svn: 175868

11 years agoDon't crash when applying an alloc_size attribute on a K&R function.
Argyrios Kyrtzidis [Fri, 22 Feb 2013 06:58:28 +0000 (06:58 +0000)]
Don't crash when applying an alloc_size attribute on a K&R function.

llvm-svn: 175867

11 years agoDon't skip '_Alignas' when disambiguating 'final'. '_Alignas' can't appear here,
Richard Smith [Fri, 22 Feb 2013 06:46:23 +0000 (06:46 +0000)]
Don't skip '_Alignas' when disambiguating 'final'. '_Alignas' can't appear here,
and we used to assert if it did.

llvm-svn: 175866

11 years agoFix a nomenclature mistake. Slt->Slti in the functions. The "i" refers
Reed Kotler [Fri, 22 Feb 2013 05:59:39 +0000 (05:59 +0000)]
Fix a nomenclature mistake. Slt->Slti in the functions. The "i" refers
to the immediate operand of sli or cmp function.

llvm-svn: 175865

11 years agoTeach -ast-print how to print trailing-return-types.
Richard Smith [Fri, 22 Feb 2013 05:54:51 +0000 (05:54 +0000)]
Teach -ast-print how to print trailing-return-types.

llvm-svn: 175864

11 years ago[analyzer] Implement "Loop executed 0 times" diagnostic correctly.
Ted Kremenek [Fri, 22 Feb 2013 05:45:33 +0000 (05:45 +0000)]
[analyzer] Implement "Loop executed 0 times" diagnostic correctly.

Fixes <rdar://problem/13236549>

llvm-svn: 175863

11 years agoExpand mips16 SelT form pseudso/macros.
Reed Kotler [Fri, 22 Feb 2013 05:10:51 +0000 (05:10 +0000)]
Expand mips16 SelT form pseudso/macros.

llvm-svn: 175862