platform/upstream/llvm.git
13 years agoUpdate MC/ELF/relocation.s with change to X86 PUSH64i8 in r134501.
Kevin Enderby [Wed, 6 Jul 2011 17:55:20 +0000 (17:55 +0000)]
Update MC/ELF/relocation.s with change to X86 PUSH64i8 in r134501.

llvm-svn: 134511

13 years agoSet the EvaluationPoint's m_thread_id to the RIGHT invalid define...
Jim Ingham [Wed, 6 Jul 2011 17:42:14 +0000 (17:42 +0000)]
Set the EvaluationPoint's m_thread_id to the RIGHT invalid define...

llvm-svn: 134505

13 years agoKeep track of when "unrecoverable" errors occur, then allow
Douglas Gregor [Wed, 6 Jul 2011 17:40:26 +0000 (17:40 +0000)]
Keep track of when "unrecoverable" errors occur, then allow
clang_saveTranslationUnit() to save a PCH file if the only errors it
contains are recoverable errors. Fixes <rdar://problem/9727804>.

llvm-svn: 134503

13 years agoChanged the X86 PUSH64i8 record to use the i64i8imm ParserMatchClass so that a
Kevin Enderby [Wed, 6 Jul 2011 17:23:46 +0000 (17:23 +0000)]
Changed the X86 PUSH64i8 record to use the i64i8imm ParserMatchClass so that a
push with a small constant produces a 2-byte push.

llvm-svn: 134501

13 years agoAllow tagless builds and fix debug build configuration.
David Greene [Wed, 6 Jul 2011 16:54:14 +0000 (16:54 +0000)]
Allow tagless builds and fix debug build configuration.

llvm-svn: 134498

13 years agoMade the string representation for a SBValue return what "frame variable"
Greg Clayton [Wed, 6 Jul 2011 16:49:27 +0000 (16:49 +0000)]
Made the string representation for a SBValue return what "frame variable"
would return instead of a less than helpful "name: '%s'" description.

Make sure that when we ask for the error from a ValueObject object we
first update the value if needed.

Cleaned up some SB functions to use internal functions and not re-call
through the public API when possible.

llvm-svn: 134497

13 years agoSmallVectorize a critical vector.
Benjamin Kramer [Wed, 6 Jul 2011 16:43:46 +0000 (16:43 +0000)]
SmallVectorize a critical vector.

The small number of elements was determined by taking the median
file length in clang+llvm and /usr/include on OS X with xcode installed.

llvm-svn: 134496

13 years agolibclang: Allow callers of clang_saveTranslationUnit() to distinguish
Douglas Gregor [Wed, 6 Jul 2011 16:43:36 +0000 (16:43 +0000)]
libclang: Allow callers of clang_saveTranslationUnit() to distinguish
between different classes of errors. Addresses most of
<rdar://problem/9660328>.

llvm-svn: 134495

13 years agoBuild up statistics about the work done for analysis based warnings.
Chandler Carruth [Wed, 6 Jul 2011 16:21:37 +0000 (16:21 +0000)]
Build up statistics about the work done for analysis based warnings.
Special detail is added for uninitialized variable analysis as this has
serious performance problems than need to be tracked.

Computing some of this data is expensive, for example walking the CFG to
determine its size. To avoid doing that unless the stats data is going
to be used, we thread a bit into the Sema object to track whether
detailed stats should be collected or not. This bit is used to avoid
computations whereever the computations are likely to be more expensive
than checking the state of the flag. Thus, counters are in some cases
unconditionally updated, but the more expensive (and less frequent)
aggregation steps are skipped.

With this patch, we're able to see that for 'gcc.c':
*** Analysis Based Warnings Stats:
232 functions analyzed (0 w/o CFGs).
  7151 CFG blocks built.
  30 average CFG blocks per function.
  1167 max CFG blocks per function.
163 functions analyzed for uninitialiazed variables
  640 variables analyzed.
  3 average variables per function.
  94 max variables per function.
  96409 block visits.
  591 average block visits per function.
  61546 max block visits per function.

And for the reduced testcase in PR10183:
*** Analysis Based Warnings Stats:
98 functions analyzed (0 w/o CFGs).
  8526 CFG blocks built.
  87 average CFG blocks per function.
  7277 max CFG blocks per function.
