platform/upstream/llvm.git
11 years ago[objcmt] Rewrite a NSDictionary dictionaryWithObjects:forKeys: to a dictionary literal
Argyrios Kyrtzidis [Wed, 16 Jan 2013 23:54:48 +0000 (23:54 +0000)]
[objcmt] Rewrite a NSDictionary dictionaryWithObjects:forKeys: to a dictionary literal
if we can see the elements of the arrays.

for example:

 NSDictionary *dict = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1", @"2", nil] forKeys:[NSArray arrayWithObjects:@"A", @"B", nil]];

-->

 NSDictionary *dict = @{ @"A" : @"1", @"B" : @"2" };

rdar://12428166

llvm-svn: 172679

11 years agoDelay linkage checks when validating the weakref attribute.
Rafael Espindola [Wed, 16 Jan 2013 23:49:06 +0000 (23:49 +0000)]
Delay linkage checks when validating the weakref attribute.

llvm-svn: 172678

11 years agoDocumentation: fix a typo 'IEE754'
Dmitri Gribenko [Wed, 16 Jan 2013 23:40:37 +0000 (23:40 +0000)]
Documentation: fix a typo 'IEE754'

Reported on IRC by _savage

llvm-svn: 172677

11 years agoFixes crash when illegal function definitions are deleted or defaulted. Fixes PR14577.
Aaron Ballman [Wed, 16 Jan 2013 23:39:10 +0000 (23:39 +0000)]
Fixes crash when illegal function definitions are deleted or defaulted.  Fixes PR14577.

llvm-svn: 172676

11 years ago[ELF] Use operator new(std::size_t, BumpPtrAllocator).
Michael J. Spencer [Wed, 16 Jan 2013 23:34:45 +0000 (23:34 +0000)]
[ELF] Use operator new(std::size_t, BumpPtrAllocator).

llvm-svn: 172675

11 years ago[ELF] clang-format ReaderELF.cpp
Michael J. Spencer [Wed, 16 Jan 2013 23:34:32 +0000 (23:34 +0000)]
[ELF] clang-format ReaderELF.cpp

llvm-svn: 172674

11 years agoSimplify code. No functionality change.
Rafael Espindola [Wed, 16 Jan 2013 23:21:32 +0000 (23:21 +0000)]
Simplify code. No functionality change.

llvm-svn: 172673

11 years agoRemove unnecessary initialization i Added in r172668.
David Blaikie [Wed, 16 Jan 2013 23:18:16 +0000 (23:18 +0000)]
Remove unnecessary initialization i Added in r172668.

echristo already fixed this in r172649, but I'll leave the reformatting in
since I'm in the blame history for it now anyway.

llvm-svn: 172672

11 years agoAdding a custom summary for libc++ std::vector<bool>
Enrico Granata [Wed, 16 Jan 2013 23:17:30 +0000 (23:17 +0000)]
Adding a custom summary for libc++ std::vector<bool>
vector<bool> is specialized and the existing general summary for vectors would lie to the user.
Tackling libstdc++ and synthetic children is the following, less critical, part of this task

llvm-svn: 172671

11 years agoWrapping __popcnt64 for MSVC so that it's only used on 64-bit builds.
Aaron Ballman [Wed, 16 Jan 2013 23:17:21 +0000 (23:17 +0000)]
Wrapping __popcnt64 for MSVC so that it's only used on 64-bit builds.

llvm-svn: 172670

11 years agoReadd an open paren that was lost while reformatting code.
David Blaikie [Wed, 16 Jan 2013 23:13:42 +0000 (23:13 +0000)]
Readd an open paren that was lost while reformatting code.

llvm-svn: 172669

11 years agoFix -Wreorder warning.
David Blaikie [Wed, 16 Jan 2013 23:13:36 +0000 (23:13 +0000)]
Fix -Wreorder warning.

Rewrapping courtesy of clang-format.

llvm-svn: 172668

11 years agoCheck for internal weak decls after merging.
Rafael Espindola [Wed, 16 Jan 2013 23:11:15 +0000 (23:11 +0000)]
Check for internal weak decls after merging.

This fixes pr14946. The problem was that the linkage computation was done too
early, so things like "extern int a;" would be given external linkage, even if
a previous declaration was static.

llvm-svn: 172667

11 years agoPR14964: intrinsic headers using non-reserved identifiers
David Blaikie [Wed, 16 Jan 2013 23:08:36 +0000 (23:08 +0000)]
PR14964: intrinsic headers using non-reserved identifiers

