platform/upstream/llvm.git
11 years agoNow that we get non-trivial value parameters locations correct, un-XFAIL these tests.
David Blaikie [Wed, 19 Jun 2013 22:07:11 +0000 (22:07 +0000)]
Now that we get non-trivial value parameters locations correct, un-XFAIL these tests.

llvm-svn: 184372

11 years agoAdd missing test for -Wunneeded-member-functions.
Eli Friedman [Wed, 19 Jun 2013 22:01:25 +0000 (22:01 +0000)]
Add missing test for -Wunneeded-member-functions.

llvm-svn: 184371

11 years agoSpelling correction
David Blaikie [Wed, 19 Jun 2013 22:00:13 +0000 (22:00 +0000)]
Spelling correction

llvm-svn: 184370

11 years agoDon't pass in the TargetInstrInfo into the register info object. It doesn't use it.
Bill Wendling [Wed, 19 Jun 2013 21:59:00 +0000 (21:59 +0000)]
Don't pass in the TargetInstrInfo into the register info object. It doesn't use it.

llvm-svn: 184369

11 years agoDebugInfo: PR14763/r183329 correct the location of indirect parameters
David Blaikie [Wed, 19 Jun 2013 21:55:13 +0000 (21:55 +0000)]
DebugInfo: PR14763/r183329 correct the location of indirect parameters

We had been papering over a problem with location info for non-trivial
types passed by value by emitting their type as references (this caused
the debugger to interpret the location information correctly, but broke
the type of the function). r183329 corrected the type information but
lead to the debugger interpreting the pointer parameter as the value -
the debug info describing the location needed an extra dereference.

Use a new flag in DIVariable to add the extra indirection (either by
promoting an existing DW_OP_reg (parameter passed in a register) to
DW_OP_breg + 0 or by adding DW_OP_deref to an existing DW_OP_breg + n
(parameter passed on the stack).

llvm-svn: 184368

11 years agoDebug Info: PR14763/r183329 - specify that non-trivial pass-by-value parameters are...
David Blaikie [Wed, 19 Jun 2013 21:53:53 +0000 (21:53 +0000)]
Debug Info: PR14763/r183329 - specify that non-trivial pass-by-value parameters are stored indirectly

This is to fix the location information for such parameters to refer to
the object accessible through the pointer rather than to the pointer
parameter itself.

llvm-svn: 184367

11 years ago[APFloat] Changed APFloat::isNormal => APFloat::isFiniteNonZero for all tests in...
Michael Gottesman [Wed, 19 Jun 2013 21:53:45 +0000 (21:53 +0000)]
[APFloat] Changed APFloat::isNormal => APFloat::isFiniteNonZero for all tests in unittests.

I forgot to to do this in r184356. The only references were in APFloatTest.cpp.

llvm-svn: 184366

11 years agoDebugInfo: Specify that a value is stored indirectly
David Blaikie [Wed, 19 Jun 2013 21:52:48 +0000 (21:52 +0000)]
DebugInfo: Specify that a value is stored indirectly

This is a precursor to fix a regression caused by PR14763/r183329 where
the location of a non-trivial pass-by-value parameter ends up
incorrectly referring directly to the parameter (a pointer) rather than
the object pointed to by the pointer.

llvm-svn: 184365

11 years agoImplemented a types.py module that allows types to be inspected for padding.
Greg Clayton [Wed, 19 Jun 2013 21:50:28 +0000 (21:50 +0000)]
Implemented a types.py module that allows types to be inspected for padding.

The script was able to point out and save 40 bytes in each lldb_private::Section by being very careful where we need to have virtual destructors and also by re-ordering members.

llvm-svn: 184364

11 years agoHuge speedup for testsuite categories
Enrico Granata [Wed, 19 Jun 2013 21:48:09 +0000 (21:48 +0000)]
Huge speedup for testsuite categories
This ensures that we won't try to do cleanups of test cases that we are skipping
e.g. this brings down the time required to run the cmdline category on my machine from ~70s to ~30s

llvm-svn: 184363

11 years agoSpell correct (s/begining/beginning/)
David Blaikie [Wed, 19 Jun 2013 21:42:05 +0000 (21:42 +0000)]
Spell correct (s/begining/beginning/)

llvm-svn: 184362

11 years agollvm-dwarfdump: Add support for dumping the .debug_loc section
David Blaikie [Wed, 19 Jun 2013 21:37:13 +0000 (21:37 +0000)]
llvm-dwarfdump: Add support for dumping the .debug_loc section

This is a basic implementation - we still don't have any support (that I
know of) for dumping DWARF expressions in a meaningful way, so the
location information itself is just printed as a sequence of bytes as we
do elsewhere.