68 functions analyzed for uninitialiazed variables
  1359 variables analyzed.
  19 average variables per function.
  1196 max variables per function.
  2540494 block visits.
  37360 average block visits per function.
  2536495 max block visits per function.

That last number is the somewhat scary one that indicates the problem in
PR10183.

llvm-svn: 134494

13 years agoTeach the static analyzer's interpretation of Cocoa conventions to
Douglas Gregor [Wed, 6 Jul 2011 16:00:34 +0000 (16:00 +0000)]
Teach the static analyzer's interpretation of Cocoa conventions to
obey the objc_method_family attribute when provided. Fixes
<rdar://problem/9726279>.

llvm-svn: 134493

13 years agoFixed some format names
Enrico Granata [Wed, 6 Jul 2011 15:56:06 +0000 (15:56 +0000)]
Fixed some format names

llvm-svn: 134492

13 years agoUse attributes from the definition (if available) when
Rafael Espindola [Wed, 6 Jul 2011 15:46:09 +0000 (15:46 +0000)]
Use attributes from the definition (if available) when
instantiating functions.

Fixes PR10272.

llvm-svn: 134491

13 years agoFix C&P error
Joerg Sonnenberger [Wed, 6 Jul 2011 11:00:56 +0000 (11:00 +0000)]
Fix C&P error

llvm-svn: 134490

13 years agoWhen tree-transforming an expression sequence, always flag expanded
John McCall [Wed, 6 Jul 2011 07:30:07 +0000 (07:30 +0000)]
When tree-transforming an expression sequence, always flag expanded
variadic argument pack expansions as having changed, rather than doing
it for each changed expansion, which leaves out zero-argument packs
with catastrophic consequences.

Fixes PR10260.

llvm-svn: 134483

13 years agoFixed enum types can be complete without actually being valid to use
John McCall [Wed, 6 Jul 2011 06:57:57 +0000 (06:57 +0000)]
Fixed enum types can be complete without actually being valid to use
as scope specifiers;  diagnose the attempt, rather than letting it go
to an assert.  The rest of PR10264.

llvm-svn: 134479

13 years agoProperly protect colons when parsing a nested-name-specifier as part
John McCall [Wed, 6 Jul 2011 05:58:41 +0000 (05:58 +0000)]
Properly protect colons when parsing a nested-name-specifier as part
of an enum specifier in dialects which permit fixed underlying types.
Fixes the rejects-valid part of PR10264.

llvm-svn: 134468

13 years agoFixed some issues with ARM backtraces by not processing any push/pop
Greg Clayton [Wed, 6 Jul 2011 04:07:21 +0000 (04:07 +0000)]
Fixed some issues with ARM backtraces by not processing any push/pop
instructions if they are conditional. Also fixed issues where the PC wasn't
getting bit zero stripped for ARM targets when a stack frame was thumb. We
now properly call through the GetOpcodeLoadAddress() functions to make sure
the addresses are properly stripped for any targets that may decorate up
their addresses.

We now don't pass the SIGSTOP signals along. We can revisit this soon, but
currently this was interfering with debugging some older ARM targets that
don't have vCont support in the GDB server.

llvm-svn: 134461

13 years agoImprove the Python bindings for libclang in a few ways, from Eli
Douglas Gregor [Wed, 6 Jul 2011 03:00:34 +0000 (03:00 +0000)]
Improve the Python bindings for libclang in a few ways, from Eli
Bendersky. Specifically:

* Implemented a new function in libclang: clang_isAttribute

* Fixing TranslationUnit.get_includes to only go through the argument
* buffer when it contains something. This fixed a crash on Windows

* clang_getFileName returns CXString, not char*. Made appropriate
* fixes in cindex.py - now the relevant tests pass and we can see the
* full locations correctly again (previously there was garbage in
* place of the file name)
* Exposed clang_getCursorDisplayName to the python bindings

llvm-svn: 134460

13 years agoSomehow the -fgnu-runtime option itself got lost in all that shuffling.
John McCall [Wed, 6 Jul 2011 02:36:30 +0000 (02:36 +0000)]
Somehow the -fgnu-runtime option itself got lost in all that shuffling.
Restore it.

llvm-svn: 134459