Several of the intrinsic headers were using plain non-reserved identifiers.
C++11 17.6.4.3.2 [global.names] p1 reservers names containing a double
begining with an underscore followed by an uppercase letter for any use.

I think I got them all, but open to being corrected. For the most part I
didn't bother updating function-like macro parameter names because I don't
believe they're subject to any such collission - though some function-like
macros already follow this convention (I didn't update them in part because
the churn was more significant as several function-like macros use the double
underscore prefixed version of the same name as a parameter in their
implementation)

llvm-svn: 172666

11 years agoRework the traversal of Objective-C categories and extensions to
Douglas Gregor [Wed, 16 Jan 2013 23:00:23 +0000 (23:00 +0000)]
Rework the traversal of Objective-C categories and extensions to
consider (sub)module visibility.

The bulk of this change replaces myriad hand-rolled loops over the
linked list of Objective-C categories/extensions attached to an
interface declaration with loops using one of the four new category
iterator kinds:

  visible_categories_iterator: Iterates over all visible categories
  and extensions, hiding any that have their "hidden" bit set. This is
  by far the most commonly used iterator.

  known_categories_iterator: Iterates over all categories and
  extensions, ignoring the "hidden" bit. This tends to be used for
  redeclaration-like traversals.

  visible_extensions_iterator: Iterates over all visible extensions,
  hiding any that have their "hidden" bit set.

  known_extensions_iterator: Iterates over all extensions, whether
  they are visible to normal name lookup or not.

The effect of this change is that any uses of the visible_ iterators
will respect module-import visibility. See the new tests for examples.

Note that the old accessors for categories and extensions are gone;
there are *Raw() forms for some of them, for those (few) areas of the
compiler that have to manipulate the linked list of categories
directly. This is generally discouraged.

Part two of <rdar://problem/10634711>.

llvm-svn: 172665

11 years agoUse getProcessTriple in clang-interpreter.
Peter Collingbourne [Wed, 16 Jan 2013 22:37:09 +0000 (22:37 +0000)]
Use getProcessTriple in clang-interpreter.

llvm-svn: 172664

11 years agoChanging the Python reference document to be more explicit in discouraging usage...
Enrico Granata [Wed, 16 Jan 2013 22:25:17 +0000 (22:25 +0000)]
Changing the Python reference document to be more explicit in discouraging usage of lldb.{debugger,...} convenience variables for formatters and other non-interactive Python extensions

llvm-svn: 172663

11 years agoRemoved unused variable.
Greg Clayton [Wed, 16 Jan 2013 22:22:42 +0000 (22:22 +0000)]
Removed unused variable.

llvm-svn: 172662

11 years agoFix a -Wdocumentation warning (empty paragraph passed to '\brief' command)
Dmitri Gribenko [Wed, 16 Jan 2013 22:10:09 +0000 (22:10 +0000)]
Fix a -Wdocumentation warning (empty paragraph passed to '\brief' command)

llvm-svn: 172661

11 years agoAdd raw string literal versus C preprocessor test, suggested by James Dennett.
Richard Smith [Wed, 16 Jan 2013 21:43:09 +0000 (21:43 +0000)]
Add raw string literal versus C preprocessor test, suggested by James Dennett.

llvm-svn: 172660

11 years ago[IR] Add 'Append' and 'AppendUnique' module flag behaviors.
Daniel Dunbar [Wed, 16 Jan 2013 21:38:56 +0000 (21:38 +0000)]
[IR] Add 'Append' and 'AppendUnique' module flag behaviors.

llvm-svn: 172659

11 years agoChange CostTable model to be global to all targets
Renato Golin [Wed, 16 Jan 2013 21:29:55 +0000 (21:29 +0000)]
Change CostTable model to be global to all targets

Moving the X86CostTable to a common place, so that other back-ends
can share the code. Also simplifying it a bit and commoning up
tables with one and two types on operations.

llvm-svn: 172658

11 years agoWrite transform results to disk only once
Edwin Vane [Wed, 16 Jan 2013 21:11:50 +0000 (21:11 +0000)]
Write transform results to disk only once

Instead of writing the result of each transform to disk for every
transform, write the results to buffers in memory and pass those buffers
to the next transform as input. Only write the buffers to disk if the
final syntax check passes.

Reviewers: klimek
llvm-svn: 172657

11 years agoAdded test for r172599 which fixes bugzilla://14584,rdar://11744105.
Michael Gottesman [Wed, 16 Jan 2013 21:07:18 +0000 (21:07 +0000)]
Added test for r172599 which fixes bugzilla://14584,rdar://11744105.