llvm-svn: 184361

11 years agoAccess the TargetLoweringInfo from the TargetMachine object instead of caching it...
Bill Wendling [Wed, 19 Jun 2013 21:36:55 +0000 (21:36 +0000)]
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.

llvm-svn: 184360

11 years agoRemove unused function.
Rafael Espindola [Wed, 19 Jun 2013 21:33:52 +0000 (21:33 +0000)]
Remove unused function.

llvm-svn: 184359

11 years agoImplement full support for non-pointer types in custom allocators. This is for the...
Howard Hinnant [Wed, 19 Jun 2013 21:29:40 +0000 (21:29 +0000)]
Implement full support for non-pointer types in custom allocators.  This is for the associative containers only.  This work still needs to be done on the unordered and sequence containers.  Fixes llvm.org/bugs/show_bug.cgi?id=15978

llvm-svn: 184358

11 years ago[MC/DWARF] Generate multiple .debug_line entries for adjacent .loc directives
Ulrich Weigand [Wed, 19 Jun 2013 21:27:27 +0000 (21:27 +0000)]
[MC/DWARF] Generate multiple .debug_line entries for adjacent .loc directives

The compiler occasionally generates multiple .loc directives in a row
(at the same instruction address).  These need to be transformed into
multple actual .debug_line table entries, since they are used to signal
certain information to the debugger (e.g. if the opening brace of a
function body is on the same line as the declaration).

The MCAsmStreamer version of EmitDwarfLocDirective handles this
correctly by emitting a .loc directive every time it is called.
However, the MCObjectStream version simply defaults to recording
the information and emitting only a single table entry later,
e.g. when EmitInstruction is called.

This patch introduces a MCAsmStreamer::EmitDwarfLocDirective
version that emits a line table entry for a .loc directive
that may already be pending before recording the new directive.
(This is similar to how this is handled in GNU as.)

With this patch (and the code alignment factor patch) applied,
I'm now getting identical DWARF .debug sections for all test-suite
object files on PowerPC for the internal and the external assembler.

llvm-svn: 184357

11 years ago[APFloat] Converted all references to APFloat::isNormal => APFloat::isFiniteNonZero.
Michael Gottesman [Wed, 19 Jun 2013 21:23:18 +0000 (21:23 +0000)]
[APFloat] Converted all references to APFloat::isNormal => APFloat::isFiniteNonZero.

Turns out all the references were in llvm and not in clang.

llvm-svn: 184356

