11 years agoLegalize support for fpextend of vector. PR9309.
Duncan Sands [Sun, 27 Feb 2011 14:41:27 +0000 (14:41 +0000)]
Legalize support for fpextend of vector.  PR9309.

llvm-svn: 126574

11 years agoFix typo pointed out in pr9339.
Duncan Sands [Sun, 27 Feb 2011 13:54:01 +0000 (13:54 +0000)]
Fix typo pointed out in pr9339.

llvm-svn: 126573

11 years agoCMake: updated list of installable header files. PR9321.
Oscar Fuentes [Sun, 27 Feb 2011 13:33:31 +0000 (13:33 +0000)]
CMake: updated list of installable header files. PR9321.

llvm-svn: 126572

11 years agoInstall include/llvm/Support/LICENSE.TXT. PR9321.
Oscar Fuentes [Sun, 27 Feb 2011 13:32:50 +0000 (13:32 +0000)]
Install include/llvm/Support/LICENSE.TXT. PR9321.

llvm-svn: 126571

11 years agoTarget/X86: Always emit "push/pop GPRs" in prologue/epilogue and emit "spill/reload...
NAKAMURA Takumi [Sun, 27 Feb 2011 08:47:19 +0000 (08:47 +0000)]
Target/X86: Always emit "push/pop GPRs" in prologue/epilogue and emit "spill/reload frames" for XMMs.

It improves Win64's prologue/epilogue but it would not affect ia32 and amd64 (lack of nonvolatile XMMs).

llvm-svn: 126568

11 years agoFix PR9324 / <rdar://problem/9052489> by handling the case where a PHI has no uses.
Cameron Zwarich [Sun, 27 Feb 2011 08:06:01 +0000 (08:06 +0000)]
Fix PR9324 / <rdar://problem/9052489> by handling the case where a PHI has no uses.

llvm-svn: 126567

11 years agoGive a test file a more sensible name so that it can hold more test cases.
Cameron Zwarich [Sun, 27 Feb 2011 08:05:57 +0000 (08:05 +0000)]
Give a test file a more sensible name so that it can hold more test cases.

llvm-svn: 126566

11 years agoFix typos in the comments.
Nadav Rotem [Sun, 27 Feb 2011 07:40:43 +0000 (07:40 +0000)]
Fix typos in the comments.

llvm-svn: 126565

11 years agoRegionPrinter: Ignore back edges when layouting the graph
Tobias Grosser [Sun, 27 Feb 2011 04:11:07 +0000 (04:11 +0000)]
RegionPrinter: Ignore back edges when layouting the graph

llvm-svn: 126564

11 years agocmake: Add xdot.py support as it already exists in autoconf.
Tobias Grosser [Sun, 27 Feb 2011 04:11:05 +0000 (04:11 +0000)]
cmake: Add xdot.py support as it already exists in autoconf.

llvm-svn: 126563

11 years agoPass the graph to the DOTGraphTraits.getEdgeAttributes().
Tobias Grosser [Sun, 27 Feb 2011 04:11:03 +0000 (04:11 +0000)]
Pass the graph to the DOTGraphTraits.getEdgeAttributes().

This follows the interface of getNodeAttributes.

llvm-svn: 126562

11 years agoFix this test case for CMake builds after r126502, which sneakily changed the actual...
Frits van Bommel [Sun, 27 Feb 2011 01:17:12 +0000 (01:17 +0000)]
Fix this test case for CMake builds after r126502, which sneakily  changed the actual executable name to clang-<version>.

llvm-svn: 126560

11 years agocc1: Fix stats printing by default when using -mllvm -stats.
Daniel Dunbar [Sat, 26 Feb 2011 23:17:25 +0000 (23:17 +0000)]
cc1: Fix stats printing by default when using -mllvm -stats.

llvm-svn: 126559

11 years agoSupport: Add llvm::AreStatisticsEnabled().
Daniel Dunbar [Sat, 26 Feb 2011 23:17:12 +0000 (23:17 +0000)]
Support: Add llvm::AreStatisticsEnabled().

llvm-svn: 126558

11 years agoAdd some DAGCombines for (adde 0, 0, glue), which are useful to optimize legalized...
Benjamin Kramer [Sat, 26 Feb 2011 22:48:07 +0000 (22:48 +0000)]
Add some DAGCombines for (adde 0, 0, glue), which are useful to optimize legalized code for large integer arithmetic.

