Commit Graph

63762 Commits

Author SHA1 Message Date
Argyrios Kyrtzidis b78139f74d Handle references from ObjCIvarRefExprs.
llvm-svn: 76507
2009-07-21 00:05:38 +00:00
Argyrios Kyrtzidis 153d418def Add '\n' to the end of error message.
llvm-svn: 76506
2009-07-21 00:05:10 +00:00
Dan Gohman 3439262586 Add a comment to clarify why there isn't any code in this spot.
llvm-svn: 76505
2009-07-20 23:54:43 +00:00
Dan Gohman 00c1aaec5a Remove the code that tried to evaluate whether (A pred B) is known
by determining if (B pred (B-A)) is known, as it doesn't handle
overflow correctly.

llvm-svn: 76504
2009-07-20 23:53:35 +00:00
Dale Johannesen a2d2adfa4e Make sure a global matching asm 'i' constraint gets its
flags set properly.  (hasMemory is clearly irrelevant
when matching 'i', I don't understand what this was
supposed to be doing.)
gcc.apple/asm-block-25.c (test passed before by
accident, but generated code was wrong)

llvm-svn: 76503
2009-07-20 23:39:13 +00:00
Dale Johannesen ade297d496 Move stripping of bitcasts in inline asm arguments
to a place where it affects everything.  Occurs
only on calls AFAIK.

llvm-svn: 76502
2009-07-20 23:27:39 +00:00
Mike Stump 0d76d075e4 Add yet more analysis for CFGs involving conditionals that are actually constant.
llvm-svn: 76500
2009-07-20 23:24:15 +00:00
Fariborz Jahanian 83381cc9a6 Move EmitCtorPrologue to CGCXX. Add an assert and FIXMEs.
llvm-svn: 76498
2009-07-20 23:18:55 +00:00
Ted Kremenek 834e2f69da Enhanced IsReinterpreted() (RegionStore.cpp) to reason about higher-order
pointers.

Enhanced RegionStoreManager::Retrieve() to handle automatic casts when the
loaded value is different from the requested value. This should be refined over
time, but essentially we should always symbolicate locations as locations, and
convert them to non-locations on demand.

These changes now cause 'misc-ps.m' to pass again.

llvm-svn: 76497
2009-07-20 22:58:02 +00:00
Dan Gohman d231d78f3f Minor code simplification.
llvm-svn: 76496
2009-07-20 22:41:51 +00:00
Dan Gohman b07de44d5a Documentation for the new non-overflow and exact keywords.
llvm-svn: 76495
2009-07-20 22:41:19 +00:00
Fariborz Jahanian c0656de03d Improve message for bad destructor decl. Per Doug's comment.
llvm-svn: 76494
2009-07-20 22:41:12 +00:00
Fariborz Jahanian 127059c7ec Early ir-gen for constructor prologue. This is on going.
llvm-svn: 76493
2009-07-20 22:35:22 +00:00
Dan Gohman 1a7ab9473f The upper argument of ConstantRange is exclusive, not inclusive.
llvm-svn: 76492
2009-07-20 22:34:18 +00:00
Chris Lattner 2cd8f753c0 clean up some formatting, indent by 2 instead of 4.
llvm-svn: 76490
2009-07-20 22:23:48 +00:00
David Goodwin 711b9e809c CMP and TST define CPSR, not use it.
llvm-svn: 76489
2009-07-20 22:13:31 +00:00
Douglas Gregor d12df6b160 Reuse VarDecl::Init to store the default argument of a ParmVarDecl,
reducing the size of ParmVarDecl by one pointer. Also means that we'll 
properly (de-)serialize default arguments in C++ PCH files.

llvm-svn: 76487
2009-07-20 22:03:28 +00:00
David Greene 40c68ad3bb Re-apply 75490, 75806 and 76177 with fixes and tests. Efficiency comes
next.

llvm-svn: 76486
2009-07-20 22:02:59 +00:00
Evan Cheng a2b8c3f98f Forgot this test earlier.
llvm-svn: 76485
2009-07-20 21:46:42 +00:00
Ted Kremenek 2f730c8aed This test now passes with RegionStore.
llvm-svn: 76484
2009-07-20 21:44:10 +00:00
Ted Kremenek 77f7fc5e85 Enhance GRExprEngine::EvalBind to handle some implicit casts from nonlocs to
locs and vis versa.

llvm-svn: 76483
2009-07-20 21:43:20 +00:00
Ted Kremenek aadd463e0e Enhance SimpleSValuator to handle nonloc::LocAsInteger -> location casts.
llvm-svn: 76481
2009-07-20 21:39:27 +00:00
Bill Wendling d04f088345 Simplify the code in DarwinTargetAsmInfo::emitUsedDirectiveFor so that humans can understand it.
llvm-svn: 76480
2009-07-20 21:38:26 +00:00
Bill Wendling dde1a8eef4 Pass in the unfortunately named "LessPrivatePrefix" for the
"LinkerPrivatePrefix". It seems to have been used in only one place before I
started this "linker_private" business. I'm thinking that a rename is in
order...

llvm-svn: 76479
2009-07-20 21:30:28 +00:00
Mike Stump 17051250ad Remove an apparently unused forward class decl.
llvm-svn: 76476
2009-07-20 21:23:55 +00:00
Dan Gohman 0ebd69614c Assembly and Bitcode support for unsigned/signed overflow flags and
exact sdiv flags.

