platform/upstream/llvm.git
12 years agoRemove 'const' version of getBasicVals(), which is useless.
Ted Kremenek [Tue, 25 Sep 2012 23:12:12 +0000 (23:12 +0000)]
Remove 'const' version of getBasicVals(), which is useless.

llvm-svn: 164643

12 years agoInitialize boolean variables in MipsSubtarget's constructor.
Akira Hatanaka [Tue, 25 Sep 2012 23:07:11 +0000 (23:07 +0000)]
Initialize boolean variables in MipsSubtarget's constructor.

llvm-svn: 164642

12 years agoDon't drop the alignment on a memcpy intrinsic when producing a store. This is
Nick Lewycky [Tue, 25 Sep 2012 22:46:21 +0000 (22:46 +0000)]
Don't drop the alignment on a memcpy intrinsic when producing a store. This is
only a missed optimization opportunity if the store is over-aligned, but a
miscompile if the store's new type has a higher natural alignment than the
memcpy did. Fixes PR13920!

llvm-svn: 164641

12 years agoblank line for test commit
Reed Kotler [Tue, 25 Sep 2012 22:34:20 +0000 (22:34 +0000)]
blank line for test commit

llvm-svn: 164640

12 years agoRename CanFitInto64Bits to alwaysFitsInto64Bits per discussion on IRC.
Jordan Rose [Tue, 25 Sep 2012 22:32:51 +0000 (22:32 +0000)]
Rename CanFitInto64Bits to alwaysFitsInto64Bits per discussion on IRC.

This makes the behavior clearer concerning literals with the maximum
number of digits. For a 32-bit example, 4,000,000,000 is a valid uint32_t,
but 5,000,000,000 is not, so we'd have to count 10-digit decimal numbers
as "unsafe" (meaning we have to check for overflow when parsing them,
just as we would for numbers with 11 digits or higher). This is the same,
only with 64 bits to play with.

No functionality change.

llvm-svn: 164639

12 years ago[driver] Add support for the -fno-fast-math option.
Chad Rosier [Tue, 25 Sep 2012 22:03:25 +0000 (22:03 +0000)]
[driver] Add support for the -fno-fast-math option.
rdar://12299433

llvm-svn: 164638

12 years agoRevert the business end of r164634, and replace it with a different fix. The
Nick Lewycky [Tue, 25 Sep 2012 21:50:37 +0000 (21:50 +0000)]
Revert the business end of r164634, and replace it with a different fix. The
reason we were getting two of the same alloca is because of a memmove/memcpy
which had the same alloca in both the src and dest. Now we detect that case
directly. This has the same testcase as before, but fixes a clang test
CodeGenObjC/exceptions.m which runs clang -O2.

llvm-svn: 164636

12 years agoDon't try to promote the same alloca twice. Fixes PR13916!
Nick Lewycky [Tue, 25 Sep 2012 21:15:50 +0000 (21:15 +0000)]
Don't try to promote the same alloca twice. Fixes PR13916!

Chandler, it's not obvious that it's okay that this alloca gets into the list
twice to begin with. Please review and see whether this is the fix you really
want, but I wanted to get a fix checked in quickly.

llvm-svn: 164634

12 years agoAdd --program-prefix support to build
Sebastian Pop [Tue, 25 Sep 2012 21:15:08 +0000 (21:15 +0000)]
Add --program-prefix support to build

llvm-svn: 164633

12 years agoMove remaining methods inside the Attributes class. Merge the 'Attribute' namespaces.
Bill Wendling [Tue, 25 Sep 2012 20:57:48 +0000 (20:57 +0000)]
Move remaining methods inside the Attributes class. Merge the 'Attribute' namespaces.

llvm-svn: 164631

12 years agodocs: Sphinxify HowToSubmitABug
Sean Silva [Tue, 25 Sep 2012 20:52:04 +0000 (20:52 +0000)]
docs: Sphinxify HowToSubmitABug

llvm-svn: 164630

12 years agoMove Attribute::typeIncompatible inside of the Attributes class.
Bill Wendling [Tue, 25 Sep 2012 20:38:59 +0000 (20:38 +0000)]
Move Attribute::typeIncompatible inside of the Attributes class.

llvm-svn: 164629

12 years agoTargetLowering interface to set/get minimum block entries for jump tables.
Sebastian Pop [Tue, 25 Sep 2012 20:35:36 +0000 (20:35 +0000)]
TargetLowering interface to set/get minimum block entries for jump tables.