1. Inform users of ADDEs with two 0 operands that it never sets carry
2. Fold other ADDs or ADDCs into the ADDE if possible

It would be neat if we could do the same thing for SETCC+ADD eventually, but we can't do that in target independent code.

llvm-svn: 126557

11 years agoImplement delegating constructors partially.
Alexis Hunt [Sat, 26 Feb 2011 19:13:13 +0000 (19:13 +0000)]
Implement delegating constructors partially.

This successfully performs constructor lookup and verifies that a
delegating initializer is the only initializer present.

This does not perform loop detection in the initialization, but it also
doesn't codegen delegating constructors at all, so this won't cause
runtime infinite loops yet.

llvm-svn: 126552

11 years agoLTO uses MC now.
Rafael Espindola [Sat, 26 Feb 2011 16:44:13 +0000 (16:44 +0000)]
LTO uses MC now.

llvm-svn: 126546

11 years agoDon't assume that whoever is asking for a message send is going
John McCall [Sat, 26 Feb 2011 09:48:59 +0000 (09:48 +0000)]
Don't assume that whoever is asking for a message send is going
to give us a non-null return slot.

llvm-svn: 126544

11 years agoZero-initialize the struct-return slot of an Objective-C message
John McCall [Sat, 26 Feb 2011 09:12:15 +0000 (09:12 +0000)]
Zero-initialize the struct-return slot of an Objective-C message
send before making the call.  Fixes rdar://problem/7854674

llvm-svn: 126543

11 years agoA much-delayed response to Ken Dyck's review: make this somewhat more
John McCall [Sat, 26 Feb 2011 08:41:59 +0000 (08:41 +0000)]
A much-delayed response to Ken Dyck's review:  make this somewhat more
char-width agnostic.

llvm-svn: 126542

11 years agoDon't crash during constant-evaluation of 1/(1/0). PR9262.
John McCall [Sat, 26 Feb 2011 08:27:17 +0000 (08:27 +0000)]
Don't crash during constant-evaluation of 1/(1/0).  PR9262.

llvm-svn: 126541

11 years agoPretty up the emission of field l-values and use volatile and TBAA when
John McCall [Sat, 26 Feb 2011 08:07:02 +0000 (08:07 +0000)]
Pretty up the emission of field l-values and use volatile and TBAA when
loading references as part of that.  Use 'char' TBAA when accessing
(immediate!) fields of a may_alias struct;  fixes PR9307.

llvm-svn: 126540

11 years agoProvide a bit saying that a builtin undergoes custom type-checking, then
John McCall [Sat, 26 Feb 2011 05:39:39 +0000 (05:39 +0000)]
Provide a bit saying that a builtin undergoes custom type-checking, then
don't let calls to such functions go down the normal type-checking path.
Test this out with __builtin_classify_type and __builtin_constant_p.

llvm-svn: 126539

11 years agoA new TableGen feature! (Not turned on just yet.)
Bill Wendling [Sat, 26 Feb 2011 03:09:12 +0000 (03:09 +0000)]
A new TableGen feature! (Not turned on just yet.)

   InstAlias<{alias}, {aliasee}>;

The InstAlias instruction should be able to go from the MCInst to the
{alias}. All of the information is there to match the MCInst with the
{aliasee}. From there, it's a simple matter to emit the {alias}, with the
correct operands from the {aliasee}.

The code this patch generates can be used by the InstPrinter to automatically
print out the alias without having to write special C++ code to handle the

This is a WIP, and therefore are several limitations. For instance, it cannot
handle AsmOperands at the moment. It also doesn't know what to do when two
{alias}es match the same {aliasee}. (Currently, it just ignores those two cases
and allows the printInstruction method to handle them.)

llvm-svn: 126538

11 years agoIf the user sets a working directory path using "process launch -w <path>", honor...
Johnny Chen [Sat, 26 Feb 2011 01:36:13 +0000 (01:36 +0000)]
If the user sets a working directory path using "process launch -w <path>", honor that dir path;
otherwise, use the thing the debugserver is started with.

Fixed rdar://problem/9056462
The process launch flag '-w' for setting the current working directory not working?

llvm-svn: 126537

11 years agoFix objc rewriting bug casting to qualified objective-c pointetr.
Fariborz Jahanian [Sat, 26 Feb 2011 01:31:36 +0000 (01:31 +0000)]
Fix objc rewriting bug casting to qualified objective-c pointetr.
// rdar://9056351