llvm-svn: 172656

11 years ago[Support] Include the intrisics header and check for definition properly.
Michael J. Spencer [Wed, 16 Jan 2013 20:50:43 +0000 (20:50 +0000)]
[Support] Include the intrisics header and check for definition properly.

llvm-svn: 172655

11 years agoFix recent test for more diverse environments.
Tim Northover [Wed, 16 Jan 2013 20:35:54 +0000 (20:35 +0000)]
Fix recent test for more diverse environments.

I think the main issue was the lack of -ffreestanding, which pulled in
the host's stdint.h. After that things went rapidly downhill.

llvm-svn: 172653

11 years agoMake this test X86 only.
Eric Christopher [Wed, 16 Jan 2013 20:31:35 +0000 (20:31 +0000)]
Make this test X86 only.

llvm-svn: 172652

11 years agoMove this to X86.
Eric Christopher [Wed, 16 Jan 2013 20:31:32 +0000 (20:31 +0000)]
Move this to X86.

llvm-svn: 172651

11 years agoCorrect order of operands forwarding NEON vfma to LLVM fma
Tim Northover [Wed, 16 Jan 2013 20:13:15 +0000 (20:13 +0000)]
Correct order of operands forwarding NEON vfma to LLVM fma

llvm-svn: 172650

11 years agoMove initialization of ParsingIfOrElifDirective down next to the macro
Eric Christopher [Wed, 16 Jan 2013 20:09:36 +0000 (20:09 +0000)]
Move initialization of ParsingIfOrElifDirective down next to the macro
initializations to fix Wreorder warning.

llvm-svn: 172649

11 years agoAdd testcase missed yesterday. Patch from Paul Robinson.
Eric Christopher [Wed, 16 Jan 2013 19:54:35 +0000 (19:54 +0000)]
Add testcase missed yesterday. Patch from Paul Robinson.

llvm-svn: 172648

11 years agoRemove std::string input arguments and replace with "const char *".
Greg Clayton [Wed, 16 Jan 2013 19:53:55 +0000 (19:53 +0000)]
Remove std::string input arguments and replace with "const char *".

llvm-svn: 172647

11 years agoAdd testcase missed yesterday from Paul Robinson.
Eric Christopher [Wed, 16 Jan 2013 19:53:47 +0000 (19:53 +0000)]
Add testcase missed yesterday from Paul Robinson.

llvm-svn: 172646

11 years ago[Support] Add MSVC intrinsic for CountPopulation.
Michael J. Spencer [Wed, 16 Jan 2013 19:52:12 +0000 (19:52 +0000)]
[Support] Add MSVC intrinsic for CountPopulation.

Patch by Jakub Staszak.

llvm-svn: 172645

11 years ago[Support] Update MSVC compiler support in Compiler.h.
Michael J. Spencer [Wed, 16 Jan 2013 19:51:59 +0000 (19:51 +0000)]
[Support] Update MSVC compiler support in Compiler.h.

llvm-svn: 172644

11 years agoAdding verbiage to the Language Extensions document about __has_include and __has_inc...
Aaron Ballman [Wed, 16 Jan 2013 19:51:19 +0000 (19:51 +0000)]
Adding verbiage to the Language Extensions document about __has_include and __has_include_next only being allowed within preprocessor directives.

llvm-svn: 172643

11 years agoRemove unneeded include and empty line
Eli Bendersky [Wed, 16 Jan 2013 19:42:16 +0000 (19:42 +0000)]
Remove unneeded include and empty line

llvm-svn: 172642

11 years agoReplacing reference to radar number with svn revision
Enrico Granata [Wed, 16 Jan 2013 19:41:57 +0000 (19:41 +0000)]
Replacing reference to radar number with svn revision

llvm-svn: 172641

11 years agoSome small (and mostly cosmetic) fixes.
Eli Bendersky [Wed, 16 Jan 2013 19:32:36 +0000 (19:32 +0000)]
Some small (and mostly cosmetic) fixes.

llvm-svn: 172640

11 years agoNo longer crashing with an assert when __has_include or __has_include_next is used...
Aaron Ballman [Wed, 16 Jan 2013 19:32:21 +0000 (19:32 +0000)]
No longer crashing with an assert when __has_include or __has_include_next is used outside of a preprocessor directive.  This fixes PR14837.

llvm-svn: 172639

11 years agoClean up some unnecessary headers and forward declarations
Eli Bendersky [Wed, 16 Jan 2013 19:00:21 +0000 (19:00 +0000)]
Clean up some unnecessary headers and forward declarations