13 years agonew syntax for summary strings:
Enrico Granata [Wed, 6 Jul 2011 02:13:41 +0000 (02:13 +0000)]
new syntax for summary strings:
 - ${*expr} now simply means to dereference expr before actually using it
 - bitfields, array ranges and pointer ranges now work in a (hopefully) more natural and language-compliant way
a new class TypeHierarchyNavigator replicates the behavior of the FormatManager in going through type hierarchies
when one-lining summary strings, children's summaries can be used as well as values

llvm-svn: 134458

13 years agoRemove the AsmWriterEmitter (unused) feature that rely on TargetSubtargetInfo.
Evan Cheng [Wed, 6 Jul 2011 02:02:33 +0000 (02:02 +0000)]
Remove the AsmWriterEmitter (unused) feature that rely on TargetSubtargetInfo.

llvm-svn: 134457

13 years agoCall objc_terminate() instead of abort() when a cleanup throws an
John McCall [Wed, 6 Jul 2011 01:22:26 +0000 (01:22 +0000)]
Call objc_terminate() instead of abort() when a cleanup throws an
exception in Objective-C;  in Objective-C++ we still use std::terminate().
This is only available in very recent runtimes.

llvm-svn: 134456

13 years agoMissing header from last commit; accidental change.
John McCall [Wed, 6 Jul 2011 00:38:59 +0000 (00:38 +0000)]
Missing header from last commit; accidental change.

llvm-svn: 134455

13 years agoAdded a missing case label.
Fariborz Jahanian [Wed, 6 Jul 2011 00:29:51 +0000 (00:29 +0000)]
Added a missing case  label.

llvm-svn: 134454

13 years agoChange the driver's logic about Objective-C runtimes: abstract out a
John McCall [Wed, 6 Jul 2011 00:26:06 +0000 (00:26 +0000)]
Change the driver's logic about Objective-C runtimes:  abstract out a
structure to hold inferred information, then propagate each invididual
bit down to -cc1.  Separate the bits of "supports weak" and "has a native
ARC runtime";  make the latter a CodeGenOption.

The tool chain is still driving this decision, because it's the place that
has the required deployment target information on Darwin, but at least it's
better-factored now.

llvm-svn: 134453

13 years agoAdd a more verbose docstring for SBThread.h.
Johnny Chen [Wed, 6 Jul 2011 00:16:21 +0000 (00:16 +0000)]
Add a more verbose docstring for SBThread.h.

llvm-svn: 134452

13 years agoAdd swig docstrings for SBBlock.h.
Johnny Chen [Tue, 5 Jul 2011 23:54:12 +0000 (23:54 +0000)]
Add swig docstrings for SBBlock.h.

llvm-svn: 134451

13 years agoobjc-arc: enforce performSelector rules in rejecting retaining selectors
Fariborz Jahanian [Tue, 5 Jul 2011 22:38:59 +0000 (22:38 +0000)]
objc-arc: enforce performSelector rules in rejecting retaining selectors
passed to it, and unknown selectors causing potential leak.
// rdar://9659270

llvm-svn: 134449

13 years agoScheduleOpt: Fix some bugs
Tobias Grosser [Tue, 5 Jul 2011 22:15:53 +0000 (22:15 +0000)]
ScheduleOpt: Fix some bugs

isl changed a function name, we did not properly initialize some variables
and we freed an isl_ctx object.

llvm-svn: 134448

13 years agoRevert r134366 and add an explicit triple to make this test host-independent.
Dan Gohman [Tue, 5 Jul 2011 22:09:19 +0000 (22:09 +0000)]
Revert r134366 and add an explicit triple to make this test host-independent.

llvm-svn: 134447

13 years agoAdd swig docstrings for SBModule.h, plus ifndef the SBModule::GetUUIDBytes() API...
Johnny Chen [Tue, 5 Jul 2011 22:03:36 +0000 (22:03 +0000)]
Add swig docstrings for SBModule.h, plus ifndef the SBModule::GetUUIDBytes() API out if swig.
Fix typos in the comment for Module.h.

llvm-svn: 134446

13 years agoAdd the ObjC ARC optimization passes manually, now that they're not
Dan Gohman [Tue, 5 Jul 2011 22:02:36 +0000 (22:02 +0000)]
Add the ObjC ARC optimization passes manually, now that they're not
hardwired into the default pass list.

llvm-svn: 134445