llvm-svn: 126536

11 years agoFix a rewriter bug involving call to property's
Fariborz Jahanian [Sat, 26 Feb 2011 00:33:41 +0000 (00:33 +0000)]
Fix a rewriter bug involving call to property's
block. // rdar://9055596

llvm-svn: 126535

11 years agoRemoved unnecessary dylibs from Apple builds, with or without "lib" prefix.
Bob Wilson [Sat, 26 Feb 2011 00:22:17 +0000 (00:22 +0000)]
Removed unnecessary dylibs from Apple builds, with or without "lib" prefix.
Radar 9056686

llvm-svn: 126534

11 years agoAdd a new "Embedded" makefile target for Apple-style builds.
Bob Wilson [Fri, 25 Feb 2011 23:42:03 +0000 (23:42 +0000)]
Add a new "Embedded" makefile target for Apple-style builds.
This one just installs the default build into a different destination directory.

llvm-svn: 126533

11 years agoSimplify the dictionary setting for test_set_working_dir_* methods.
Johnny Chen [Fri, 25 Feb 2011 23:24:25 +0000 (23:24 +0000)]
Simplify the dictionary setting for test_set_working_dir_* methods.

llvm-svn: 126531

11 years agoCall self.setTearDownCleanup() and pass a proper dictionay to properly cleanup
Johnny Chen [Fri, 25 Feb 2011 23:22:59 +0000 (23:22 +0000)]
Call self.setTearDownCleanup() and pass a proper dictionay to properly cleanup
the intermediate files built with the same dictionary during test execution.

llvm-svn: 126530

11 years agoAdd a test case to exercise the process launch flag of '-w <path>' which sets the
Johnny Chen [Fri, 25 Feb 2011 23:15:09 +0000 (23:15 +0000)]
Add a test case to exercise the process launch flag of '-w <path>' which sets the
current working directory when running the inferior.  Radar filed:

    # rdar://problem/9056462
    # The process launch flag '-w' for setting the current working directory not working?

llvm-svn: 126529

11 years agoTrailing whitespace.
Jim Grosbach [Fri, 25 Feb 2011 22:53:20 +0000 (22:53 +0000)]
Trailing whitespace.

llvm-svn: 126526

11 years agoFix bad comment marker.
Stuart Hastings [Fri, 25 Feb 2011 22:47:58 +0000 (22:47 +0000)]
Fix bad comment marker.

llvm-svn: 126525

11 years agoASTStmtReader is already a friend of DependentScopeDeclRefExpr, and GCC
Matt Beaumont-Gay [Fri, 25 Feb 2011 22:36:42 +0000 (22:36 +0000)]
ASTStmtReader is already a friend of DependentScopeDeclRefExpr, and GCC
doesn't like re-friending.

llvm-svn: 126524

11 years agoUpdate test cases.
Ted Kremenek [Fri, 25 Feb 2011 22:19:14 +0000 (22:19 +0000)]
Update test cases.

llvm-svn: 126523

11 years agoTidy up help text in Checkers.td, and rename StackAddrLeakChecker to StackAddrEscapeC...
Ted Kremenek [Fri, 25 Feb 2011 22:00:43 +0000 (22:00 +0000)]
Tidy up help text in Checkers.td, and rename StackAddrLeakChecker to StackAddrEscapeChecker.

llvm-svn: 126522

11 years agoEnhance scan-build to print out available analyses using new checker registration...
Ted Kremenek [Fri, 25 Feb 2011 22:00:40 +0000 (22:00 +0000)]
Enhance scan-build to print out available analyses using new checker registration model.

This isn't totally complete.  Right now scan-build uses some heuristics to determine
which checkers are enabled by default, but it cannot always tell which checkers
are not enabled.

llvm-svn: 126521

11 years agoAllow targets to specify a the type of the RHS of a shift parameterized on the type...
Owen Anderson [Fri, 25 Feb 2011 21:41:48 +0000 (21:41 +0000)]
Allow targets to specify a the type of the RHS of a shift parameterized on the type of the LHS.

llvm-svn: 126518

11 years agoRenamed the Python test file to be TestProcessLaunch.py.
Johnny Chen [Fri, 25 Feb 2011 21:37:56 +0000 (21:37 +0000)]
Renamed the Python test file to be TestProcessLaunch.py.