llvm-svn: 172638

11 years agoNow that GenericAsmParser was folded into AsmParser, some methods and types can
Eli Bendersky [Wed, 16 Jan 2013 18:56:50 +0000 (18:56 +0000)]
Now that GenericAsmParser was folded into AsmParser, some methods and types can
return into the safe harbor of AsmParser's private areas.

llvm-svn: 172637

11 years ago<rdar://problem/13021266>
Enrico Granata [Wed, 16 Jan 2013 18:53:52 +0000 (18:53 +0000)]
<rdar://problem/13021266>

Adding FindFirstGlobalVariable to SBModule and SBTarget
These calls work like FindGlobalVariables but they only return the first match found and so they can return an SBValue instead of an SBValueList for added convenience of use

llvm-svn: 172636

11 years agoTeach global selector lookup to ignore hidden methods, which occur
Douglas Gregor [Wed, 16 Jan 2013 18:47:38 +0000 (18:47 +0000)]
Teach global selector lookup to ignore hidden methods, which occur
when the methods are declared in a submodule that has not yet been
imported. Part of <rdar://problem/10634711>.

llvm-svn: 172635

11 years ago[Linker] Change module flag linking to be more extensible.
Daniel Dunbar [Wed, 16 Jan 2013 18:39:23 +0000 (18:39 +0000)]
[Linker] Change module flag linking to be more extensible.

 - Instead of computing a bunch of buckets of different flag types, just do an
   incremental link resolving conflicts as they arise.

 - This also has the advantage of making the link result deterministic and not
   dependent on map iteration order.

llvm-svn: 172634

11 years agoGreg created a new API on SBProcess to get an ID that is guaranteed to be unique...
Enrico Granata [Wed, 16 Jan 2013 18:34:23 +0000 (18:34 +0000)]
Greg created a new API on SBProcess to get an ID that is guaranteed to be unique even in situations where underlying platforms would actually duplicate or hardcode PIDs

The Python data formatters use a per-process cache that was previously keying off the PID. Moving that to be based on this new notion of unique ID.

llvm-svn: 172633

11 years ago[libclang] In clang_reparseTranslationUnit_Impl, move the check whether TU is
Argyrios Kyrtzidis [Wed, 16 Jan 2013 18:13:00 +0000 (18:13 +0000)]
[libclang] In clang_reparseTranslationUnit_Impl, move the check whether TU is
null before using it.

llvm-svn: 172632

11 years agoMake a few tests optimization-proof. These tests were failing under -O3 because...
Howard Hinnant [Wed, 16 Jan 2013 17:56:06 +0000 (17:56 +0000)]
Make a few tests optimization-proof.  These tests were failing under -O3 because the optimizer was eliminating the call to new.

llvm-svn: 172631

11 years agoWe want the dwarf AT_producer for assembly source files to match clang's
Kevin Enderby [Wed, 16 Jan 2013 17:46:23 +0000 (17:46 +0000)]
We want the dwarf AT_producer for assembly source files to match clang's
AT_producer.  Which includes clang's version information so we can tell
which version of the compiler was used.

This is the first of two steps to allow us to do that.  This is the llvm-mc
change to provide a method to set the AT_producer string.  The second step,
coming soon to a clang near you, will have the clang driver pass the value
of getClangFullVersion() via an flag when invoking the integrated assembler
on assembly source files.

rdar://12955296

llvm-svn: 172630

11 years ago[PCH/Modules] The iterator may become invalidated because a new macro can be added
Argyrios Kyrtzidis [Wed, 16 Jan 2013 17:42:07 +0000 (17:42 +0000)]
[PCH/Modules] The iterator may become invalidated because a new macro can be added
while deserializing a macro, make sure to copy/move what we need from it.

Fixes clang-x86_64-debian-fast bot.

llvm-svn: 172629

11 years ago<rdar://problem/13009943>
Greg Clayton [Wed, 16 Jan 2013 17:29:04 +0000 (17:29 +0000)]
<rdar://problem/13009943>

Added a unique integer identifier to processes. Some systems, like JTAG or other simulators, might always assign the same process ID (pid) to the processes that are being debugged. In order for scripts and the APIs to uniquely identify the processes, there needs to be another ID. Now the SBProcess class has:

uint32_t SBProcess::GetUniqueID();

This integer ID will help to truly uniquely identify a process and help with appropriate caching that can be associated with a SBProcess object.

llvm-svn: 172628

