Commit Graph

56015 Commits

Author SHA1 Message Date
Duncan Sands e2881053c9 Remove the one-definition-rule version of extern_weak
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.

llvm-svn: 66650
2009-03-11 08:08:06 +00:00
Zhongxing Xu 507202ecb7 Fix crash when LHS of pointer arithmetic is not ElementRegion.
llvm-svn: 66649
2009-03-11 07:43:49 +00:00
Nate Begeman 664cf27602 Allow cross-process JIT to handle MachineRelocations of the ExternalSymbol
variety.  For example, an i64 div might turn into a call to __divdi3 during
legalization.

llvm-svn: 66646
2009-03-11 07:03:43 +00:00
Mon P Wang ce6a26cb1a Fixed a v8i16 shuffle case that should generate a pshufb instead of a pshuflw/hw.
llvm-svn: 66645
2009-03-11 06:35:11 +00:00
Ted Kremenek 4bb994a319 Update checker build.
llvm-svn: 66643
2009-03-11 06:11:39 +00:00
Chris Lattner 248ad00afd formatting change, reduce indentation. No functionality change.
llvm-svn: 66642
2009-03-11 05:48:52 +00:00
Chris Lattner 43d6377f89 reapply my previous patch (r66358) with a tweak to set the
alignment of the generated constant pool entry to the
desired alignment of a type.  If we don't do this, we end up
trying to do movsd from 4-byte alignment memory.  This fixes
450.soplex and 456.hmmer.

llvm-svn: 66641
2009-03-11 05:08:08 +00:00
Ted Kremenek 90e213f025 RegionStore::getLValueElement: Handle the case where the signedness of the
offset may be different that the base. Ultimately we need a better solution for
these issues, but this point-by-point fixes are gradually outlining the scope of
the problem.

llvm-svn: 66638
2009-03-11 04:04:20 +00:00
Ted Kremenek 154c963317 Add utility method to BasicValueFactory to convert an APSInt to one of a different sign.
llvm-svn: 66637
2009-03-11 04:03:24 +00:00
Ted Kremenek 32c41ec66e GRExprEngine::ProcessBranch: Don't register a "pretty-stack printer" when the Condition is null.
llvm-svn: 66636
2009-03-11 03:54:24 +00:00
Chris Lattner 6e76e592a3 Improve the "bad receiver" warning for ObjC message sends to be less confusing.
llvm-svn: 66635
2009-03-11 03:47:47 +00:00
Ted Kremenek 0fa538528e Fix PR 3780: In one code path in BasicValueFactory::getValue() we would not
return an unsigned integer for a null pointer value.

llvm-svn: 66630
2009-03-11 02:52:39 +00:00
Ted Kremenek 91076caabf GRExprEngine: Add pretty-stack trace printing for crashes and assertion failures.
llvm-svn: 66629
2009-03-11 02:41:36 +00:00
Ted Kremenek 3f5a85ad06 SimpleConstraintManager doesn't reason about bitwise-constraints on symbolic
values. Indicating this in 'canReasonAbout' allows GRExprEngine to recover
path-sensitivity in some cases.

llvm-svn: 66628
2009-03-11 02:29:48 +00:00
Ted Kremenek 44c12ef615 GRExprEngine: For places we might conjure up a new symbol to recover
path-sensitivity, beyond checking to see if the value is "unknown" also check if
the ConstraintManager can handle the SVal. This allows us to recover some
path-sensitivity by actually discarding some information.

llvm-svn: 66627
2009-03-11 02:24:48 +00:00
Ted Kremenek 1f10b9664b Add accessor method.
llvm-svn: 66626
2009-03-11 02:23:48 +00:00
Ted Kremenek a1c56b1844 Add accessor method to return a GRStateManager's internal ConstraintManager.
llvm-svn: 66625
2009-03-11 02:23:27 +00:00
Ted Kremenek 4e34f958f4 Added method "canReasonAbout" to ConstraintManager. This method returns true if
a ConstraintManager can usefully reason about the given SVal.

llvm-svn: 66624
2009-03-11 02:22:59 +00:00
Ted Kremenek 39df18f6da Display the exploded graph before calling BugReporter.FlushReports(). The latter
deletes all registered BugTypes from BugReporter, and thus we need to display
the graph first.

llvm-svn: 66623
2009-03-11 01:42:29 +00:00
Ted Kremenek 95175052b2 Use the BugReports in BugReporter to determine the root nodes for "trim-egraph".
llvm-svn: 66622
2009-03-11 01:41:22 +00:00
Ted Kremenek b9ee1f74fd Add some iterators to BugReporter.
llvm-svn: 66621
2009-03-11 01:40:35 +00:00
Anders Carlsson 2533d2b85b Use the right indentation
llvm-svn: 66620
2009-03-11 01:37:02 +00:00
Chris Lattner 1ac3c9292f Clear all the linetable state in clear(), fixing problems
with "clang t.i s.i" where the .i files contain line markers.
rdar://6667812

llvm-svn: 66619
2009-03-11 01:09:52 +00:00
Chris Lattner 14311925f2 fix PR3258 by rejecting invalid numeric operands.
llvm-svn: 66618
2009-03-11 00:23:13 +00:00
Ted Kremenek de75e92fbf Remove space-break that interrupts one string literal. This is fine in C, but not in TableGen files.
llvm-svn: 66616
2009-03-11 00:15:49 +00:00
Fariborz Jahanian 3b0f886c3f More Next objc2's gc ivar layout bitmap work.
Work in progress.