llvm-svn: 126517

11 years agoRenamed the test class to be ProcessLaunchTestCase.
Johnny Chen [Fri, 25 Feb 2011 21:36:35 +0000 (21:36 +0000)]
Renamed the test class to be ProcessLaunchTestCase.

llvm-svn: 126516

11 years agoSimplified the code a little bit.
Johnny Chen [Fri, 25 Feb 2011 21:32:36 +0000 (21:32 +0000)]
Simplified the code a little bit.

llvm-svn: 126515

11 years agoRenamed test/process_io directory to test/process_launch, in preparation to add addit...
Johnny Chen [Fri, 25 Feb 2011 21:21:21 +0000 (21:21 +0000)]
Renamed test/process_io directory to test/process_launch, in preparation to add additional tests
related to 'process launch' command.

llvm-svn: 126514

11 years agoDriver: Attmpt to fix some possibly UB that MSVC doesn't care for.
Daniel Dunbar [Fri, 25 Feb 2011 21:20:15 +0000 (21:20 +0000)]
Driver: Attmpt to fix some possibly UB that MSVC doesn't care for.

llvm-svn: 126513

11 years agoAdd some options for building LLVM in different environments:
David Greene [Fri, 25 Feb 2011 20:51:27 +0000 (20:51 +0000)]
Add some options for building LLVM in different environments:

--force-configure to force running configure before building.


Pass additional argument to the various configure invocations.

This also eliminates a default build flavor because explicitly
specifying builds could result in build flavors being run repeatedly.

Finally, turn off fortran builds for the moment because install
appears to be broken.

llvm-svn: 126510

11 years agoSprinkle optional text of the "unavailable' attribute
Fariborz Jahanian [Fri, 25 Feb 2011 20:51:14 +0000 (20:51 +0000)]
Sprinkle optional text of the "unavailable' attribute
where ever such attribute causes an error diagnostic.

llvm-svn: 126509

11 years agoPush nested-name-specifier source location information into
Douglas Gregor [Fri, 25 Feb 2011 20:49:16 +0000 (20:49 +0000)]
Push nested-name-specifier source location information into
DependentScopeDeclRefExpr. Plus, give NestedNameSpecifierLoc == and !=
operators, since we're going to need 'em elsewhere.

llvm-svn: 126508

11 years agoOmit lto.h from the llvmCore result; henceforth, this will be supplied
Stuart Hastings [Fri, 25 Feb 2011 20:42:39 +0000 (20:42 +0000)]
Omit lto.h from the llvmCore result; henceforth, this will be supplied
by clang.  Radar 9042056.

llvm-svn: 126507

11 years agoClean up some gross code in the printer here. No more string stream
Chandler Carruth [Fri, 25 Feb 2011 20:09:13 +0000 (20:09 +0000)]
Clean up some gross code in the printer here. No more string stream
silliness, and actually use the existing facilities of raw_ostream to do

This will also hopefully fix an assert when building with signed char
(MSVC I think).

llvm-svn: 126505

11 years agohttp://llvm.org/bugs/show_bug.cgi?id=9326
Howard Hinnant [Fri, 25 Feb 2011 19:52:41 +0000 (19:52 +0000)]

llvm-svn: 126504

11 years agoRemove the FIXME I introduced last night, and pull the logic for
Chandler Carruth [Fri, 25 Feb 2011 19:41:05 +0000 (19:41 +0000)]
Remove the FIXME I introduced last night, and pull the logic for
marking selected overloads into the callers. This allows a few callers
to skip it altogether (they would have anyways because they weren't
interested in successful overloads) or defer until after further checks
take place much like the check required for PR9323 to avoid marking
unused copy constructors.

llvm-svn: 126503

11 years agoCMake: add version information into the clang executable and libclang
Douglas Gregor [Fri, 25 Feb 2011 19:24:02 +0000 (19:24 +0000)]
CMake: add version information into the clang executable and libclang
shared library.

llvm-svn: 126502

11 years agos/clang-cc1/clang_cc1
Matt Beaumont-Gay [Fri, 25 Feb 2011 19:09:01 +0000 (19:09 +0000)]

llvm-svn: 126501

11 years agosplit this test into arch specific pieces, so the ARM
Chris Lattner [Fri, 25 Feb 2011 19:06:35 +0000 (19:06 +0000)]
split this test into arch specific pieces, so the ARM
test isn't run when the arm backend isn't built.  This
fixes PR9327