11 years agoIntroduce llvm::sys::getProcessTriple() function.
Peter Collingbourne [Wed, 16 Jan 2013 17:27:22 +0000 (17:27 +0000)]
Introduce llvm::sys::getProcessTriple() function.

In r143502, we renamed getHostTriple() to getDefaultTargetTriple()
as part of work to allow the user to supply a different default
target triple at configure time.  This change also affected the JIT.
However, it is inappropriate to use the default target triple in the
JIT in most circumstances because this will not necessarily match
the current architecture used by the process, leading to illegal
instruction and other such errors at run time.

Introduce the getProcessTriple() function for use in the JIT and
its clients, and cause the JIT to use it.  On architectures with a
single bitness, the host and process triples are identical.  On other
architectures, the host triple represents the architecture of the
host CPU, while the process triple represents the architecture used
by the host CPU to interpret machine code within the current process.
For example, when executing 32-bit code on a 64-bit Linux machine,
the host triple may be 'x86_64-unknown-linux-gnu', while the process
triple may be 'i386-unknown-linux-gnu'.

This fixes JIT for the 32-on-64-bit (and vice versa) build on non-Apple
platforms.

Differential Revision: http://llvm-reviews.chandlerc.com/D254

llvm-svn: 172627

11 years agoFirst step in implementation of mips16 and nomips16 attributes.
Reed Kotler [Wed, 16 Jan 2013 17:10:28 +0000 (17:10 +0000)]
First step in implementation of mips16 and nomips16 attributes.
Waiting for new llvm attribute code for the next step.

llvm-svn: 172626

11 years ago[libclang] In clang_getCursorType, don't crash if the translation unit is not
Argyrios Kyrtzidis [Wed, 16 Jan 2013 17:04:31 +0000 (17:04 +0000)]
[libclang] In clang_getCursorType, don't crash if the translation unit is not
set on the cursor; return a null type in such a case.

llvm-svn: 172625

11 years agoFix a bug where we would move a following line into a comment.
Daniel Jasper [Wed, 16 Jan 2013 17:00:50 +0000 (17:00 +0000)]
Fix a bug where we would move a following line into a comment.

Before: Constructor() : a(a), // comment a(a) {}
After:  Constructor() : a(a), // comment
                        a(a) {}

Needed this as a quick fix. Will add more tests for this in a future
commit.

llvm-svn: 172624

11 years ago[preprocessor] Call the MacroUndefined callback even when the macro was not defined.
Argyrios Kyrtzidis [Wed, 16 Jan 2013 16:52:44 +0000 (16:52 +0000)]
[preprocessor] Call the MacroUndefined callback even when the macro was not defined.

Patch by Enea Zaffanella!

llvm-svn: 172623

11 years agoReplace virtual hasFixups with explicit fragment type checks
Eli Bendersky [Wed, 16 Jan 2013 16:52:08 +0000 (16:52 +0000)]
Replace virtual hasFixups with explicit fragment type checks

llvm-svn: 172622

11 years agoFix parsing error in conditional expressions.
Daniel Jasper [Wed, 16 Jan 2013 16:23:19 +0000 (16:23 +0000)]
Fix parsing error in conditional expressions.

We used to incorrectly parse

aaaaaa ? aaaaaa(aaaaaa) : aaaaaaaa;

Due to an l_paren being followed by a colon, we assumed it to be part of
a constructor initializer. Thus, we never found the colon belonging to
the conditional expression, marked the line as bing incorrect and did
not format it.

llvm-svn: 172621

11 years ago[PCH/Modules] Change how macro [re]definitions are de/serialized.
Argyrios Kyrtzidis [Wed, 16 Jan 2013 16:19:38 +0000 (16:19 +0000)]
[PCH/Modules] Change how macro [re]definitions are de/serialized.

Previously we would serialize the macro redefinitions as a list, part of
the identifier, and try to chain them together across modules individually
without having the info that they were already chained at definition time.

Change this by serializing the macro redefinition chain and then try
to synthesize the chain parts across modules. This allows us to correctly
pinpoint when 2 different definitions are ambiguous because they came from
unrelated modules.

Fixes bogus "ambiguous expansion of macro" warning when a macro in a PCH
is redefined without undef'ing it first.

rdar://13016031

llvm-svn: 172620

11 years agoImprove understanding of unary operators.
Daniel Jasper [Wed, 16 Jan 2013 16:04:06 +0000 (16:04 +0000)]
Improve understanding of unary operators.

Before: int x = ** a;
After:  int x = **a;
llvm-svn: 172619