Provide interface in TargetLowering to set or get the minimum number of basic
blocks whereby jump tables are generated for switch statements rather than an
if sequence.

    getMinimumJumpTableEntries() defaults to 4.
    setMinimumJumpTableEntries() allows target configuration.

    This patch changes the default for the Hexagon architecture to 5
    as it improves performance on some benchmarks.

llvm-svn: 164628

12 years agoRevert r164614 to appease the buildbots.
Chad Rosier [Tue, 25 Sep 2012 19:57:20 +0000 (19:57 +0000)]
Revert r164614 to appease the buildbots.

llvm-svn: 164627

12 years ago[libclang] Do a AST concurrency check in clang_indexTranslationUnit_Impl.
Argyrios Kyrtzidis [Tue, 25 Sep 2012 19:29:50 +0000 (19:29 +0000)]
[libclang] Do a AST concurrency check in clang_indexTranslationUnit_Impl.

llvm-svn: 164626

12 years agoImprove upon r164450 and localize the logic of updating the type of
Argyrios Kyrtzidis [Tue, 25 Sep 2012 19:26:39 +0000 (19:26 +0000)]
Improve upon r164450 and localize the logic of updating the type of
a function decl inside the ASTNodeImporter::VisitFunctionDecl function.

llvm-svn: 164625

12 years agoOptimize NumericLiteralParser::GetIntegerValue().
Dmitri Gribenko [Tue, 25 Sep 2012 19:09:15 +0000 (19:09 +0000)]
Optimize NumericLiteralParser::GetIntegerValue().

It does a conservative estimate on the size of numbers that can fit into
uint64_t.  This bound is improved.

llvm-svn: 164624

12 years ago[analyzer] Add tests for symbolic expression liveness.
Jordan Rose [Tue, 25 Sep 2012 19:03:09 +0000 (19:03 +0000)]
[analyzer] Add tests for symbolic expression liveness.

There are very few tests here because SValBuilder is fairly aggressive
about not building SymExprs that we can't evaluate, which saves memory
and CPU but also makes it very much tied to the current constraint
manager. We should probably scale back here and let things decay to
UnknownVal later on.

bitwise-ops.c tests that for the SymExprs we do create, we persist our
assumptions about them. traversal-path-unification.c tests that we do
clean out constraints on arbitrary SymExprs once they have actually died.

llvm-svn: 164623

12 years agoReapply "[analyzer] Remove constraints on dead symbols as part of removeDeadBindings."
Jordan Rose [Tue, 25 Sep 2012 19:03:06 +0000 (19:03 +0000)]
Reapply "[analyzer] Remove constraints on dead symbols as part of removeDeadBindings."

Previously, we'd just keep constraints around forever, which means we'd
never be able to merge paths that differed only in constraints on dead
symbols.

Because we now allow constraints on symbolic expressions, not just single
symbols, this requires changing SymExpr::symbol_iterator to include
intermediate symbol nodes in its traversal, not just the SymbolData leaf
nodes.

This depends on the previous commit to be correct. Originally applied in
r163444, reverted in r164275, now being re-applied.

llvm-svn: 164622

12 years ago[analyzer] Calculate liveness for symbolic exprs as well as atomic symbols.
Jordan Rose [Tue, 25 Sep 2012 19:03:01 +0000 (19:03 +0000)]
[analyzer] Calculate liveness for symbolic exprs as well as atomic symbols.

No tests, but this allows the optimization of removing dead constraints.
We can then add tests that we don't do this prematurely.

<rdar://problem/12333297>

Note: the added FIXME to investigate SymbolRegionValue liveness is
tracked by <rdar://problem/12368183>. This patch does not change the
existing behavior.

llvm-svn: 164621