11 years agoReally fix the missing header :-(
Rafael Espindola [Wed, 19 Jun 2013 21:21:43 +0000 (21:21 +0000)]
Really fix the missing header :-(

llvm-svn: 184355

11 years agoAdd missing include found by the bots.
Rafael Espindola [Wed, 19 Jun 2013 21:20:41 +0000 (21:20 +0000)]
Add missing include found by the bots.

llvm-svn: 184354

11 years agoRemove last use of PathV1.h from Archive.h
Rafael Espindola [Wed, 19 Jun 2013 21:13:59 +0000 (21:13 +0000)]
Remove last use of PathV1.h from Archive.h

Store the individual fields we need instead of a sys::FileStatus.

llvm-svn: 184353

11 years agoAccess the TargetLoweringInfo from the TargetMachine object instead of caching it...
Bill Wendling [Wed, 19 Jun 2013 21:07:11 +0000 (21:07 +0000)]
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.

llvm-svn: 184352

11 years agoModified the implementation of fs::GetUniqueID on Windows such that it actually finds...
Aaron Ballman [Wed, 19 Jun 2013 21:03:50 +0000 (21:03 +0000)]
Modified the implementation of fs::GetUniqueID on Windows such that it actually finds a unique identifier for a file.  Also adds unit tests for GetUniqueID.

llvm-svn: 184351

11 years ago[APFloat] Added isFiniteNonZero predicate.
Michael Gottesman [Wed, 19 Jun 2013 21:00:17 +0000 (21:00 +0000)]
[APFloat] Added isFiniteNonZero predicate.

This is the first patch in a series of patches to rename isNormal =>
isFiniteNonZero and isIEEENormal => isNormal. In order to prevent careless
errors on my part the overall plan is:

1. Add the isFiniteNonZero predicate with tests. I can do this in a method
independent of isNormal. (This step is this patch).
2. Convert all references to isNormal with isFiniteNonZero. My plan is to
comment out isNormal locally and continually convert isNormal references =>
isFiniteNonZero until llvm/clang compiles.
3. Remove old isNormal and rename isIEEENormal to isNormal.
4. Look through all of said references from patch 2 and see if we can simplify
them by using the new isNormal.

llvm-svn: 184350

11 years agoAccess the TargetLoweringInfo from the TargetMachine object instead of caching it...
Bill Wendling [Wed, 19 Jun 2013 20:51:24 +0000 (20:51 +0000)]
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.

llvm-svn: 184349

11 years agoAdd operator!= as the compliment to operator==. This is for a future change.
Bill Wendling [Wed, 19 Jun 2013 20:50:12 +0000 (20:50 +0000)]
Add operator!= as the compliment to operator==. This is for a future change.

llvm-svn: 184348

11 years agoFixed typo.
John Thompson [Wed, 19 Jun 2013 20:35:50 +0000 (20:35 +0000)]
Fixed typo.

llvm-svn: 184347

11 years agoDon't cache the TLI object since we have access to it through TargetMachine already.
Bill Wendling [Wed, 19 Jun 2013 20:32:16 +0000 (20:32 +0000)]
Don't cache the TLI object since we have access to it through TargetMachine already.

llvm-svn: 184346

11 years ago[APFloat] Expose isSmallest/isLargest as public methods.
Michael Gottesman [Wed, 19 Jun 2013 20:31:54 +0000 (20:31 +0000)]
[APFloat] Expose isSmallest/isLargest as public methods.

I have had several requests to expose these two methods as public for various
potential optimizations.

llvm-svn: 184345

11 years agoAllow creation of single-byte MCAtoms.
Ahmed Bougacha [Wed, 19 Jun 2013 20:18:59 +0000 (20:18 +0000)]
Allow creation of single-byte MCAtoms.

llvm-svn: 184344

11 years agoMove StructurizeCFG out of R600 to generic Transforms.
Matt Arsenault [Wed, 19 Jun 2013 20:18:24 +0000 (20:18 +0000)]
Move StructurizeCFG out of R600 to generic Transforms.

Register it with PassManager

llvm-svn: 184343

11 years agoUse LLDB_INVALID_REGNUM at Mike Sartain's suggestion
Andy Gibbs [Wed, 19 Jun 2013 20:04:56 +0000 (20:04 +0000)]
Use LLDB_INVALID_REGNUM at Mike Sartain's suggestion

llvm-svn: 184342

11 years agoLSR: Fix the parameters used to compute the scaling factor cost.
Quentin Colombet [Wed, 19 Jun 2013 19:59:41 +0000 (19:59 +0000)]
LSR: Fix the parameters used to compute the scaling factor cost.

Prior to this change, the considered addressing modes may be invalid since the
maximum and minimum offsets were not taking into account.
This was causing an assertion failure.

The added test case exercices that behavior.

<rdar://problem/14199725> Assertion failed: (CurScaleCost >= 0 && "Legal
addressing mode has an illegal cost!")

llvm-svn: 184341

11 years agoFixed long-standing issue with incorrect length calculation of multi-line comments.
Alexander Kornienko [Wed, 19 Jun 2013 19:50:11 +0000 (19:50 +0000)]
Fixed long-standing issue with incorrect length calculation of multi-line comments.

Summary:
A trailing block comment having multiple lines would cause extremely
high penalties if the summary length of its lines is more than the column limit.
Fixed by always considering only the last line of a multi-line block comment.
Removed a long-standing FIXME from relevant tests and added a motivating test
modelled after problem cases from real code.

Reviewers: klimek

Reviewed By: klimek

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

llvm-svn: 184340

11 years agoUpdated the LLDB download page to reflect Debian package locations for 3.3 as well...
Ashok Thirumurthi [Wed, 19 Jun 2013 19:32:56 +0000 (19:32 +0000)]
Updated the LLDB download page to reflect Debian package locations for 3.3 as well as the incremental 3.4 releases.

llvm-svn: 184339

11 years agoAdd unit test to test a trivial verifier check.
Bill Wendling [Wed, 19 Jun 2013 19:26:44 +0000 (19:26 +0000)]
Add unit test to test a trivial verifier check.

llvm-svn: 184338

11 years agoAlways set the mode.
Rafael Espindola [Wed, 19 Jun 2013 19:17:15 +0000 (19:17 +0000)]
Always set the mode.

This matches GNU ar behavior. Also remove the now unused getFileStatus method.
Not sure how to add a test, it would have to run ls -l or something like that.

llvm-svn: 184337

11 years ago<rdar://problem/14005652>
Enrico Granata [Wed, 19 Jun 2013 19:15:29 +0000 (19:15 +0000)]
<rdar://problem/14005652>

Fixing a bug with the NSString data formatter where some strings would be truncated

llvm-svn: 184336

11 years agoThe 'register' keyword is now deprecated in C++11, so ignore the warning when compili...
Andy Gibbs [Wed, 19 Jun 2013 19:06:44 +0000 (19:06 +0000)]
The 'register' keyword is now deprecated in C++11, so ignore the warning when compiling lldb with clang since python headers commonly use the keyword.

llvm-svn: 184335

11 years agoFix two 'variable is used uninitialised' warnings. Change assert to llvm_unreachable.
Andy Gibbs [Wed, 19 Jun 2013 19:05:52 +0000 (19:05 +0000)]
Fix two 'variable is used uninitialised' warnings.  Change assert to llvm_unreachable.

llvm-svn: 184334

11 years agoSort out a number of mismatched integer types in order to cut down the number of...
Andy Gibbs [Wed, 19 Jun 2013 19:04:53 +0000 (19:04 +0000)]
Sort out a number of mismatched integer types in order to cut down the number of compiler warnings.

llvm-svn: 184333

11 years agoDelete dead code. (Array element types are always complete in C.)
Eli Friedman [Wed, 19 Jun 2013 19:03:14 +0000 (19:03 +0000)]
Delete dead code.  (Array element types are always complete in C.)

llvm-svn: 184332

11 years agoEnhancements for the DynTypedNode
Samuel Benzaquen [Wed, 19 Jun 2013 18:45:24 +0000 (18:45 +0000)]
Enhancements for the DynTypedNode

Added ASTNodeKind as a standalone way to represent node kinds and their hierarchy.
This change is to support ongoing work on D815.

Reviewers: klimek

CC: cfe-commits
llvm-svn: 184331

11 years agoCorrections to r184205 ('this'-return optimization) due to the wrong version of the...
Stephen Lin [Wed, 19 Jun 2013 18:10:35 +0000 (18:10 +0000)]
Corrections to r184205 ('this'-return optimization) due to the wrong version of the patch being committed originally.
1) Removed useless return value of CGCXXABI::EmitConstructorCall and CGCXXABI::EmitVirtualDestructorCall and implementations
2) Corrected last portion of CodeGenCXX/constructor-destructor-return-this to correctly test for non-'this'-return of virtual destructor calls