llvm-svn: 66615
2009-03-11 00:07:04 +00:00
Chris Lattner 3fa25c683f checking for symbolic operands as well as % at end of string.
llvm-svn: 66614
2009-03-11 00:06:36 +00:00
Daniel Dunbar 349e895bda Fix typo.
llvm-svn: 66613
2009-03-11 00:06:15 +00:00
Bill Wendling 1df2c1b583 Put the assignment back at the top of this method.
llvm-svn: 66611
2009-03-11 00:03:50 +00:00
Evan Cheng 64b3f9d7a7 Two coalescer fixes in one.
1. Use the same value# to represent unknown values being merged into sub-registers.
2. When coalescer commute an instruction and the destination is a physical register, update its sub-registers by merging in the extended ranges.

llvm-svn: 66610
2009-03-11 00:03:21 +00:00
Bill Wendling 9621b099af Make ivars private. Other cleanup. No functionality change.
llvm-svn: 66607
2009-03-10 23:57:09 +00:00
Chris Lattner 0cdaa2e525 position the caret properly on asm string diagnostics, e.g.:
Sema/asm.c:64:9: error: invalid % escape in inline assembly string
  asm("%!" : );   // expected-error {{invalid % escape in inline assembly string}}
      ~~^~

llvm-svn: 66606
2009-03-10 23:57:07 +00:00
Chris Lattner a41b847401 reject invalid escape characters in extended-asm strings with a nice diagnostic.
llvm-svn: 66605
2009-03-10 23:51:40 +00:00
Daniel Dunbar d580dc0a4b Driver: Add host info (add new files).
llvm-svn: 66604
2009-03-10 23:50:58 +00:00
Daniel Dunbar 4cb4e1d72b Driver: Add host info (add new files).
llvm-svn: 66603
2009-03-10 23:50:49 +00:00
Mon P Wang 1073de0d73 Changed Allocate to use size_t instead of unsigned.
llvm-svn: 66602
2009-03-10 23:48:49 +00:00
Douglas Gregor 0760fa1618 Add type checking for tentative definitions at the end of the
translation unit.

Thread the various declarations of variables via
VarDecl::getPreviousDeclaration.

llvm-svn: 66601
2009-03-10 23:43:53 +00:00
Daniel Dunbar 4dff6a4973 Driver: Add host info.
- Replace assorted -ccc-host-* options by -ccc-host-triple which is
   more sane.

llvm-svn: 66600
2009-03-10 23:41:59 +00:00
Chris Lattner d8c7ba278e add plumbing to report diagnostics back through sema for malformed asmstrings.
llvm-svn: 66598
2009-03-10 23:41:04 +00:00
Chris Lattner 35b5836147 move the asm string analysis code out of codegen into common
code where Sema can get to it.  No functionality change.

llvm-svn: 66596
2009-03-10 23:21:44 +00:00
Dan Gohman dab7b9355f Add an explicit keyword.
llvm-svn: 66595
2009-03-10 23:10:46 +00:00
Mon P Wang cc51b03a4e Fixed rounding up EltSize
llvm-svn: 66594
2009-03-10 23:04:40 +00:00
Gabor Greif 19393b0064 Give Op<N>() AppleScript-like semantics, i.e. for negative N it indexes relative to op_end.
This is a preliminary to changes to come. No intended functionality change.

llvm-svn: 66593
2009-03-10 23:02:13 +00:00
Bill Wendling 86c2656416 Just make the Dwarf timer group static inside of the getter function. No need to alloc/dealloc.
llvm-svn: 66591
2009-03-10 22:58:53 +00:00
Bill Wendling b74d650727 Don't put static functions in anonymous namespace.
llvm-svn: 66589
2009-03-10 22:36:31 +00:00
Dale Johannesen 900aaa3d1e Don't consider debug intrinsics when checking
whether a callee to be inlined is a leaf.

llvm-svn: 66588
2009-03-10 22:20:02 +00:00
Bill Wendling ff1faf7033 These should *stop* the timer, not start it again.
llvm-svn: 66586
2009-03-10 22:02:13 +00:00
Bill Wendling 6418590596 - Fix misspelled method name.
- Remove unused method.

llvm-svn: 66585
2009-03-10 21:59:25 +00:00
Douglas Gregor 8145742349 Partial fix for PR3310, concerning type-checking for tentative
definitions. We were rejecting tentative definitions of incomplete
(which is bad), and now we don't.

This fix is partial because we don't do the end-of-translation-unit
initialization for tentative definitions that don't ever have any
initializers specified.

llvm-svn: 66584
2009-03-10 21:58:27 +00:00
Bill Wendling a5c8e50ea6 - Create GetOrCreateSourceID from getOrCreateSourceID. GetOrCreateSourceID is
the untimed version of getOrCreateSourceID. getOrCreateSourceID calls
  GetOrCreateSourceID, of course.

- Move some methods into the "private" section. Constify at least one method.

- General clean-ups.

llvm-svn: 66582
2009-03-10 21:47:45 +00:00