llvm-svn: 126500

11 years agoPrint optional message for attr(unavailable) in C++ mode.
Fariborz Jahanian [Fri, 25 Feb 2011 18:38:59 +0000 (18:38 +0000)]
Print optional message for attr(unavailable) in C++ mode.
// rdar://9046492

llvm-svn: 126499

11 years agoPush nested-name-specifier source-location information into
Douglas Gregor [Fri, 25 Feb 2011 18:19:59 +0000 (18:19 +0000)]
Push nested-name-specifier source-location information into
pseudo-destructor expressions. Also, clean up some
template-instantiation and type-checking issues with

llvm-svn: 126498

11 years agoTeach objc-rewriter to pass -fobjc-exceptions along.
Fariborz Jahanian [Fri, 25 Feb 2011 17:24:55 +0000 (17:24 +0000)]
Teach objc-rewriter to pass -fobjc-exceptions along.

llvm-svn: 126497

11 years agoPush nested-name-specifier source location information into namespace
Douglas Gregor [Fri, 25 Feb 2011 17:08:07 +0000 (17:08 +0000)]
Push nested-name-specifier source location information into namespace

llvm-svn: 126496

11 years agoMake sure to give CXXScopeSpec::SetInvalid() a valid source
Douglas Gregor [Fri, 25 Feb 2011 16:51:05 +0000 (16:51 +0000)]
Make sure to give CXXScopeSpec::SetInvalid() a valid source
range. Fixes four new failures in the GCC testsuite.

llvm-svn: 126495

11 years agoPush nested-name-specifier source location information into using directives.
Douglas Gregor [Fri, 25 Feb 2011 16:33:46 +0000 (16:33 +0000)]
Push nested-name-specifier source location information into using directives.

llvm-svn: 126489

11 years agoRoll out r126425 and r126450 to see if it fixes the failures on the buildbots.
Cameron Zwarich [Fri, 25 Feb 2011 16:30:32 +0000 (16:30 +0000)]
Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.

llvm-svn: 126488

11 years agoDirect testing of source-location information on using declarations, via libclang
Douglas Gregor [Fri, 25 Feb 2011 16:13:46 +0000 (16:13 +0000)]
Direct testing of source-location information on using declarations, via libclang

llvm-svn: 126487

11 years agoSwitch a few CXXScopeSpec::MakeTrivial() calls over to appropriate
Douglas Gregor [Fri, 25 Feb 2011 16:07:42 +0000 (16:07 +0000)]
Switch a few CXXScopeSpec::MakeTrivial() calls over to appropriate
NestedNameSpecifierLoc handling.

llvm-svn: 126486

11 years agoMaintain nested-name-specifier source-location information through
Douglas Gregor [Fri, 25 Feb 2011 15:54:31 +0000 (15:54 +0000)]
Maintain nested-name-specifier source-location information through
instantiation of using declarations (all three forms).

llvm-svn: 126485

11 years agoRename test/Sema/expr-comma-c89.c to expr-comma-c99.c. Spotted by
Peter Collingbourne [Fri, 25 Feb 2011 12:37:11 +0000 (12:37 +0000)]
Rename test/Sema/expr-comma-c89.c to expr-comma-c99.c.  Spotted by
Anton Lokhmotov.

llvm-svn: 126482

11 years agoRevert "SimplifyCFG: GEPs with just one non-constant index are also cheap."
Benjamin Kramer [Fri, 25 Feb 2011 10:33:33 +0000 (10:33 +0000)]
Revert "SimplifyCFG: GEPs with just one non-constant index are also cheap."

Yes, there are other types than i8* and GEPs on them can produce an add+multiply.
We don't consider that cheap enough to be speculatively executed.

llvm-svn: 126481

11 years agoRough fix for PR9323 that prevents Clang from marking copy constructor
Chandler Carruth [Fri, 25 Feb 2011 08:52:25 +0000 (08:52 +0000)]
Rough fix for PR9323 that prevents Clang from marking copy constructor
declarations as referenced when in fact we're not going to even form
a call in the AST. This is significant because we attempt to allow as an
extension classes with intentionally private and undefined copy
constructors to have temporaries bound to references, and so shouldn't
warn about the lack of definition for that copy constructor when the
class is internal.

Doug, John wasn't really satisfied with the presence of overloading at
all. This is a stop-gap and there may be a better solution. If you can
give me some hints for how you'd prefer to see this solved, I'll happily
switch things over.