12 years agoUnder certain terrible circumstances (<rdar://problem/10805775>),
Douglas Gregor [Tue, 25 Sep 2012 18:29:14 +0000 (18:29 +0000)]
Under certain terrible circumstances (<rdar://problem/10805775>),
top-level frameworks can actually be symlinked over to embedded
frameworks, and accessed via the top-level framework's headers. In
this case, we need to determine that the framework was *actually* an
embedded framework, so we can load the appropriate top-level module.

llvm-svn: 164620

12 years agoAdded process attach options and also use the SBLaunchInfo and SBAttachInfo.
Greg Clayton [Tue, 25 Sep 2012 18:27:12 +0000 (18:27 +0000)]
Added process attach options and also use the SBLaunchInfo and SBAttachInfo.

llvm-svn: 164619

12 years agoThis patch makes use of recently added relocation reference data. The bulk
Sid Manning [Tue, 25 Sep 2012 18:22:09 +0000 (18:22 +0000)]
This patch makes use of recently added relocation reference data.  The bulk
of this is derived from the Mach-O writer.  Reviewed by: Nick Kledzik.
 * Adds loop to SectionChunk::write traverse references calling the
   writer's fixup handler, applyFixup.
 * Adds method, ELFWriter::buildAtomToAddressMap to that creates a
   mapping from an atom to its runtime address.
 * Adds method, ELFWriter::addressOfAtom to return the runtime address
   of the atom.

llvm-svn: 164618

12 years agoMake this test check the transforms it's actually doing. Also add a test that it
Nick Lewycky [Tue, 25 Sep 2012 18:17:38 +0000 (18:17 +0000)]
Make this test check the transforms it's actually doing. Also add a test that it
doesn't transform the trivially unsafe case.

llvm-svn: 164617

12 years agoAdd missing i64 max/min/umax/umin on 32-bit target
Michael Liao [Tue, 25 Sep 2012 18:08:13 +0000 (18:08 +0000)]
Add missing i64 max/min/umax/umin on 32-bit target

- Turn on atomic6432.ll and add specific test case as well

llvm-svn: 164616

12 years agoARM: Darwin BL/BLX relocations to out-of-range symbols.
Jim Grosbach [Tue, 25 Sep 2012 18:07:17 +0000 (18:07 +0000)]
ARM: Darwin BL/BLX relocations to out-of-range symbols.

When a BL/BLX references a symbol in the same translation unit that is
out of range, use an external relocation. The linker will use this to
generate a branch island rather than a direct reference, allowing the
relocation to resolve correctly.

rdar://12359919

llvm-svn: 164615

12 years agoExpansions for u/srem, using the udiv expansion. More unit tests for udiv and u/srem.
Michael Ilseman [Tue, 25 Sep 2012 17:56:47 +0000 (17:56 +0000)]
Expansions for u/srem, using the udiv expansion. More unit tests for udiv and u/srem.

llvm-svn: 164614

12 years agoConsistently specify the assembly variant to MatchInstructionImpl.
Bob Wilson [Tue, 25 Sep 2012 17:19:29 +0000 (17:19 +0000)]
Consistently specify the assembly variant to MatchInstructionImpl.

llvm-svn: 164611

12 years agoMacro history (de-)serialization. Deserialization currently reads only the latest...
Alexander Kornienko [Tue, 25 Sep 2012 17:18:14 +0000 (17:18 +0000)]
Macro history (de-)serialization. Deserialization currently reads only the latest macro definition. Needs more work.

Summary: Passes all tests (+ the new one with code completion), but needs a thorough review in part related to modules.

Reviewers: doug.gregor

Reviewed By: alexfh

CC: cfe-commits, rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D41

llvm-svn: 164610

12 years agoExamine the last, not the first, instruction from the MC matcher.
Bob Wilson [Tue, 25 Sep 2012 16:30:16 +0000 (16:30 +0000)]
Examine the last, not the first, instruction from the MC matcher.

If an MS-style inline asm is matched to multiple instructions, e.g., with a
a WAIT-prefix, then we need to examine the operands of the last instruction
instruction, not the prefix instruction.

llvm-svn: 164608

12 years ago-iframework should allow separate arguments.
Douglas Gregor [Tue, 25 Sep 2012 16:13:41 +0000 (16:13 +0000)]
-iframework should allow separate arguments.

llvm-svn: 164607

12 years agoIntroduce builtin macros to determine whether we're building a
Douglas Gregor [Tue, 25 Sep 2012 15:44:52 +0000 (15:44 +0000)]
Introduce builtin macros to determine whether we're building a
specific module (__building_module(modulename)) and to get the name of
the current module as an identifier (__MODULE__).

Used to help headers behave differently when they're being included as
part of building a module. Oh, the irony.

llvm-svn: 164605

12 years agoA minor doc fix.
Alexander Kornienko [Tue, 25 Sep 2012 12:42:05 +0000 (12:42 +0000)]
A minor doc fix.

llvm-svn: 164601

12 years ago[TSan] fork external symbolizer before starting internal threads
Alexey Samsonov [Tue, 25 Sep 2012 12:35:47 +0000 (12:35 +0000)]
[TSan] fork external symbolizer before starting internal threads

llvm-svn: 164600

12 years agoFix failing test/Sema/wchar.c on ARM.
Hans Wennborg [Tue, 25 Sep 2012 10:11:17 +0000 (10:11 +0000)]
Fix failing test/Sema/wchar.c on ARM.

Currently Sema/wchar.c fails because WCHAR_T_TYPE is defined as int,
however on ARM wchar_t is unsigned int.

This patch changes that, so this test passes for ARM.

Patch by Joey Gouly!

llvm-svn: 164598

12 years agoWhen performing a ::delete of an object with a virtual destructor,
John McCall [Tue, 25 Sep 2012 10:10:39 +0000 (10:10 +0000)]
When performing a ::delete of an object with a virtual destructor,
be sure to delete the complete object pointer, not the original
pointer.  This is necessary if the base being deleted is at a
non-zero offset in the complete object.  This is only required
for objects with virtual destructors because deleting an object
via a base-class subobject when the base does not have a virtual
destructor is undefined behavior.

Noticed while reviewing the last four years of cxx-abi-dev
activity.

llvm-svn: 164597

12 years agoFix a case where SROA did not correctly detect dead PHI or selects due
Chandler Carruth [Tue, 25 Sep 2012 10:03:40 +0000 (10:03 +0000)]
Fix a case where SROA did not correctly detect dead PHI or selects due
to chains or cycles between PHIs and/or selects. Also add a couple of
really nice test cases reduced from Kostya's reports in PR13905 and
PR13906. Both are fixed by this patch.

llvm-svn: 164596

12 years agoChange the way the lint sanity checking pass detects misaligned memory accesses.
Duncan Sands [Tue, 25 Sep 2012 10:00:49 +0000 (10:00 +0000)]
Change the way the lint sanity checking pass detects misaligned memory accesses.
Previously it was only be able to detect problems if the pointer was a numerical
value (eg inttoptr i32 1 to i32*), but not if it was an alloca or globa.  The
reason was the use of ComputeMaskedBits: imagine you have "alloca i8, align 2",
and ask ComputeMaskedBits what it knows about the bits of the alloca pointer.
It can tell you that the bottom bit is known zero (due to align 2) but it can't
tell you that bit 1 is known one.  That's because the address could be an even
multiple of 2 rather than an odd multiple, eg it might be a multiple of 4.  Thus
trying to use KnownOne is ineffective in the case of an alloca as it will never
have any bits set.  Instead look explicitly for constant offsets from allocas
and globals.

llvm-svn: 164595

12 years agoclang/test/CodeGenCXX/microsoft-*: Fix for -Asserts.
NAKAMURA Takumi [Tue, 25 Sep 2012 09:53:18 +0000 (09:53 +0000)]
clang/test/CodeGenCXX/microsoft-*: Fix for -Asserts.

llvm-svn: 164594

12 years agoImplement Mike Herrick's proposed noexcept mangling.
John McCall [Tue, 25 Sep 2012 09:10:17 +0000 (09:10 +0000)]
Implement Mike Herrick's proposed noexcept mangling.

llvm-svn: 164593

12 years agoIn the MS ABI, ctors return 'this'. Patch by Dmitry Sokolov.
John McCall [Tue, 25 Sep 2012 08:00:39 +0000 (08:00 +0000)]
In the MS ABI, ctors return 'this'.  Patch by Dmitry Sokolov.

llvm-svn: 164592

12 years agoAdd the Microsoft __is_interface_class type trait.
John McCall [Tue, 25 Sep 2012 07:32:49 +0000 (07:32 +0000)]
Add the Microsoft __is_interface_class type trait.
Patch by Andy Gibbs!

llvm-svn: 164591

12 years agoFix for r163013 regression and further __interface enhancement.
John McCall [Tue, 25 Sep 2012 07:32:39 +0000 (07:32 +0000)]
Fix for r163013 regression and further __interface enhancement.
Patch by Andy Gibbs!

llvm-svn: 164590

12 years agoDuring jump-scope checking, build an ExprWithCleanups immediately
John McCall [Tue, 25 Sep 2012 06:56:03 +0000 (06:56 +0000)]
During jump-scope checking, build an ExprWithCleanups immediately
into the enclosing scope;  this is a more accurate model but is
(I believe) unnecessary in my test case due to other flaws.
However, one of those flaws is now intentional:  blocks which
appear in return statements can be trivially observed to not
extend in lifetime past the return, and so we can allow a jump
past them.  Do the necessary magic in IR-generation to make
this work.

llvm-svn: 164589

12 years agoFix an illegal tailcall opt where the callee returns a double via xmm while caller...
Evan Cheng [Tue, 25 Sep 2012 05:32:34 +0000 (05:32 +0000)]
Fix an illegal tailcall opt where the callee returns a double via xmm while caller returns x86_fp80 via st0. rdar://12229511

llvm-svn: 164588

12 years agoFix a -Wparentheses warning in the mingw build
Nico Weber [Tue, 25 Sep 2012 05:24:16 +0000 (05:24 +0000)]
Fix a -Wparentheses warning in the mingw build

llvm-svn: 164587

12 years agoFix crash when a decltype expression in a trailing return type refers to the
Richard Smith [Tue, 25 Sep 2012 04:46:05 +0000 (04:46 +0000)]
Fix crash when a decltype expression in a trailing return type refers to the
function being instantiated. An error recovery codepath was recursively
performing name lookup (and triggering an unbounded stack of template
instantiations which blew out the stack before hitting the depth limit).

Patch by Wei Pan!

llvm-svn: 164586

12 years agoFix a crash in SROA. This was reported independently by Takumi and
Chandler Carruth [Tue, 25 Sep 2012 02:42:03 +0000 (02:42 +0000)]
Fix a crash in SROA. This was reported independently by Takumi and
David (I think), but I would appreciate folks verifying that this fixes
the big crasher.

I'm still working on a reduced test case, but because this was causing
problems I wanted to get the fix checked in quickly.

llvm-svn: 164585

12 years ago<rdar://problem/9959501>
Greg Clayton [Tue, 25 Sep 2012 02:40:06 +0000 (02:40 +0000)]
<rdar://problem/9959501>

More KDP debugging process. We can not set breakpoints, hit them, resume, step and detach while running.

llvm-svn: 164584

12 years agoDon't forget that strcpy and friends return a pointer to the destination, so
Nick Lewycky [Tue, 25 Sep 2012 01:55:59 +0000 (01:55 +0000)]
Don't forget that strcpy and friends return a pointer to the destination, so
it's not a dead store if that pointer is used. Whoops!

llvm-svn: 164583

12 years agoUnit tests for IntegerDivision. Currently, just a basic sanity check to ensure that...
Michael Ilseman [Tue, 25 Sep 2012 01:33:33 +0000 (01:33 +0000)]
Unit tests for IntegerDivision. Currently, just a basic sanity check to ensure that the code was generated properly. Future work would be finding some way to test the actual result that would be computed.

llvm-svn: 164582

12 years agoDelete some code which is, as far as I can tell, dead.
Eli Friedman [Tue, 25 Sep 2012 01:02:42 +0000 (01:02 +0000)]
Delete some code which is, as far as I can tell, dead.

llvm-svn: 164580

12 years ago[analyzer] Fix a buildbot crash triggered by turning on dynamic
Anna Zaks [Tue, 25 Sep 2012 00:31:43 +0000 (00:31 +0000)]
[analyzer] Fix a buildbot crash triggered by turning on dynamic
dispatch.

llvm-svn: 164579

12 years agoDon't produce diagnostics for missing ctor-initializers during template
Richard Smith [Tue, 25 Sep 2012 00:23:05 +0000 (00:23 +0000)]
Don't produce diagnostics for missing ctor-initializers during template
instantiations if we encountered errors parsing some of the initializers.

llvm-svn: 164578

12 years agoARM: 'add Rd, pc, #imm' is an alias for 'adr Rd, #imm'.
Jim Grosbach [Tue, 25 Sep 2012 00:08:13 +0000 (00:08 +0000)]
ARM: 'add Rd, pc, #imm' is an alias for 'adr Rd, #imm'.

rdar://9795790

llvm-svn: 164577

12 years agoRemove unused name of variable to quiet a warning. Also canonicalize a
Nick Lewycky [Mon, 24 Sep 2012 23:47:23 +0000 (23:47 +0000)]
Remove unused name of variable to quiet a warning. Also canonicalize a
declaration to use the same form as in the rest of the file. No functionality
change.

llvm-svn: 164576

12 years agoApply the emulated nullptr_t with constexpr. This is an unusual configuration that...
Howard Hinnant [Mon, 24 Sep 2012 23:36:40 +0000 (23:36 +0000)]
Apply the emulated nullptr_t with constexpr.  This is an unusual configuration that would take advantage of this.  But it has popped up in the wild and does no harm to support it.

llvm-svn: 164575

12 years agoMaking sure we do not try to compare a NULL string - which would cause us to crash
Enrico Granata [Mon, 24 Sep 2012 23:30:10 +0000 (23:30 +0000)]
Making sure we do not try to compare a NULL string - which would cause us to crash

llvm-svn: 164574

12 years agoAdded a new Xcode build configuration, DebugClang,
Sean Callanan [Mon, 24 Sep 2012 23:21:18 +0000 (23:21 +0000)]
Added a new Xcode build configuration, DebugClang,
which builds a Debug+Asserts build of Clang and
links LLDB against it.  The Debug configuration
builds Clang with Release+Asserts, for faster
linking and smaller memory footprint when debugging
the build LLDB.

llvm-svn: 164573

12 years agoRemoved some debugging cruft.
Sean Callanan [Mon, 24 Sep 2012 23:11:56 +0000 (23:11 +0000)]
Removed some debugging cruft.

llvm-svn: 164572

12 years agoMark jump tables in code sections with DataRegion directives.
Jim Grosbach [Mon, 24 Sep 2012 23:06:27 +0000 (23:06 +0000)]
Mark jump tables in code sections with DataRegion directives.

Even out-of-line jump tables can be in the code section, so mark them
as data-regions for those targets which support the directives.

rdar://12362871&12362974

llvm-svn: 164571

12 years agoTypo.
Chad Rosier [Mon, 24 Sep 2012 23:04:25 +0000 (23:04 +0000)]
Typo.

llvm-svn: 164570

12 years agoHandle C++ functional casts in a similar way to C-style casts in
Eli Friedman [Mon, 24 Sep 2012 23:02:26 +0000 (23:02 +0000)]
Handle C++ functional casts in a similar way to C-style casts in
unused expression warnings.  <rdar://problem/12359208>.

llvm-svn: 164569

12 years agoUpdate for r164567.
Chad Rosier [Mon, 24 Sep 2012 22:58:50 +0000 (22:58 +0000)]
Update for r164567.

llvm-svn: 164568

12 years agoRather then have a wrapper function, have tblgen instantiate the implementation.
Chad Rosier [Mon, 24 Sep 2012 22:57:55 +0000 (22:57 +0000)]
Rather then have a wrapper function, have tblgen instantiate the implementation.
Also remove an unused argument.

llvm-svn: 164567

12 years agoobjective-C: use 'instance variables' as plural when referring
Fariborz Jahanian [Mon, 24 Sep 2012 22:51:51 +0000 (22:51 +0000)]
objective-C: use 'instance variables' as plural when referring
to the feature.

llvm-svn: 164566

12 years agoClear UNIVERSAL_SDK_PATH setting when building host tools. <rdar://12360497>
Bob Wilson [Mon, 24 Sep 2012 22:51:19 +0000 (22:51 +0000)]
Clear UNIVERSAL_SDK_PATH setting when building host tools.  <rdar://12360497>

I also moved the SDKROOT setting into the make flags, since clearing it from
the environment isn't good enough to override a setting on the make command
line.  That hasn't been a problem but it could be, and it's good to be
consistent with the way UNIVERSAL_SDK_PATH is handled.

llvm-svn: 164565

12 years agoFix string comparisons in ABIMacOSX_i386::RegisterIsCalleeSaved so
Jason Molenda [Mon, 24 Sep 2012 22:51:04 +0000 (22:51 +0000)]
Fix string comparisons in ABIMacOSX_i386::RegisterIsCalleeSaved so
that volatile registers are correctly reported for this ABI.
We were incorrectly passing up volatile registers from callee
frames.

llvm-svn: 164564

12 years agoBrought LLDB top-of-tree into sync with LLVM/Clang
Sean Callanan [Mon, 24 Sep 2012 22:25:51 +0000 (22:25 +0000)]
Brought LLDB top-of-tree into sync with LLVM/Clang
top-of-tree.  Removed all local patches and llvm.zip.

The intent is that fron now on top-of-tree will
always build against LLVM/Clang top-of-tree, and
that problems building will be resolved as they
occur.  Stable release branches of LLDB can be
constructed as needed and linked to specific release
branches of LLVM/Clang.

llvm-svn: 164563

12 years agoTeach DSE that strcpy, strncpy, strcat and strncat are all stores which may be
Nick Lewycky [Mon, 24 Sep 2012 22:09:10 +0000 (22:09 +0000)]
Teach DSE that strcpy, strncpy, strcat and strncat are all stores which may be
dead.

llvm-svn: 164561

12 years agoMove all the calls to AA.getTargetLibraryInfo() to using a TLI member variable.
Nick Lewycky [Mon, 24 Sep 2012 22:07:09 +0000 (22:07 +0000)]
Move all the calls to AA.getTargetLibraryInfo() to using a TLI member variable.
No functionality change.

llvm-svn: 164560

12 years agoobjective-C: remove use of 'ivar' in favor of
Fariborz Jahanian [Mon, 24 Sep 2012 22:00:36 +0000 (22:00 +0000)]
objective-C: remove use of 'ivar' in favor of
'instance variable' in text of all diagnostics
for objective-C: // rdar://12352442

llvm-svn: 164559

12 years agoMade TestHiddenIvars an expected failure with
Sean Callanan [Mon, 24 Sep 2012 21:34:40 +0000 (21:34 +0000)]
Made TestHiddenIvars an expected failure with
"frame variable".  "expr" finds hidden ivars
correctly.

llvm-svn: 164558

12 years agoAdd clarifying comment.
Ted Kremenek [Mon, 24 Sep 2012 21:17:14 +0000 (21:17 +0000)]
Add clarifying comment.

llvm-svn: 164557

12 years agoMore tests for r164545 (change extension warning about 'long long').
Dmitri Gribenko [Mon, 24 Sep 2012 21:09:05 +0000 (21:09 +0000)]
More tests for r164545 (change extension warning about 'long long').

llvm-svn: 164556

12 years agoStringRef'ize Preprocessor::CreateString().
Dmitri Gribenko [Mon, 24 Sep 2012 21:07:17 +0000 (21:07 +0000)]
StringRef'ize Preprocessor::CreateString().

llvm-svn: 164555

12 years agoReplace raw call to snprintf() by llvm streams.
Dmitri Gribenko [Mon, 24 Sep 2012 20:56:28 +0000 (20:56 +0000)]
Replace raw call to snprintf() by llvm streams.

llvm-svn: 164554

12 years agoSpecify MachinePointerInfo as refering to the argument value and offset of the
Roman Divacky [Mon, 24 Sep 2012 20:47:19 +0000 (20:47 +0000)]
Specify MachinePointerInfo as refering to the argument value and offset of the
store when handling byval arguments. Thus preventing reordering of the store
with load with post-RA scheduler.

llvm-svn: 164553

12 years agoReplace an assertion with an error for empty __asm statements.
Bob Wilson [Mon, 24 Sep 2012 19:57:59 +0000 (19:57 +0000)]
Replace an assertion with an error for empty __asm statements.

llvm-svn: 164551

12 years agoFix a comment typo and clean up formatting.
Bob Wilson [Mon, 24 Sep 2012 19:57:55 +0000 (19:57 +0000)]
Fix a comment typo and clean up formatting.

llvm-svn: 164550

12 years agoMake sure that we don't end up making an #undef'd macro visible after
Douglas Gregor [Mon, 24 Sep 2012 19:56:18 +0000 (19:56 +0000)]
Make sure that we don't end up making an #undef'd macro visible after
the fact. Test cases will come when we're actually (de-)serializing
macro history.

llvm-svn: 164549

12 years agoRather then have a wrapper function, have tblgen instantiate the implementation.
Chad Rosier [Mon, 24 Sep 2012 19:32:29 +0000 (19:32 +0000)]
Rather then have a wrapper function, have tblgen instantiate the implementation.

llvm-svn: 164548

12 years ago[libclang] Bring CXCursor_AsmStmt back as an alias for CXCursor_GCCAsmStmt.
Argyrios Kyrtzidis [Mon, 24 Sep 2012 19:27:20 +0000 (19:27 +0000)]
[libclang] Bring CXCursor_AsmStmt back as an alias for CXCursor_GCCAsmStmt.

This was renamed in r162632 which was badness because the C API needs to be stable.
rdar://12360096

llvm-svn: 164547

12 years agoInclude 'long long' extension warning in the LongLong group so that it can be
Dmitri Gribenko [Mon, 24 Sep 2012 19:05:10 +0000 (19:05 +0000)]
Include 'long long' extension warning in the LongLong group so that it can be
silenced by -Wno-long-long.  Thanks Richard Smith for the fix idea!

llvm-svn: 164546

12 years agoChange the wording of the extension warning from
Dmitri Gribenko [Mon, 24 Sep 2012 18:19:21 +0000 (18:19 +0000)]
Change the wording of the extension warning from
> 'long long' is an extension when C99 mode is not enabled
to
> 'long long' is a C++11 extension
while compiling in C++98 mode.

llvm-svn: 164545

12 years agoRemove a couple of debugging printf's from the testsuite.
Jim Ingham [Mon, 24 Sep 2012 18:11:54 +0000 (18:11 +0000)]
Remove a couple of debugging printf's from the testsuite.

llvm-svn: 164544

12 years ago[analyzer] Really turn on dynamic-bifurcation on by default.
Anna Zaks [Mon, 24 Sep 2012 17:43:47 +0000 (17:43 +0000)]
[analyzer] Really turn on dynamic-bifurcation on by default.

Thanks to Byoungyoung for realizing taht we are not passing the default
option correctly.

llvm-svn: 164543

12 years ago[analyzer] Remove unused.
Anna Zaks [Mon, 24 Sep 2012 17:43:44 +0000 (17:43 +0000)]
[analyzer] Remove unused.

llvm-svn: 164542

12 years ago[analyzer]Prevent infinite recursion(assume->checker:evalAssume->assume)
Anna Zaks [Mon, 24 Sep 2012 17:43:41 +0000 (17:43 +0000)]
[analyzer]Prevent infinite recursion(assume->checker:evalAssume->assume)

(Unfortunately, I do not have a good reduced test case for this.)

llvm-svn: 164541

12 years agoAdd missing : in CHECK line.
Richard Osborne [Mon, 24 Sep 2012 17:22:43 +0000 (17:22 +0000)]
Add missing : in CHECK line.

llvm-svn: 164540

12 years agoAdd missing check for presence of target data.
Richard Osborne [Mon, 24 Sep 2012 17:10:03 +0000 (17:10 +0000)]
Add missing check for presence of target data.

This avoids a crash in visitAllocaInst when target data isn't available.

llvm-svn: 164539

12 years agoUpdating email address
Marshall Clow [Mon, 24 Sep 2012 14:27:24 +0000 (14:27 +0000)]
Updating email address

llvm-svn: 164490

12 years agoUpdating email address
Marshall Clow [Mon, 24 Sep 2012 14:27:10 +0000 (14:27 +0000)]
Updating email address

llvm-svn: 164489

12 years ago[TSan] one more attempt to fix sleep_sync test: call sleep in the spawned thread...
Alexey Samsonov [Mon, 24 Sep 2012 13:35:46 +0000 (13:35 +0000)]
[TSan] one more attempt to fix sleep_sync test: call sleep in the spawned thread so that sleep-synchronization will be detected even if child thread is started late.

llvm-svn: 164488

12 years ago[TSan] Provide replacements for operators new/delete instead of declaring extern...
Alexey Samsonov [Mon, 24 Sep 2012 13:19:47 +0000 (13:19 +0000)]
[TSan] Provide replacements for operators new/delete instead of declaring extern C functions with weirdly mangled names (same strategy is used in ASan).

llvm-svn: 164487

12 years ago[ASan] Apply some ASan-relevant pieces of patch by Ruben Van Boxem. In the same time...
Alexey Samsonov [Mon, 24 Sep 2012 11:43:40 +0000 (11:43 +0000)]
[ASan] Apply some ASan-relevant pieces of patch by Ruben Van Boxem. In the same time, remove ASan from CMake build on Windows after conversation with Timur. We don't want to support building ASan on Windows until it is in a working state.

llvm-svn: 164486

12 years agoUse an explicit target to test that source fortification is off when building for...
Alexander Potapenko [Mon, 24 Sep 2012 10:25:24 +0000 (10:25 +0000)]
Use an explicit target to test that source fortification is off when building for Darwin with -faddress-sanitizer.

llvm-svn: 164485

12 years agoSmall cleanup of literal semantic analysis: hiding 'char *' pointers behind
Dmitri Gribenko [Mon, 24 Sep 2012 09:53:54 +0000 (09:53 +0000)]
Small cleanup of literal semantic analysis: hiding 'char *' pointers behind
StringRef makes code cleaner.  Also, make the temporary buffer smaller:
512 characters is unreasonably large for integer literals.

llvm-svn: 164484

12 years ago[TSan] increase sleep time in test to ensure correct event ordering
Alexey Samsonov [Mon, 24 Sep 2012 08:57:41 +0000 (08:57 +0000)]
[TSan] increase sleep time in test to ensure correct event ordering

llvm-svn: 164483

12 years agoUpdate the Clang tests which run with a full optimization pipeline for
Chandler Carruth [Mon, 24 Sep 2012 01:10:25 +0000 (01:10 +0000)]
Update the Clang tests which run with a full optimization pipeline for
the new SROA pass. This is a benign change: the order of PHI nodes
changed.

llvm-svn: 164481