llvm-svn: 76475
2009-07-20 21:19:07 +00:00
Mike Stump 94e12450aa Remove an apparently unused header.
llvm-svn: 76473
2009-07-20 21:17:53 +00:00
Evan Cheng 57106d6dc0 Use TII->findCommutedOpIndices to find the commute operands (rather than guessing).
llvm-svn: 76472
2009-07-20 21:16:08 +00:00
Ted Kremenek bf04f98c1f Add XFAILED test.
llvm-svn: 76469
2009-07-20 21:00:55 +00:00
Ted Kremenek a1f9c7fb3b Add FIXME.
llvm-svn: 76466
2009-07-20 20:38:59 +00:00
Bill Wendling 2dd0bf8db0 Change the casting of linkage types into a map. This makes this much more robust
as it no longer depends upon two different enums being kept in sync with each
other.

llvm-svn: 76465
2009-07-20 20:34:46 +00:00
Dan Gohman e29ed8c857 Clarify that OverflowingBinaryOperator is not used for SDiv, even though
SDiv is a binary operation that can overflow.

llvm-svn: 76464
2009-07-20 20:32:43 +00:00
Kevin Enderby ee5513582d Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API as
the parsing of the .dump and .load should be done in the assembly parser and
not have any need for an MCStreamer API.  Changed the code for now so these
just produce an error saying these specific directives are not yet implemented
since they are likely no longer used and may never need to be implemented.

llvm-svn: 76462
2009-07-20 20:25:37 +00:00
Daniel Dunbar 2b11c7de4a Add MCAsmLexer interface.
- This provides the AsmLexer interface to the target specific assembly parsers.

llvm-svn: 76460
2009-07-20 20:01:54 +00:00
Evan Cheng 027d9f93ea Fix some sub-reg coalescing bugs where the coalescer wasn't updating the resulting interval's register class.
llvm-svn: 76458
2009-07-20 19:47:55 +00:00
Eli Friedman 2aa1a2a8f3 Remove FIXME that was already fixed.
llvm-svn: 76457
2009-07-20 19:45:16 +00:00
Bill Wendling 1bcfbff7af Rename Mangler linkage enums to something less gross.
llvm-svn: 76456
2009-07-20 19:41:27 +00:00
Devang Patel 8ff0f8d79b Refactor metadata parsing routines into separate functions.
llvm-svn: 76455
2009-07-20 19:00:08 +00:00
Douglas Gregor 959cc7aaaa When a field is variable-sized or is an array with a negative size,
don't replace the type of the field with 'int', from Enea Zaffanella!

llvm-svn: 76454
2009-07-20 18:55:14 +00:00
Daniel Dunbar 3c2a893ac7 Add MCAsmParser interface.
- This provides the AsmParser interface to the target specific assembly
   parsers.

llvm-svn: 76453
2009-07-20 18:55:04 +00:00
Ted Kremenek 619eece347 Update DataflowSolver to handle the case where a successor/predecessor block
could be NULL. This allows the solver to handle optimized CFGs where branches
can be determined during CFG-construction to be infeasible.

llvm-svn: 76452
2009-07-20 18:52:34 +00:00
Douglas Gregor 47d2859b3e Improve GCC compatibility by allowing static tentative definitions of
incomplete type (with a warning), from Enea Zaffanella!

llvm-svn: 76451
2009-07-20 18:46:59 +00:00
Ted Kremenek af9f362840 Enhance GRBranchNodeBuilderImpl (part of GRCoreEngine) to understand the case
where the true or false CFGBlock* for a branch could be NULL. This will handle
the case where we can determine during CFG construction that a branch is
infeasible.

llvm-svn: 76450
2009-07-20 18:44:36 +00:00
Douglas Gregor 289dfc5e34 Build FileCheck from with CMake
llvm-svn: 76449
2009-07-20 18:30:25 +00:00
Bill Wendling 002b16724e Put new enum at end of list to avoid changing ABI.
llvm-svn: 76447
2009-07-20 18:22:52 +00:00
Chris Lattner 6b1be83937 remove TargetAsmInfo::ExpandInlineAsm
llvm-svn: 76445
2009-07-20 17:59:32 +00:00
Steve Naroff accc488785 5 cleanups to ObjCObjectPointerType work:
- Remove Sema::CheckPointeeTypesForAssignment(), a temporary API I added to ease migration to ObjCObjectPointerType. Convert Sema::CheckAssignmentConstraints() to no longer depend on the temporary API.
- Sema::ConvertDeclSpecToType(): Replace a couple FIXME's with an important comment/example.
- Sema::GetTypeForDeclarator(): Get the protocol's from the interface, NOT the declspec (to support the following C typedef idiom: "typedef C<P> T; T *obj").
- Sema::ObjCQualifiedIdTypesAreCompatible(): Removed some dead code.
- ASTContext::getObjCEncodingForTypeImpl(): Some minor cleanups.

llvm-svn: 76443
2009-07-20 17:56:53 +00:00
Chris Lattner 470a8da807 use ExpandInlineAsm on TargetLowering instead of TargetAsmInfo.
llvm-svn: 76442
2009-07-20 17:52:52 +00:00
Chris Lattner 5849d22bd1 Copy ExpandInlineAsm to TargetLowering from TargetAsmInfo.
llvm-svn: 76441
2009-07-20 17:51:36 +00:00
Dan Gohman 8a601ed3eb Drop UDivOperator and introduce SDivOperator. Thanks to Chris
for noticing this.

llvm-svn: 76440
2009-07-20 17:51:10 +00:00