llvm-svn: 184330

11 years agodocumentation parsing: patch to make @class work for
Fariborz Jahanian [Wed, 19 Jun 2013 18:08:03 +0000 (18:08 +0000)]
documentation parsing: patch to make @class work for
class templates; and similarly, @function  works for
function templates. // rdar://14124702

llvm-svn: 184329

11 years agoRemove more uses of sys::Path.
Rafael Espindola [Wed, 19 Jun 2013 17:49:07 +0000 (17:49 +0000)]
Remove more uses of sys::Path.

llvm-svn: 184328

11 years ago[PECOFF] Add a pass to ensure the correct ordering of grouped sections.
Rui Ueyama [Wed, 19 Jun 2013 17:46:57 +0000 (17:46 +0000)]
[PECOFF] Add a pass to ensure the correct ordering of grouped sections.

Reviewers: shankarke

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

llvm-svn: 184327

11 years agocpp11-migrate: Fixing doxygen warning
Edwin Vane [Wed, 19 Jun 2013 17:38:56 +0000 (17:38 +0000)]
cpp11-migrate: Fixing doxygen warning

llvm-svn: 184326

11 years agoSLPVectorizer: handle scalars that are extracted from vectors (using ExtractElementInst).
Nadav Rotem [Wed, 19 Jun 2013 17:33:16 +0000 (17:33 +0000)]
SLPVectorizer: handle scalars that are extracted from vectors (using ExtractElementInst).

llvm-svn: 184325

11 years agoRevert "Adds support for openSUSE ARM v5/v7 triples."
Renato Golin [Wed, 19 Jun 2013 17:28:50 +0000 (17:28 +0000)]
Revert "Adds support for openSUSE ARM v5/v7 triples."

This reverts commit 312e51ca484976c2b1254952ff23d5162ca8edc2.

llvm-svn: 184324

11 years agoAdds support for openSUSE ARM v5/v7 triples.
Renato Golin [Wed, 19 Jun 2013 17:28:42 +0000 (17:28 +0000)]
Adds support for openSUSE ARM v5/v7 triples.

Now, with a comma.