11 years agoDisable inlining of short ifs in Google style.
Daniel Jasper [Wed, 16 Jan 2013 15:44:34 +0000 (15:44 +0000)]
Disable inlining of short ifs in Google style.

Various reasons seem to speak against it, so I am disabling this for
now.

Changed tests to still test this option.

llvm-svn: 172618

11 years agoAdd option to avoid "bin-packing" of parameters.
Daniel Jasper [Wed, 16 Jan 2013 14:59:02 +0000 (14:59 +0000)]
Add option to avoid "bin-packing" of parameters.

"Bin-packing" here means allowing multiple parameters on one line, if a
function call/declaration is spread over multiple lines.

This is required by the Chromium style guide and probably desired for
the Google style guide. Not making changes to LLVM style as I don't have
enough data.

With this enabled, we format stuff like:
aaaaaaaaaaaaaaa(aaaaaaaaaa,
                aaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaa).aaaaaaaaaaaaaaaaaa();

llvm-svn: 172617

11 years agoAdd debugging support for split penalties.
Manuel Klimek [Wed, 16 Jan 2013 14:55:28 +0000 (14:55 +0000)]
Add debugging support for split penalties.

llvm-svn: 172616

11 years agoAllow vectors in CreatePointerCast of constants.
Evgeniy Stepanov [Wed, 16 Jan 2013 14:41:46 +0000 (14:41 +0000)]
Allow vectors in CreatePointerCast of constants.

llvm-svn: 172615

11 years agoA test for r172535.
Evgeniy Stepanov [Wed, 16 Jan 2013 14:38:50 +0000 (14:38 +0000)]
A test for r172535.

llvm-svn: 172614

11 years agoasan: fix ARM build
Dmitry Vyukov [Wed, 16 Jan 2013 14:35:13 +0000 (14:35 +0000)]
asan: fix ARM build

llvm-svn: 172613

11 years agoRemove unused leftover header (it moved to llvm/IR).
Benjamin Kramer [Wed, 16 Jan 2013 13:43:56 +0000 (13:43 +0000)]
Remove unused leftover header (it moved to llvm/IR).

llvm-svn: 172612

11 years agoMove test that depends on the x86 target into a target-specific directory.
Benjamin Kramer [Wed, 16 Jan 2013 13:25:56 +0000 (13:25 +0000)]
Move test that depends on the x86 target into a target-specific directory.

Should fix the arm buildbot (which only builds the arm target).

llvm-svn: 172611

11 years agoASan: wrap mapping scale and offset in a struct and make it a member of ASan passes...
Alexey Samsonov [Wed, 16 Jan 2013 13:23:28 +0000 (13:23 +0000)]
ASan: wrap mapping scale and offset in a struct and make it a member of ASan passes. Add test for non-default mapping scale and offset. No functionality change

llvm-svn: 172610

11 years agoRemove triple from this test, it makes it fail when X86 TTI is missing.
Benjamin Kramer [Wed, 16 Jan 2013 13:19:59 +0000 (13:19 +0000)]
Remove triple from this test, it makes it fail when X86 TTI is missing.

Without a triple opt falls back to NoTTI which comes closer to LSR's pre-TTI behavior.

llvm-svn: 172609

11 years agoUse standard llvm Debug.h support for debugging output.
Manuel Klimek [Wed, 16 Jan 2013 12:31:12 +0000 (12:31 +0000)]
Use standard llvm Debug.h support for debugging output.

Leave a quick "// Uncomment this." hint to enable the debug output in
tests. FIXME: figure out whether we want to enable debug command line
handling for all tests.

llvm-svn: 172608

11 years agoClang Format: A couple of tests for the trailing stuff case
Alexander Kornienko [Wed, 16 Jan 2013 11:45:16 +0000 (11:45 +0000)]
Clang Format: A couple of tests for the trailing stuff case

llvm-svn: 172607

11 years agoClang Format: Handle missing semicolon
Alexander Kornienko [Wed, 16 Jan 2013 11:43:46 +0000 (11:43 +0000)]
Clang Format: Handle missing semicolon

llvm-svn: 172606

11 years agoFix uninitialized bool flag access in SanitizerArgs parser
Alexey Samsonov [Wed, 16 Jan 2013 11:34:36 +0000 (11:34 +0000)]
Fix uninitialized bool flag access in SanitizerArgs parser

llvm-svn: 172605

11 years agoCalculate the total length of a line up to each token up front.
Daniel Jasper [Wed, 16 Jan 2013 10:41:46 +0000 (10:41 +0000)]
Calculate the total length of a line up to each token up front.