13 years agoRemove the ObjC ARC passes from the default optimization list, and add
Dan Gohman [Tue, 5 Jul 2011 22:01:44 +0000 (22:01 +0000)]
Remove the ObjC ARC passes from the default optimization list, and add
extension points to be used by clang.

llvm-svn: 134444

13 years agoRemove unused member of Builtin::Info.
Eli Friedman [Tue, 5 Jul 2011 21:53:01 +0000 (21:53 +0000)]
Remove unused member of Builtin::Info.

llvm-svn: 134443

13 years agoTestcase for r134441.
Devang Patel [Tue, 5 Jul 2011 21:48:46 +0000 (21:48 +0000)]
Testcase for r134441.

llvm-svn: 134442

13 years agoPreserve debug loc.
Devang Patel [Tue, 5 Jul 2011 21:48:22 +0000 (21:48 +0000)]
Preserve debug loc.

llvm-svn: 134441

13 years agoSpeculatively revert r134431.
Devang Patel [Tue, 5 Jul 2011 21:16:28 +0000 (21:16 +0000)]
Speculatively revert r134431.

llvm-svn: 134440

13 years agoUse memcmp.
Benjamin Kramer [Tue, 5 Jul 2011 20:28:00 +0000 (20:28 +0000)]
Use memcmp.

llvm-svn: 134439

13 years agoDrop "soft" argument that would be considered as file argument by cc1.
Joerg Sonnenberger [Tue, 5 Jul 2011 19:52:46 +0000 (19:52 +0000)]
Drop "soft" argument that would be considered as file argument by cc1.

llvm-svn: 134438

13 years agoAdd a more verbose docstring to the SBSymbolContext API class.
Johnny Chen [Tue, 5 Jul 2011 19:18:41 +0000 (19:18 +0000)]
Add a more verbose docstring to the SBSymbolContext API class.
Add doxygen/docstring to SBProcess.RemoteAttachToProcessWithID() API method.

llvm-svn: 134437