Patch by İsmail Dönmez

llvm-svn: 184323

11 years agocpp11-migrate: Fix parsing of '.' for header include/excludes
Edwin Vane [Wed, 19 Jun 2013 17:17:31 +0000 (17:17 +0000)]
cpp11-migrate: Fix parsing of '.' for header include/excludes

sys::fs::make_absolute was turning '.' into '<path>/.' which broke prefix
comparison logic. Stripping these extra chars fixes the problem.

llvm-svn: 184322

11 years ago[CodeGen] Move EHScopeStack into its own header
Reid Kleckner [Wed, 19 Jun 2013 17:07:50 +0000 (17:07 +0000)]
[CodeGen] Move EHScopeStack into its own header

CGCleanup.h isn't meant to be included by all of CodeGen according to
John.

llvm-svn: 184321

11 years agoRemove unused function.
Rafael Espindola [Wed, 19 Jun 2013 16:47:34 +0000 (16:47 +0000)]
Remove unused function.

llvm-svn: 184320

11 years ago[Windows] Fix __declspec(property) when the getter returns a ref
Reid Kleckner [Wed, 19 Jun 2013 16:37:23 +0000 (16:37 +0000)]
[Windows] Fix __declspec(property) when the getter returns a ref

This fixes an issue when parsing atlbase.h.

Patch by Will Wilson!

llvm-svn: 184319

11 years agoAnother attempt at fixing the bots.
Rafael Espindola [Wed, 19 Jun 2013 16:16:13 +0000 (16:16 +0000)]
Another attempt at fixing the bots.

llvm-svn: 184318

11 years agoSLPVectorizer: start constructing chains at stores that are not power of two.
Nadav Rotem [Wed, 19 Jun 2013 15:57:29 +0000 (15:57 +0000)]
SLPVectorizer: start constructing chains at stores that are not power of two.
The type <3 x i8> is a common in graphics and we want to be able to vectorize it.

This changes accelerates bullet by 12% and 471_omnetpp by 5%.

llvm-svn: 184317

11 years agoAttempt at fixing some bots.
Rafael Espindola [Wed, 19 Jun 2013 15:56:53 +0000 (15:56 +0000)]
Attempt at fixing some bots.

llvm-svn: 184316

11 years agoReduce sys::Path usage in llvm-ar.
Rafael Espindola [Wed, 19 Jun 2013 15:45:37 +0000 (15:45 +0000)]
Reduce sys::Path usage in llvm-ar.

llvm-svn: 184315

11 years agoFix a remove-cstr-calls test that fails checking of the produced code.
Manuel Klimek [Wed, 19 Jun 2013 15:43:40 +0000 (15:43 +0000)]
Fix a remove-cstr-calls test that fails checking of the produced code.

llvm-svn: 184314

11 years agoCompletely revamp node binding for AST matchers.
Manuel Klimek [Wed, 19 Jun 2013 15:42:45 +0000 (15:42 +0000)]
Completely revamp node binding for AST matchers.

This is in preparation for the backwards references to bound
nodes, which will expose a lot more about how matches occur.  Main
changes:
- instead of building the tree of bound nodes, we build a "set" of bound
  nodes and explode all possible match combinations while running
  through the matchers; this will allow us to also implement matchers
  that filter down the current set of matches, like "equalsBoundNode"
- take the set of bound nodes at the start of the match into
  consideration when doing memoization; as part of that, reevaluated
  that memoization gives us benefits that are large enough (it still
  does - the effect on common match patterns is up to an order of
  magnitude)
- reset the bound nodes when a node does not match, thus never leaking
  information from partial sub-matcher matches for failing matchers

Effects:
- we can now correctly "explode" combinatorial matches, for example:
  allOf(forEachDescendant(...bind("a")),
  forEachDescendant(...bind("b"))) will now trigger matches for all
  combinations of matching "a" and "b"s.
- we now never expose bound nodes from partial matches in matchers that
  did not match in the end - this fixes a long-standing issue

FIXMEs:
- rename BoundNodesTreeBuilder to BoundNodesBuilder or
  BoundNodesSetBuilder, as we don't build a tree any more; this is out
  of scope for this change, though
- we're seeing some performance regressions (around 10%), but I expect
  some performance tuning will get that back, and it's easily worth
  the increase in expressiveness for now

llvm-svn: 184313

11 years ago[lsan] Prevent inlining of WipeStack().
Sergey Matveev [Wed, 19 Jun 2013 15:39:13 +0000 (15:39 +0000)]
[lsan] Prevent inlining of WipeStack().