llvm-svn: 126480

11 years agoUpdate the NoFolder to work with current IRBuilder.
Nick Lewycky [Fri, 25 Feb 2011 07:13:35 +0000 (07:13 +0000)]
Update the NoFolder to work with current IRBuilder.

llvm-svn: 126479

11 years agoGive this warning a flag that can be used to turn it off in old, crufty,
Chandler Carruth [Fri, 25 Feb 2011 06:53:20 +0000 (06:53 +0000)]
Give this warning a flag that can be used to turn it off in old, crufty,
legacy code that contains dead code paths referring to such

llvm-svn: 126478

11 years agoAdd patterns to use post-increment addressing for Neon VST1-lane instructions.
Bob Wilson [Fri, 25 Feb 2011 06:42:42 +0000 (06:42 +0000)]
Add patterns to use post-increment addressing for Neon VST1-lane instructions.

llvm-svn: 126477

11 years agoAdd support for ArchLinux, patch by Kevin Winchester.
Chandler Carruth [Fri, 25 Feb 2011 06:39:53 +0000 (06:39 +0000)]
Add support for ArchLinux, patch by Kevin Winchester.

llvm-svn: 126476

11 years agoFormatting, etc.
John McCall [Fri, 25 Feb 2011 05:21:17 +0000 (05:21 +0000)]
Formatting, etc.

llvm-svn: 126475

11 years agoTame an assert; the scope depth of a jump destination does not
John McCall [Fri, 25 Feb 2011 04:19:13 +0000 (04:19 +0000)]
Tame an assert;  the scope depth of a jump destination does not
necessarily enclose the innermost normal cleanup depth, because
the top of the jump scope stack might be an EH cleanup or EH scope.
Fixes PR9303.

llvm-svn: 126472

11 years agoFix formatting of debug helper string.
Jim Grosbach [Fri, 25 Feb 2011 03:59:03 +0000 (03:59 +0000)]
Fix formatting of debug helper string.

llvm-svn: 126471

11 years agoUse NestedNameSpecifierLoc within out-of-line variables, function, and
Douglas Gregor [Fri, 25 Feb 2011 02:25:35 +0000 (02:25 +0000)]
Use NestedNameSpecifierLoc within out-of-line variables, function, and
tag definitions. Also, add support for template instantiation of

llvm-svn: 126470

11 years agoAdd readme on the version of emacs that works with lldb-enhanced gud.el,
Johnny Chen [Fri, 25 Feb 2011 01:51:25 +0000 (01:51 +0000)]
Add readme on the version of emacs that works with lldb-enhanced gud.el,
for Stuart Hastings. :-)

llvm-svn: 126469

11 years agoFix typo.
Evan Cheng [Fri, 25 Feb 2011 01:29:29 +0000 (01:29 +0000)]
Fix typo.

llvm-svn: 126467

11 years agoTeach TextDiagnosticPrinter to print out '-Werror' in addition to the warning flag...
Ted Kremenek [Fri, 25 Feb 2011 01:28:26 +0000 (01:28 +0000)]
Teach TextDiagnosticPrinter to print out '-Werror' in addition to the warning flag for a warning mapped to an error.

For example:

t.c:7:9: error: using the result of an assignment as a condition without parentheses [-Werror,-Wparentheses]

llvm-svn: 126466

11 years agoSet NumSignBits to 1 if KnownZero/KnownOne are being zero extended. In theory it
Cameron Zwarich [Fri, 25 Feb 2011 01:11:01 +0000 (01:11 +0000)]
Set NumSignBits to 1 if KnownZero/KnownOne are being zero extended. In theory it
is possible to do better if the high bit is set in either KnownZero/KnownOne, but
in practice NumSignBits is always 1 when we are zero extending because nothing
is known about that register.

llvm-svn: 126465

11 years agoWe only want to zero extend the existing information if the bit width is
Cameron Zwarich [Fri, 25 Feb 2011 01:10:55 +0000 (01:10 +0000)]
We only want to zero extend the existing information if the bit width is
actually larger.

llvm-svn: 126464

11 years agoTry harder to get the hint by preferring to evict hint interference.
Jakob Stoklund Olesen [Fri, 25 Feb 2011 01:04:22 +0000 (01:04 +0000)]
Try harder to get the hint by preferring to evict hint interference.