13 years agoReally fix typo :-(
Rafael Espindola [Tue, 5 Jul 2011 19:17:10 +0000 (19:17 +0000)]
Really fix typo :-(

llvm-svn: 134436

13 years agowww/memaccess: Fix forgotten typo
Tobias Grosser [Tue, 5 Jul 2011 19:13:41 +0000 (19:13 +0000)]
www/memaccess: Fix forgotten typo

llvm-svn: 134435

13 years agoCodeGen: Adapt to change of PHI operand storage
Tobias Grosser [Tue, 5 Jul 2011 19:13:31 +0000 (19:13 +0000)]
CodeGen: Adapt to change of PHI operand storage

Commit 133435 "Change how PHINodes store their operands" broke Polly. Fix this
breakage by adapting to the changes in the commit.

llvm-svn: 134434

13 years agoFix typo.
Rafael Espindola [Tue, 5 Jul 2011 19:13:27 +0000 (19:13 +0000)]
Fix typo.

llvm-svn: 134433

13 years agotest: Do not pipe the .ll file into opt
Tobias Grosser [Tue, 5 Jul 2011 19:13:21 +0000 (19:13 +0000)]
test: Do not pipe the .ll file into opt

The construct '< %s' complicates debugging with gdb --args as the content of
%s is interpreted as gdb input.

llvm-svn: 134432

13 years agoClear debug loc while updating insert point.
Devang Patel [Tue, 5 Jul 2011 18:58:22 +0000 (18:58 +0000)]
Clear debug loc while updating insert point.

llvm-svn: 134431

13 years agoBy default mkstemp() creates a temporary file with mode 0600, but the mode
Chad Rosier [Tue, 5 Jul 2011 18:55:31 +0000 (18:55 +0000)]
By default mkstemp() creates a temporary file with mode 0600, but the mode
used for open is 0666.  Therefore, add the necessary permission bits for
consistency.
rdar://8621462

llvm-svn: 134430

13 years agowww: Updating memaccess documentation
Raghesh Aloor [Tue, 5 Jul 2011 18:51:34 +0000 (18:51 +0000)]
www: Updating memaccess documentation

This is a complete rewrite to memaccess.html file. This removed
some unwanted html tags.

llvm-svn: 134429

13 years agoBreak infinite loop when the Hopfield network oscillates.
Jakob Stoklund Olesen [Tue, 5 Jul 2011 18:46:42 +0000 (18:46 +0000)]
Break infinite loop when the Hopfield network oscillates.

This is impossible in theory, I can prove it. In practice, our near-zero
threshold can cause the network to oscillate between equally good
solutions.

<rdar://problem/9720596>

llvm-svn: 134428

13 years agoCompare all 4 bytes of the header.
Rafael Espindola [Tue, 5 Jul 2011 18:41:47 +0000 (18:41 +0000)]
Compare all 4 bytes of the header.

llvm-svn: 134427

13 years agoLook through parenthesized declarators when determining whether an
Douglas Gregor [Tue, 5 Jul 2011 18:30:26 +0000 (18:30 +0000)]
Look through parenthesized declarators when determining whether an
instantiated function template was written with a prototype or via
some kind of typedef. Fixes PR10273 / <rdar://problem/9723679>.

llvm-svn: 134426

13 years agoHook up mipsel-netbsd and mipsel-freebsd for OS specific handling.
Joerg Sonnenberger [Tue, 5 Jul 2011 18:24:04 +0000 (18:24 +0000)]
Hook up mipsel-netbsd and mipsel-freebsd for OS specific handling.

llvm-svn: 134425

13 years agoAdd assembler/disassembler support for non-AVX pclmulqdq. While I'm here, use proper...
Eli Friedman [Tue, 5 Jul 2011 18:21:20 +0000 (18:21 +0000)]
Add assembler/disassembler support for non-AVX pclmulqdq. While I'm here, use proper aliases for the pclmullqlqdq and friends. PR10269.

llvm-svn: 134424

13 years agoindvars -disable-iv-rewrite: avoid multiple IVs in weird cases.
Andrew Trick [Tue, 5 Jul 2011 18:19:39 +0000 (18:19 +0000)]
indvars -disable-iv-rewrite: avoid multiple IVs in weird cases.

Putting back the helper that I removed on 7/1 to do this right.

llvm-svn: 134423

13 years agoUse OS-specific configuration for mips-netbsd and mips-freebsd.
Joerg Sonnenberger [Tue, 5 Jul 2011 18:05:54 +0000 (18:05 +0000)]
Use OS-specific configuration for mips-netbsd and mips-freebsd.

llvm-svn: 134422

13 years agoSome documentation fixes for the parser, from John Freeman
Douglas Gregor [Tue, 5 Jul 2011 17:13:11 +0000 (17:13 +0000)]
Some documentation fixes for the parser, from John Freeman

llvm-svn: 134419

13 years agoStringRef'ize clang::drive::Option::getName(), from Zach Wheeler!
Douglas Gregor [Tue, 5 Jul 2011 16:56:25 +0000 (16:56 +0000)]
StringRef'ize clang::drive::Option::getName(), from Zach Wheeler!

llvm-svn: 134418

13 years agoClean up and refactor ParseFunctionDeclarator to reduce code
Douglas Gregor [Tue, 5 Jul 2011 16:44:18 +0000 (16:44 +0000)]
Clean up and refactor ParseFunctionDeclarator to reduce code
repetition and better reflect the actual grammar, from John Freeman!

llvm-svn: 134417

13 years agoActOnCXXConditionDeclaration should take into account that
Douglas Gregor [Tue, 5 Jul 2011 16:13:20 +0000 (16:13 +0000)]
ActOnCXXConditionDeclaration should take into account that
ActOnDeclarator can return NULL. Fixes PR10270, from Hans Wennborg!

llvm-svn: 134416

13 years agoARM estimateStackSize() needs to account for simplified call frames.
Jim Grosbach [Tue, 5 Jul 2011 16:05:50 +0000 (16:05 +0000)]
ARM estimateStackSize() needs to account for simplified call frames.

If the function allocates reserved stack space for callee argument frames,
estimateStackSize() needs to account for that, as it doesn't show up as
ordinary frame objects. Otherwise, a callee with a large argument list will
throw off the calculations for whether to allocate an emergency spill slot
and we get assert() failures in the register scavenger.

rdar://9715469

llvm-svn: 134415

13 years agoDon't define __CONSTANT_CFSTRINGS__ with -fno-constant-cfstrings issue.
Fariborz Jahanian [Tue, 5 Jul 2011 16:00:59 +0000 (16:00 +0000)]
Don't define __CONSTANT_CFSTRINGS__ with -fno-constant-cfstrings issue.
Patch by Jean-Daniel Dupas.

llvm-svn: 134414

13 years agoFix PR10277.
Jakob Stoklund Olesen [Tue, 5 Jul 2011 15:38:41 +0000 (15:38 +0000)]
Fix PR10277.

Remat during spilling triggers dead code elimination. If a phi-def
becomes unused, that may also cause live ranges to split into separate
connected components.

This type of splitting is different from normal live range splitting. In
particular, there may not be a common original interval.

When the split range is its own original, make sure that the new
siblings are also their own originals. The range being split cannot be
used as an original since it doesn't cover the new siblings.

llvm-svn: 134413

13 years agoTweak comment and debug output.
Jakob Stoklund Olesen [Tue, 5 Jul 2011 15:38:37 +0000 (15:38 +0000)]
Tweak comment and debug output.

llvm-svn: 134412

13 years agoDon't define _BIG_ENDIAN for NetBSD/PowerPC.
Joerg Sonnenberger [Tue, 5 Jul 2011 14:56:12 +0000 (14:56 +0000)]
Don't define _BIG_ENDIAN for NetBSD/PowerPC.

llvm-svn: 134411

13 years agoFix indentation
Joerg Sonnenberger [Tue, 5 Jul 2011 14:54:41 +0000 (14:54 +0000)]
Fix indentation

llvm-svn: 134410

13 years agoFix 80-col.
Michael J. Spencer [Tue, 5 Jul 2011 14:49:08 +0000 (14:49 +0000)]
Fix 80-col.

llvm-svn: 134409

13 years agoFix warnings.
Michael J. Spencer [Tue, 5 Jul 2011 14:48:59 +0000 (14:48 +0000)]
Fix warnings.

llvm-svn: 134408

13 years agoTeach Clang's <float.h> to also include MinGW's <float.h>, which provides additional...
Douglas Gregor [Tue, 5 Jul 2011 14:17:04 +0000 (14:17 +0000)]
Teach Clang's <float.h> to also include MinGW's <float.h>, which provides additional system definitions, from Ruben Van Boxem

llvm-svn: 134407

13 years agoUpdate header-search paths for MinGW, from Ruben Van Boxem
Douglas Gregor [Tue, 5 Jul 2011 14:16:05 +0000 (14:16 +0000)]
Update header-search paths for MinGW, from Ruben Van Boxem

llvm-svn: 134406

13 years agoFix uninitialized loop counter. http://llvm.org/bugs/show_bug.cgi?id=10278
Howard Hinnant [Tue, 5 Jul 2011 14:14:17 +0000 (14:14 +0000)]
Fix uninitialized loop counter. llvm.org/bugs/show_bug.cgi?id=10278

llvm-svn: 134405

13 years agoDon't overread the buffer when an %x escape in inline asm ends prematurely.
Benjamin Kramer [Tue, 5 Jul 2011 11:13:37 +0000 (11:13 +0000)]
Don't overread the buffer when an %x escape in inline asm ends prematurely.

Tested by valgrind & Sema/asm.c.

llvm-svn: 134404

13 years agoInitialize member.
Benjamin Kramer [Tue, 5 Jul 2011 09:46:31 +0000 (09:46 +0000)]
Initialize member.

llvm-svn: 134403

13 years agotest: Remove redundant function definition
Tobias Grosser [Mon, 4 Jul 2011 23:18:17 +0000 (23:18 +0000)]
test: Remove redundant function definition

The latest version of LLVM fails, if a function is defined twice in an LLVM
bitcode file.

llvm-svn: 134400

13 years agoAdd explicit default case for -Wswitch-enum.
Joerg Sonnenberger [Mon, 4 Jul 2011 23:11:58 +0000 (23:11 +0000)]
Add explicit default case for -Wswitch-enum.

llvm-svn: 134399

13 years agoSuccIterator on bbs without terminator insts
Tobias Grosser [Mon, 4 Jul 2011 23:09:02 +0000 (23:09 +0000)]
SuccIterator on bbs without terminator insts

Remove the assert that triggers if SuccIterator is constructed for a basic block
without a terminator instruction. Instead of triggering an assert a succ_end()
iterator is returned. This models a basic block with zero successors and allows
us to use F->viewCFG() on incompletely constructed functions.

llvm-svn: 134398

13 years agoUse switch(os) style consistently. Add a bunch of NetBSD branches.
Joerg Sonnenberger [Mon, 4 Jul 2011 21:59:44 +0000 (21:59 +0000)]
Use switch(os) style consistently. Add a bunch of NetBSD branches.

llvm-svn: 134393

13 years agoOn PowerPC, both FreeBSD and NetBSD use ints for (s)size_t
Joerg Sonnenberger [Mon, 4 Jul 2011 21:57:55 +0000 (21:57 +0000)]
On PowerPC, both FreeBSD and NetBSD use ints for (s)size_t

llvm-svn: 134392

13 years agoPR10267: Don't combine an equality compare with an AND into an inequality compare...
Benjamin Kramer [Mon, 4 Jul 2011 20:16:36 +0000 (20:16 +0000)]
PR10267: Don't combine an equality compare with an AND into an inequality compare when the AND has more than one use.

This can pessimize code, inequalities are generally more expensive.

llvm-svn: 134379

13 years agoRemove unused parameter from ActOnDeclarator.
Anders Carlsson [Mon, 4 Jul 2011 16:28:17 +0000 (16:28 +0000)]
Remove unused parameter from ActOnDeclarator.

llvm-svn: 134377

13 years agoRemove accidentaly left node from previous iteration of the patch.
Roman Divacky [Mon, 4 Jul 2011 15:42:45 +0000 (15:42 +0000)]
Remove accidentaly left node from previous iteration of the patch.

Noticed by Benjamin Kramer!

llvm-svn: 134376

13 years agoMake the default Makefile less destructive: John McCall
Howard Hinnant [Mon, 4 Jul 2011 14:12:27 +0000 (14:12 +0000)]
Make the default Makefile less destructive:  John McCall

llvm-svn: 134375

13 years agoSwitch the Decl and Stmt stats printing to use llvm::errs() instead of
Chandler Carruth [Mon, 4 Jul 2011 06:13:27 +0000 (06:13 +0000)]
Switch the Decl and Stmt stats printing to use llvm::errs() instead of
fprintf, and to be more consistent in formatting with the other stats
printing routines.

llvm-svn: 134374

13 years agoStart switching the AST stats printing to use llvm::errs() instead of
Chandler Carruth [Mon, 4 Jul 2011 05:32:14 +0000 (05:32 +0000)]
Start switching the AST stats printing to use llvm::errs() instead of
fprintf. There is more cleanup to be done to the AST stats printing...

llvm-svn: 134373

13 years agoMove early tail duplication earlier.
Rafael Espindola [Mon, 4 Jul 2011 04:54:22 +0000 (04:54 +0000)]
Move early tail duplication earlier.

This fixes the issue noted in PR10251 where early tail dup of bbs with
indirectbr would cause a bb to be duplicated into a loop preheader
and then into its predecessors, creating phi nodes with identical
operands just before register allocation.

This helps with jsinterp.o size (__TEXT goes from 163568 to 126656)
and a bit with performance 1.005x faster on sunspider (jits still enabled).

The result on webkit with the jit disabled is more significant: 1.021x faster.

llvm-svn: 134372

13 years agoMove most of the pre BB code to TailDuplicateAndUpdate. Change the
Rafael Espindola [Mon, 4 Jul 2011 01:21:42 +0000 (01:21 +0000)]
Move most of the pre BB code to TailDuplicateAndUpdate. Change the
HasIndirectbr variable to be just that. No functionality change.

llvm-svn: 134371

13 years agoReduce indentation and fix the count of how many PHIs we have inserted.
Rafael Espindola [Mon, 4 Jul 2011 00:13:36 +0000 (00:13 +0000)]
Reduce indentation and fix the count of how many PHIs we have inserted.

llvm-svn: 134370

13 years agoFix PR10244.
Jakob Stoklund Olesen [Mon, 4 Jul 2011 00:05:28 +0000 (00:05 +0000)]
Fix PR10244.

A split point inserted in a block with a landing pad successor may be
hoisted above the call to ensure that it dominates all successors. The
code that handles the rest of the basic block must take this into
account.

I am not including a test case, it would be very fragile. PR10244 comes
from building clang with exceptions enabled.

llvm-svn: 134369

13 years agoAdd a CLEANUP_DOCSTRING state to our FSM to do cleanup of the Python docstrings
Johnny Chen [Sun, 3 Jul 2011 19:55:50 +0000 (19:55 +0000)]
Add a CLEANUP_DOCSTRING state to our FSM to do cleanup of the Python docstrings
generated from the swig docstring features instead of blindly applying the
cleanup action for all input lines.

llvm-svn: 134368

13 years agoMake the i64 and f64 be 64bit ABI aligned in the target description.
Roman Divacky [Sun, 3 Jul 2011 16:24:07 +0000 (16:24 +0000)]
Make the i64 and f64 be 64bit ABI aligned in the target description.
This is what both the ABI and clang says.

llvm-svn: 134367

13 years agotest/CodeGen/X86/lsr-nonaffine.ll: Relax expressions for Win64 CC to appease Win32...
NAKAMURA Takumi [Sun, 3 Jul 2011 09:26:14 +0000 (09:26 +0000)]
test/CodeGen/X86/lsr-nonaffine.ll: Relax expressions for Win64 CC to appease Win32 hosts.

llvm-svn: 134366

13 years agoFix an easy fixme.
Rafael Espindola [Sun, 3 Jul 2011 05:26:42 +0000 (05:26 +0000)]
Fix an easy fixme.

llvm-svn: 134364

13 years agofix typo
Chris Lattner [Sun, 3 Jul 2011 02:21:48 +0000 (02:21 +0000)]
fix typo

llvm-svn: 134361

13 years agoAdd swig docstrings for SBFrame.h.
Johnny Chen [Sun, 3 Jul 2011 01:43:29 +0000 (01:43 +0000)]
Add swig docstrings for SBFrame.h.
Add post-processing step to remove the trailing blank lines from the docstrings of lldb.py.

llvm-svn: 134360

13 years agoWhen we use the "fd://%u" for file descriptors, we need to detect if this is
Greg Clayton [Sat, 2 Jul 2011 23:21:06 +0000 (23:21 +0000)]
When we use the "fd://%u" for file descriptors, we need to detect if this is
a file or socket. We now make a getsockopt call to check if the fd is a socket.

Also, the previous logic in the GDB communication needs to watch for success
with an error so we can deal with EAGAIN and other normal "retry" error codes.

llvm-svn: 134359

13 years agoFileCheck-ize another test. Reduces the llc invocations from 8 to 1, and
Chandler Carruth [Sat, 2 Jul 2011 21:34:52 +0000 (21:34 +0000)]
FileCheck-ize another test. Reduces the llc invocations from 8 to 1, and
makes one of the tests actually mean something (as the string 'add' will
always appear in the output of this file).

llvm-svn: 134358

13 years agoCleanup errors that come out of commands and make sure they all have newlines
Greg Clayton [Sat, 2 Jul 2011 21:07:54 +0000 (21:07 +0000)]
Cleanup errors that come out of commands and make sure they all have newlines
_only_ in the resulting stream, not in the error objects (lldb_private::Error).
lldb_private::Error objects should always just have an error string with no
terminating newline characters or periods.

Fixed an issue with GDB remote packet detection that could end up deadlocking
if a full packet wasn't received in one chunk. Also modified the packet
checking function to properly toss one or more bytes when it detects bad
data.

llvm-svn: 134357

13 years agoAvoid writing to an arbitrary filename during the test run by writing to
Chandler Carruth [Sat, 2 Jul 2011 20:43:18 +0000 (20:43 +0000)]
Avoid writing to an arbitrary filename during the test run by writing to
a file descriptor.

llvm-svn: 134355

13 years agoFileCheck-ize another X86 test, making it more precisely verify the
Chandler Carruth [Sat, 2 Jul 2011 20:43:16 +0000 (20:43 +0000)]
FileCheck-ize another X86 test, making it more precisely verify the
desired result based on the comments in the file.

llvm-svn: 134354

13 years agoQuote two greps which contain parentheses.
Chandler Carruth [Sat, 2 Jul 2011 20:43:13 +0000 (20:43 +0000)]
Quote two greps which contain parentheses.

llvm-svn: 134353

13 years agoFileCheck-ize and simplify RUN lines.
Chandler Carruth [Sat, 2 Jul 2011 20:43:11 +0000 (20:43 +0000)]
FileCheck-ize and simplify RUN lines.

llvm-svn: 134352