llvm-svn: 184312

11 years agoRemove Path::getDirectoryContents.
Rafael Espindola [Wed, 19 Jun 2013 15:32:37 +0000 (15:32 +0000)]
Remove Path::getDirectoryContents.

llvm-svn: 184311

11 years agoDon't depend on PathV1.h including set.
Rafael Espindola [Wed, 19 Jun 2013 15:31:27 +0000 (15:31 +0000)]
Don't depend on PathV1.h including set.

llvm-svn: 184310

11 years ago[ms-cxxabi] Emit and install appropriately mangled vbtables
Reid Kleckner [Wed, 19 Jun 2013 15:20:38 +0000 (15:20 +0000)]
[ms-cxxabi] Emit and install appropriately mangled vbtables

In Itanium, dynamic classes have one vtable with several different
address points for dynamic base classes that can't share vtables.

In the MS C++ ABI, each vbtable that can't be shared gets its own
symbol, similar to how ctor vtables work in Itanium.  However, instead
of mangling the subobject offset into the symbol, the unique portions of
the inheritance path are mangled into the symbol to make it unique.

This patch implements the MSVC 2012 scheme for forming unique vbtable
symbol names.  MSVC 2010 use the same mangling with a different subset
of the path.  Implementing that mangling and possibly others is TODO.

Each vbtable is an array of i32 offsets from the vbptr that points to it
to another virtual base subobject.  The first entry of a vbtable always
points to the base of the current subobject, implying that it is the
same no matter which parent class contains it.

Reviewers: rjmccall

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

llvm-svn: 184309

11 years ago[Driver] Don't forward source file input args to gcc
Reid Kleckner [Wed, 19 Jun 2013 15:09:06 +0000 (15:09 +0000)]
[Driver] Don't forward source file input args to gcc

gcc's inputs are already added by the InputInfoList passed to
Action::ConstructJob.

Fixes a regression from r183989.  This was manifesting when targetting
mingw as an extra input argument to gcc when assembling.  It presumably
affects other situations where clang calls gcc.

Prior to r183989, forwardToGCC() was returning false because the INPUT
option defined in OptParser.td had the DriverOption flag set on it.
LLVM's Option library does not set this flag for INPUT.

Reviewers: espindola

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

llvm-svn: 184308

11 years agoRevert r184302 on Renato's behalf - it broke the bots and he's asked me to revert...
James Molloy [Wed, 19 Jun 2013 15:03:14 +0000 (15:03 +0000)]
Revert r184302 on Renato's behalf - it broke the bots and he's asked me to revert as he's unavailable.

llvm-svn: 184307

11 years agoRemove the 'R' modifier.
Rafael Espindola [Wed, 19 Jun 2013 14:58:16 +0000 (14:58 +0000)]
Remove the 'R' modifier.

It is not present in GNU or OS X versions and doesn't make a lot of sense
for llvm-ar.

llvm-svn: 184306

11 years agoRemove Path::isObjectFile.
Rafael Espindola [Wed, 19 Jun 2013 14:25:38 +0000 (14:25 +0000)]
Remove Path::isObjectFile.

llvm-svn: 184305

11 years agoSplit long strings on word boundaries.
Alexander Kornienko [Wed, 19 Jun 2013 14:22:47 +0000 (14:22 +0000)]
Split long strings on word boundaries.

Summary: Split strings at word boundaries, when there are no spaces and slashes.

Reviewers: klimek

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

llvm-svn: 184304

11 years ago[lsan] Move symbolization and reporting out of StopTheWorld callback.
Sergey Matveev [Wed, 19 Jun 2013 14:04:11 +0000 (14:04 +0000)]
[lsan] Move symbolization and reporting out of StopTheWorld callback.

llvm-svn: 184303

11 years agoAdds support for openSUSE ARM v5/v7 triples.
Renato Golin [Wed, 19 Jun 2013 14:03:51 +0000 (14:03 +0000)]
Adds support for openSUSE ARM v5/v7 triples.

Patch by İsmail Dönmez

llvm-svn: 184302

11 years agoDemangle objc mangling implemented in r184250
Howard Hinnant [Wed, 19 Jun 2013 13:43:18 +0000 (13:43 +0000)]
Demangle objc mangling implemented in r184250

llvm-svn: 184301

11 years agoFix pr16354.
Rafael Espindola [Wed, 19 Jun 2013 13:41:54 +0000 (13:41 +0000)]
Fix pr16354.

We now reject things like

struct ABC {
  static double a;
};
register double ABC::a = 1.0;

llvm-svn: 184300