llvm-svn: 126463

11 years agoChris Jefferson spotted a problem with messages_base::catalog while getting libc...
Howard Hinnant [Fri, 25 Feb 2011 00:51:08 +0000 (00:51 +0000)]
Chris Jefferson spotted a problem with messages_base::catalog while getting libc++ to work on boost.  The standard says this type must be an int.  But this type is the key returned by the OS facility catopen.  On OS X the type returned by catopen is void*, which doesn't fit into an int on 64 bit platforms.  Chris suggested using ptrdiff_t instead of void*.  It still isn't compliant with the standard, but chances are that this change will fix what is ailing boost.  Chris also supplied the algorithm for distinguishing high-order pointers from error conditions.  Thanks Chris.

llvm-svn: 126462

11 years agoNth time's a charm?
Douglas Gregor [Fri, 25 Feb 2011 00:46:48 +0000 (00:46 +0000)]
Nth time's a charm?

llvm-svn: 126461

11 years agoCMake target check.deps only exists when LLVM_INCLUDE_TESTS
Douglas Gregor [Fri, 25 Feb 2011 00:43:05 +0000 (00:43 +0000)]
CMake target check.deps only exists when LLVM_INCLUDE_TESTS

llvm-svn: 126460

11 years agoUpdate UsingDecl, UnresolvedUsingTypenameDecl, and
Douglas Gregor [Fri, 25 Feb 2011 00:36:19 +0000 (00:36 +0000)]
Update UsingDecl, UnresolvedUsingTypenameDecl, and
UnresolvedUsingValueDecl to use NestedNameSpecifierLoc rather than the
extremely-lossy NestedNameSpecifier/SourceRange pair it used to use,
improving source-location information.