This makes the tedious fitsIntoLimit() method unnecessary and I can
replace one hack (constructor initializers) by a slightly better hack.

Furthermore, this will enable calculating whether a certain part of a
line fits into the limit for future modifications.

llvm-svn: 172604

11 years ago[asan] asan_allocator2: fix the memalign handling (clear the first word of allocated...
Kostya Serebryany [Wed, 16 Jan 2013 09:12:14 +0000 (09:12 +0000)]
[asan] asan_allocator2: fix the memalign handling (clear the first word of allocated chunk in case there is an old memalign magic)

llvm-svn: 172603

11 years agoChange the datastructure for UnwrappedLines.
Daniel Jasper [Wed, 16 Jan 2013 09:10:19 +0000 (09:10 +0000)]
Change the datastructure for UnwrappedLines.

It was quite convoluted leading to us accidentally introducing O(N^2)
complexity while copying from UnwrappedLine to AnnotatedLine. We might
still want to improve the datastructure in AnnotatedLine (most
importantly not put them in a vector where they need to be copied on
vector resizing but that will be done as a follow-up.

This fixes most of the regression in llvm.org/PR14959.

No formatting changes intended.

llvm-svn: 172602

11 years agoNever merge < and ::, as it produces different tokens.
Daniel Jasper [Wed, 16 Jan 2013 07:19:28 +0000 (07:19 +0000)]
Never merge < and ::, as it produces different tokens.

Before: vector<::Type> t;
After:  vector< ::Type> t;
llvm-svn: 172601

11 years agoRemove errors were if statements were incorrectly put on a single line.
Daniel Jasper [Wed, 16 Jan 2013 07:02:34 +0000 (07:02 +0000)]
Remove errors were if statements were incorrectly put on a single line.

Before: if (a)  // This comment confused clang-format f();
After:  if (a)  // No more confusion
          f();
llvm-svn: 172600

11 years ago[ObjCARC] Turn off ignoring unwind edges in ObjCARC when -fno-objc-arc-exception...
Michael Gottesman [Wed, 16 Jan 2013 06:32:39 +0000 (06:32 +0000)]
[ObjCARC] Turn off ignoring unwind edges in ObjCARC when -fno-objc-arc-exception is enabled due to it's affect on correctness.

Specifically according to the semantics of ARC -fno-objc-arc-exception simply
states that it is expected that the unwind path out of a call *MAY* not release
objects. Thus we can have the situation where a release gets moved into a catch
block which we ignore when we remove a retain/release pair resulting in (even
though we assume the program is exiting anyways) the cleanup code path
potentially blowing up before program exit.

llvm-svn: 172599

11 years agoclang/test/Driver/darwin-sdkroot.c: Suppress this on msys bash, to introduce the...
NAKAMURA Takumi [Wed, 16 Jan 2013 06:10:16 +0000 (06:10 +0000)]
clang/test/Driver/darwin-sdkroot.c: Suppress this on msys bash, to introduce the feature "shell-preserves-root".

MSYS transforms '/' to 'X:/mingwroot/'.

llvm-svn: 172598

11 years ago[analyzer] Add an annotation to allow suppression of direct ivar
Anna Zaks [Wed, 16 Jan 2013 01:36:00 +0000 (01:36 +0000)]
[analyzer] Add an annotation to allow suppression of direct ivar
assignment

llvm-svn: 172597

11 years ago[analyzer] Fix warning typo.
Anna Zaks [Wed, 16 Jan 2013 01:35:57 +0000 (01:35 +0000)]
[analyzer] Fix warning typo.

llvm-svn: 172596

11 years ago[analyzer] Refactor: parameter rename.
Anna Zaks [Wed, 16 Jan 2013 01:35:54 +0000 (01:35 +0000)]
[analyzer] Refactor: parameter rename.

llvm-svn: 172595

11 years agoreverting 172579
Jack Carter [Wed, 16 Jan 2013 01:29:10 +0000 (01:29 +0000)]
reverting 172579

llvm-svn: 172594

11 years agoSDKROOT should only be unset/cleared for ARM builds. The first fix by Bob Wilson...
Greg Clayton [Wed, 16 Jan 2013 01:27:32 +0000 (01:27 +0000)]
SDKROOT should only be unset/cleared for ARM builds. The first fix by Bob Wilson removed it for ARM for both configure and make, but only unset it for desktop configure, not for the make. My next fix unset/cleared it all the time. This fix only unset/clears it for ARM builds.

llvm-svn: 172593

11 years agoAdd -fmodules-autolink/-fno-modules-autolink (defaults to on) so that
Douglas Gregor [Wed, 16 Jan 2013 01:23:41 +0000 (01:23 +0000)]
Add -fmodules-autolink/-fno-modules-autolink (defaults to on) so that
users can explicitly enable/disable modules autolinking.

llvm-svn: 172592

11 years agoCollect both normal and static data members of a class in source
Eric Christopher [Wed, 16 Jan 2013 01:22:32 +0000 (01:22 +0000)]
Collect both normal and static data members of a class in source
order. Describe static data members to metadata using new interfaces.

Part of PR14471.

Patch by Paul Robinson!

llvm-svn: 172591

11 years agoDefine metadata interfaces for describing a static data member
Eric Christopher [Wed, 16 Jan 2013 01:22:23 +0000 (01:22 +0000)]
Define metadata interfaces for describing a static data member
of a class. Emit static data member declarations and definitions
through correctly.

Part of PR14471.

Patch by Paul Robinson!

llvm-svn: 172590

11 years agoAdd a test for static member debug information.
Eric Christopher [Wed, 16 Jan 2013 01:22:09 +0000 (01:22 +0000)]
Add a test for static member debug information.

Part of PR14471.

Patch by Paul Robinson.

llvm-svn: 172589

11 years agoDocumentation: fix typo
Dmitri Gribenko [Wed, 16 Jan 2013 01:17:05 +0000 (01:17 +0000)]
Documentation: fix typo

llvm-svn: 172588

11 years agoDocument the redeclaration and overriding restrictions on the
Douglas Gregor [Wed, 16 Jan 2013 01:12:31 +0000 (01:12 +0000)]
Document the redeclaration and overriding restrictions on the
availability attribute.

llvm-svn: 172587

11 years agoOne can have an unavailable method overridden by an available method,
Douglas Gregor [Wed, 16 Jan 2013 00:54:48 +0000 (00:54 +0000)]
One can have an unavailable method overridden by an available method,
but not vice-versa. Fix bug introduced in r172567 and noticed by
Jordan, thanks!

llvm-svn: 172586

11 years agoApply adjustment to function- and array-typed non-type template
Douglas Gregor [Wed, 16 Jan 2013 00:52:15 +0000 (00:52 +0000)]
Apply adjustment to function- and array-typed non-type template
parameters (per C++ [temp.param]p8) when computing the type of a
reference to a non-type template parameter. Fixes <rdar://problem/13000548>.

llvm-svn: 172585

11 years agoUse the ExtensionDirectiveHandler type in other places where it makes sense.
Eli Bendersky [Wed, 16 Jan 2013 00:50:52 +0000 (00:50 +0000)]
Use the ExtensionDirectiveHandler type in other places where it makes sense.

Since we already have this type it's a shame to keep dragging a pair of object
and method around explicitly.

llvm-svn: 172584

11 years ago<rdar://problem/13019628>
Han Ming Ong [Wed, 16 Jan 2013 00:46:39 +0000 (00:46 +0000)]
<rdar://problem/13019628>

Prevent profiling from working on older debugserver. Just a simple renaming since the caller is prepared to handle the â€˜unimplemented’ answer.

llvm-svn: 172583

11 years agoFix clang builds that were broken due to SDKROOT changes of you have an internal...
Greg Clayton [Wed, 16 Jan 2013 00:41:14 +0000 (00:41 +0000)]
Fix clang builds that were broken due to SDKROOT changes of you have an internal OS build.

llvm-svn: 172582

11 years agoUse --enable-werror
David Greene [Wed, 16 Jan 2013 00:17:38 +0000 (00:17 +0000)]
Use --enable-werror

Use --enable-werror during configure time rather than
--with-extra-options.  This is cleaner and easier to read.

llvm-svn: 172581

11 years agoImprove r172577 by using the correct type when declaring constants
Dmitri Gribenko [Wed, 16 Jan 2013 00:14:15 +0000 (00:14 +0000)]
Improve r172577 by using the correct type when declaring constants

llvm-svn: 172580

11 years agoAkira,
Jack Carter [Wed, 16 Jan 2013 00:07:45 +0000 (00:07 +0000)]
Akira,

Hope you are feeling better.

The Mips RDHWR (Read Hardware Register) instruction was not
tested for assembler or dissassembler consumption. This patch
adds that functionality.

Contributer: Vladimir Medic

llvm-svn: 172579