11 years agoSilence 'set but not used' warning when building in release mode using gcc.
Andy Gibbs [Wed, 19 Jun 2013 13:33:37 +0000 (13:33 +0000)]
Silence 'set but not used' warning when building in release mode using gcc.

llvm-svn: 184299

11 years agoRemove Path::canExecute.
Rafael Espindola [Wed, 19 Jun 2013 13:25:31 +0000 (13:25 +0000)]
Remove Path::canExecute.

llvm-svn: 184298

11 years agoUse llvm::sys::fs::can_execute.
Rafael Espindola [Wed, 19 Jun 2013 13:24:29 +0000 (13:24 +0000)]
Use llvm::sys::fs::can_execute.

llvm-svn: 184297

11 years ago[sanitizer] Fix struct ifconf definition on Mac and restore the size checks.
Evgeniy Stepanov [Wed, 19 Jun 2013 13:21:38 +0000 (13:21 +0000)]
[sanitizer] Fix struct ifconf definition on Mac and restore the size checks.

llvm-svn: 184296

11 years agoWhen the compiler is not providing a clean triple, we should fail
Sylvestre Ledru [Wed, 19 Jun 2013 12:59:56 +0000 (12:59 +0000)]
When the compiler is not providing a clean triple, we should fail
the build right from the start.
For now, it is only done with DEBUGMAKE is provided. That makes
things harder to debug during ports of compiler-rt on other systems.

llvm-svn: 184295

11 years ago[ASan] Delete excessive 'extern "C"' around mlock* interceptors.
Alexander Potapenko [Wed, 19 Jun 2013 11:36:51 +0000 (11:36 +0000)]
[ASan] Delete excessive 'extern "C"' around mlock* interceptors.

llvm-svn: 184294

11 years ago[sanitizer] Fix Android build.
Evgeniy Stepanov [Wed, 19 Jun 2013 10:36:31 +0000 (10:36 +0000)]
[sanitizer] Fix Android build.

llvm-svn: 184293

11 years agoThe RenderMethod field in RegisterOperand class sets the name of the method on the...
Vladimir Medic [Wed, 19 Jun 2013 10:14:36 +0000 (10:14 +0000)]
The RenderMethod field in RegisterOperand class sets the name of the method on the target specific operand to call to add the target specific operand to an MCInst. This patch defines RenderMethod for mips RegisterOperand classes and removes redundant code from MipsAsmParser.cpp

llvm-svn: 184292

11 years agoMachOUniversal.cpp: Fix abuse of Twine. It would be sufficient to use std::string...
NAKAMURA Takumi [Wed, 19 Jun 2013 09:55:05 +0000 (09:55 +0000)]
MachOUniversal.cpp: Fix abuse of Twine. It would be sufficient to use std::string instead.

llvm-svn: 184291

11 years ago[sanitizer] Fix build on RHEL 6.3, 6.4.
Evgeniy Stepanov [Wed, 19 Jun 2013 08:55:28 +0000 (08:55 +0000)]
[sanitizer] Fix build on RHEL 6.3, 6.4.

linux/if_ppp.h is broken in certain kernels.

llvm-svn: 184290