Various infrastructure updates to support NestedNameSpecifierLoc:
  - AST/PCH (de-)serialization
  - Recursive AST visitor
  - libclang traversal (including the first tests of this

llvm-svn: 126459

11 years agoLLVM_INCLUDE_TESTS applies to unit tests, not the normal Clang tests
Douglas Gregor [Fri, 25 Feb 2011 00:32:30 +0000 (00:32 +0000)]
LLVM_INCLUDE_TESTS applies to unit tests, not the normal Clang tests

llvm-svn: 126458

11 years agoEach prologue may have multiple vpush instructions to store callee-saved
Evan Cheng [Fri, 25 Feb 2011 00:24:46 +0000 (00:24 +0000)]
Each prologue may have multiple vpush instructions to store callee-saved
D registers since the vpush list may not have gaps. Make sure the stack
adjustment instruction isn't moved between them. Ditto for vpop in

Sorry, can't reduce a small test case.

llvm-svn: 126457

11 years agoAdd emulation for Encoding A1 of A8.6.97 MOV (register).
Johnny Chen [Fri, 25 Feb 2011 00:23:25 +0000 (00:23 +0000)]
Add emulation for Encoding A1 of A8.6.97 MOV (register).

llvm-svn: 126456

11 years agoDon't include Clang's unit tests if LLVM's unit tests aren't being built
Douglas Gregor [Fri, 25 Feb 2011 00:12:04 +0000 (00:12 +0000)]
Don't include Clang's unit tests if LLVM's unit tests aren't being built

llvm-svn: 126455

11 years agoIntoduce '-analyzer-checker-help' flag which outputs a list of all available static...
Argyrios Kyrtzidis [Fri, 25 Feb 2011 00:09:51 +0000 (00:09 +0000)]
Intoduce '-analyzer-checker-help' flag which outputs a list of all available static analyzer checkers.

This is pretty basic for now, eventually checkers should be grouped according to package, hidden checkers should be indicated etc.

llvm-svn: 126454

11 years agoFix the rest of PR9316 along with some other bugs spotted by inspection.
Chandler Carruth [Fri, 25 Feb 2011 00:05:02 +0000 (00:05 +0000)]
Fix the rest of PR9316 along with some other bugs spotted by inspection.
I tried to add test cases for these, but I can't because variables
aren't warned on the way functions are and the codegen layer appears to
use different logic for determining that 'a' and 'g' in the test case
should receive C mangling. I've included the test so that if we ever
switch the codegen layer to use these functions, we won't regress due to
latent bugs.

llvm-svn: 126453

11 years agoSimplifyCFG: GEPs with just one non-constant index are also cheap.
Benjamin Kramer [Thu, 24 Feb 2011 23:26:09 +0000 (23:26 +0000)]
SimplifyCFG: GEPs with just one non-constant index are also cheap.

llvm-svn: 126452

11 years agoTweak the register allocator priority queue some more.
Jakob Stoklund Olesen [Thu, 24 Feb 2011 23:21:36 +0000 (23:21 +0000)]
Tweak the register allocator priority queue some more.

New live ranges are assigned in long -> short order, but live ranges that have
been evicted at least once are deferred and assigned in short -> long order.

Also disable splitting and spilling for live ranges seen for the first time.

The intention is to create a realistic interference pattern from the heavy live
ranges before starting splitting and spilling around it.

llvm-svn: 126451

11 years agoRemove dead variable.
Nick Lewycky [Thu, 24 Feb 2011 23:15:43 +0000 (23:15 +0000)]
Remove dead variable.

llvm-svn: 126450

11 years agoThe lldb-enhanced gud.el does not work on emacs 22.1.1 (dumb terminal).
Johnny Chen [Thu, 24 Feb 2011 23:13:28 +0000 (23:13 +0000)]
The lldb-enhanced gud.el does not work on emacs 22.1.1 (dumb terminal).
This is the error I got:

Debugger entered--Lisp error: (void-function split-string-and-unquote)
  (split-string-and-unquote command-line)
  (let* ((words ...) (program ...) (dir default-directory) (file-word ...) (file-subst ...) (args ...) (file ...) (filepart ...) (existing-buffer ...)) (pop-to$
  gud-common-init("/Volumes/data/lldb/svn/trunk/build/Debug/lldb" nil gud-lldb-marker-filter)

The gud-common-init elisp function references split-string-and-unquote function
which is not defined there.

llvm-svn: 126449

11 years agoDon't warn about using PredefinedExprs as format string literals. These never can...
Ted Kremenek [Thu, 24 Feb 2011 23:03:04 +0000 (23:03 +0000)]
Don't warn about using PredefinedExprs as format string literals.  These never can be a real security issue.

Fixes PR 9314.

llvm-svn: 126447

11 years agoSimplifyCFG: GEPs with constant indices are cheap enough to be executed unconditionally.
Benjamin Kramer [Thu, 24 Feb 2011 22:46:11 +0000 (22:46 +0000)]
SimplifyCFG: GEPs with constant indices are cheap enough to be executed unconditionally.

llvm-svn: 126445

11 years agoFixed CommandReturnObject::SetImmediateErrorFile() to set the correct stream.
Greg Clayton [Thu, 24 Feb 2011 22:24:29 +0000 (22:24 +0000)]
Fixed CommandReturnObject::SetImmediateErrorFile() to set the correct stream.

Modifed lldb_private::Process to be able to handle connecting to a remote
target that isn't running a process. This leaves lldb_private::Process in the
eStateConnected state from which we can then do an attach or launch.

Modified ProcessGDBRemote to be able to set stdin, stdout, stderr, working
dir, disable ASLR and a few other settings down by using new GDB remote
packets. This allows us to keep all of our current launch flags and settings
intact and still be able to communicate them over to the remote GDB server.
Previously these were being sent as arguments to the debugserver binary that
we were spawning. Also modified ProcessGDBRemote to handle losing connection
to the remote GDB server and always exit immediately. We do this by watching
the lldb_private::Communication event bit for the read thread exiting in the
ProcessGDBRemote async thread.

Added support for many of the new 'Q' packets for setting stdin, stdout,
stderr, working dir and disable ASLR to the GDBRemoteCommunication class for
easy accesss.

Modified debugserver for all of the new 'Q' packets and also made it so that
debugserver always exists if it loses connection with the remote debugger.

llvm-svn: 126444

11 years agoRestore r125595 (reverted in r126336) with modifications:
Joerg Sonnenberger [Thu, 24 Feb 2011 21:59:22 +0000 (21:59 +0000)]
Restore r125595 (reverted in r126336) with modifications:
Introduce a variable in the AsmParserExtension whether [] is valid in an
expression. If it is true, parse them like (). Enable this for ELF only.

llvm-svn: 126443

11 years agoFix typos in the opcode entries for branch instructions.
Johnny Chen [Thu, 24 Feb 2011 21:54:22 +0000 (21:54 +0000)]
Fix typos in the opcode entries for branch instructions.

llvm-svn: 126442