11 years agoFix a crash in the static analyzer (bug #16307)
Pavel Labath [Wed, 19 Jun 2013 08:19:56 +0000 (08:19 +0000)]
Fix a crash in the static analyzer (bug #16307)

Summary:
When processing a call to a function, which got passed less arguments than it
expects, the analyzer would crash.

I've also added a test for that and a analyzer warning which detects these
cases.

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

llvm-svn: 184288

11 years agoFixed comment typo that causes the given comment to actually make sense.
Michael Gottesman [Wed, 19 Jun 2013 07:34:21 +0000 (07:34 +0000)]
Fixed comment typo that causes the given comment to actually make sense.

llvm-svn: 184286

11 years agoPrune "\param InitialState" since it has not been introduced. [-Wdocumentation]
NAKAMURA Takumi [Wed, 19 Jun 2013 06:58:29 +0000 (06:58 +0000)]
Prune "\param InitialState" since it has not been introduced. [-Wdocumentation]

llvm-svn: 184285

11 years agoFix a warning. [-Wunused-variable]
NAKAMURA Takumi [Wed, 19 Jun 2013 06:58:20 +0000 (06:58 +0000)]
Fix a warning. [-Wunused-variable]

llvm-svn: 184284

11 years agoRevert r184249, "doc. parsing: Allow parameter name "..." for variadic functions...
NAKAMURA Takumi [Wed, 19 Jun 2013 06:58:14 +0000 (06:58 +0000)]
Revert r184249, "doc. parsing: Allow parameter name "..." for variadic functions/methods."

It crashes in the case;

/// Without any "param"s in the description.
int printf(const char *format, ...);

llvm-svn: 184283

11 years agoSLPVectorizer: vectorize compares and selects.
Nadav Rotem [Wed, 19 Jun 2013 05:49:52 +0000 (05:49 +0000)]
SLPVectorizer: vectorize compares and selects.

llvm-svn: 184282

11 years agoDocument the return value and fix a typo.
Nadav Rotem [Wed, 19 Jun 2013 05:47:33 +0000 (05:47 +0000)]
Document the return value and fix a typo.

llvm-svn: 184281

11 years agoA few small enhancements to the diagnose-unwind command.
Jason Molenda [Wed, 19 Jun 2013 04:52:55 +0000 (04:52 +0000)]
A few small enhancements to the diagnose-unwind command.

Change the simple-minded stack walk to not depend on lldb to unwind
the first frame.

Collect a list of Modules and Addresses seen while backtracing (with
both methods), display the image list output for all of those modules,
plus disassemble and image show-unwind any additional frames that
the simple backtrace was able to unwind through instead of just the
lldb unwind algorithm frames.

Remove checks for older lldb's that didn't support -a for disassemble
or specifying the assembler syntax on x86 targets.

llvm-svn: 184280

11 years agoImprovements to "command script import" to better support reloading in Xcode
Enrico Granata [Wed, 19 Jun 2013 03:05:52 +0000 (03:05 +0000)]
Improvements to "command script import" to better support reloading in Xcode

Xcode spawns a new LLDB SBDebugger for each debug session, and this was causing the reloading of python modules to fail across debug sessions

(long story short: the module would not be loaded in the current instance of the ScriptInterpreter, but would still be present in sys.modules, hence the import call would just make a copy of it and not run it again
Greg's new decorator uncovered the issue since it relies on actually loading the module's code rather than using __lldb_init_module as the active entity)

This patch introduces the notion of a local vs. global import and crafts an appropriate command to allow reloading to work across debug sessions

llvm-svn: 184279

11 years agoTest commit access.
Wan Xiaofei [Wed, 19 Jun 2013 02:26:00 +0000 (02:26 +0000)]
Test commit access.

llvm-svn: 184278

11 years agoDelete dead code.
Eli Friedman [Wed, 19 Jun 2013 02:07:51 +0000 (02:07 +0000)]
Delete dead code.

llvm-svn: 184277

11 years agoDebug Info: support for gdwarf-2 gdwarf-3 gdwarf-4
Manman Ren [Wed, 19 Jun 2013 01:46:49 +0000 (01:46 +0000)]
Debug Info: support for gdwarf-2 gdwarf-3 gdwarf-4

These options will add a module flag with name "Dwarf Version".
The behavior flag is currently set to Warning, so when two values disagree,
a warning will be emitted.

llvm-svn: 184276

11 years agoAdd test coverage for serialization of dependent function template specializations.
Eli Friedman [Wed, 19 Jun 2013 01:38:21 +0000 (01:38 +0000)]
Add test coverage for serialization of dependent function template specializations.

llvm-svn: 184275

11 years agoAdded a new decorator function in the "lldb" module that can register a command autom...
Greg Clayton [Wed, 19 Jun 2013 01:38:02 +0000 (01:38 +0000)]
Added a new decorator function in the "lldb" module that can register a command automatically. We have just a few kinks to work out for the Xcode workflow and we will be ready to switch over to using this. To use this, you can decorate your python function as:

@lldb.command("new_command", "Documentation string for new_command...")
def new_command(debugger, command, result, dict):
    ....

No more need to register your command in the __lldb_init_module function!

llvm-svn: 184274

11 years agoRemove `using namespace` and use explicit qualification.
Sean Silva [Wed, 19 Jun 2013 01:13:28 +0000 (01:13 +0000)]
Remove `using namespace` and use explicit qualification.

There were only two places it was actually making anything shorter.

llvm-svn: 184273

11 years agoRemove spurious space.
Sean Silva [Wed, 19 Jun 2013 01:10:58 +0000 (01:10 +0000)]
Remove spurious space.

llvm-svn: 184272

11 years agoRemove unused parameter.
Sean Silva [Wed, 19 Jun 2013 01:10:11 +0000 (01:10 +0000)]
Remove unused parameter.

Not sure why we weren't catching this with -Wunused-parameter...

Spotted by inspection.

llvm-svn: 184271