Commit Graph

57037 Commits

Author SHA1 Message Date
Ted Kremenek 89cc8ea794 Add partial CFG support for Objective-C exception-handling blocks. We basically
assume that @catch blocks are never executed.

llvm-svn: 68072
2009-03-30 22:29:21 +00:00
Devang Patel 6e68bd007a Loop Index Split can eliminate a loop if it can determin if loop body is executed only once. There was a bug in determining IV based value of the iteration for which the loop body is executed. Fix it.
llvm-svn: 68071
2009-03-30 22:24:10 +00:00
Ted Kremenek 7857bd2743 Re-apply 68028. The code had drifted enough that the tests would fail without
it.  Will discuss offline whether symbolic regions should by typed or typeless.

llvm-svn: 68070
2009-03-30 22:20:54 +00:00
Daniel Dunbar cbe5b2f800 Comment fix.
llvm-svn: 68069
2009-03-30 22:11:38 +00:00
Ted Kremenek 5715393da2 Revert 68028.
llvm-svn: 68068
2009-03-30 21:56:17 +00:00
Douglas Gregor d33a33cedb Make PointerUnion3::get work properly
llvm-svn: 68067
2009-03-30 21:44:13 +00:00
Evan Cheng a84a318873 When optimzing a mul by immediate into two, the resulting mul's should get a x86 specific node to avoid dag combiner from hacking on them further.
llvm-svn: 68066
2009-03-30 21:36:47 +00:00
Evan Cheng 09f5be8146 Turn a 2-address instruction into a 3-address one when it's profitable even if the two-address operand is killed.
e.g.
%reg1024<def> = MOV r1
%reg1025<def> = ADD %reg1024, %reg1026
r0            = MOV %reg1025

If it's not possible / profitable to commute ADD, then turning ADD into a LEA saves a copy.

llvm-svn: 68065
2009-03-30 21:34:07 +00:00
Fariborz Jahanian 6683b8a272 Added new info to property impl. AST node to support
objc2's ivar synthesis.

llvm-svn: 68064
2009-03-30 21:33:50 +00:00
Ted Kremenek 3cd88e5d99 Remove dead code.
llvm-svn: 68063
2009-03-30 21:27:41 +00:00
Eli Friedman 1a4029c5df Implement -Wno-pointer-sign.
llvm-svn: 68062
2009-03-30 21:19:48 +00:00
Daniel Dunbar e24297c6b5 Driver: Sketch FreeBSD tool chain.
- Patch by Ed Schouten!

llvm-svn: 68061
2009-03-30 21:06:03 +00:00
Chris Lattner 32f4959ee4 update comment.
llvm-svn: 68060
2009-03-30 20:44:04 +00:00
Bill Wendling 2f52e6488f Balance out quote in debug output.
llvm-svn: 68059
2009-03-30 20:32:22 +00:00
Fariborz Jahanian ed308a94da Code gen does not yet supports __asm__ on a variable
declaration. Reject it.

llvm-svn: 68058
2009-03-30 20:32:06 +00:00
Bill Wendling 5f0d97c571 Fix grammar-o in comment.
llvm-svn: 68057
2009-03-30 20:30:02 +00:00
Chris Lattner 8aa8f5bf6a add a PointerUnion3 class and generalize PointerUnion to work with
anything pointer-like, which may or may not actually be a pointer.

llvm-svn: 68056
2009-03-30 20:29:27 +00:00
Chris Lattner 73acaa8862 fix the PointerLikeTypeTraits specialization for PointerIntPair to
allow the traits to be specified as well.

llvm-svn: 68055
2009-03-30 20:28:50 +00:00
Dan Gohman ff62c62b7c Constify arguments in isSuccessor and isLayoutSuccessor.
llvm-svn: 68054
2009-03-30 20:06:29 +00:00
Dan Gohman d3899dc52f Update the polygen grammer to reflect that zext and sext are no longer
valid argument attributes (zeroext and signext are).

llvm-svn: 68053
2009-03-30 19:59:02 +00:00
Ted Kremenek ac508988a5 Simplify more code by using SVal::getAsSymbol().
llvm-svn: 68052
2009-03-30 19:53:37 +00:00
John Mosby 169927e7ef docs/TestingGuide.html: correction to prev. text (objdir!=srcdir required for running test-suite), removed refs to llvm-test
llvm-svn: 68051
2009-03-30 18:56:53 +00:00
Bob Wilson 57178e8822 Fix comment to match function name.
llvm-svn: 68050
2009-03-30 18:49:37 +00:00
Ted Kremenek 248fd2bc24 Simplify more code by using SVal::getAsSymbol() instead of
loc::SymbolVal/nonloc::SymbolVal probing.

llvm-svn: 68049
2009-03-30 18:45:36 +00:00
Ted Kremenek a53eb7fa80 Convert use of loc::SymbolVal and nonloc::SymbolVal to V.getAsSymbol(). This
also makes this code more correct as it transparently handles SVals that wrapped
TypedViewRegions(SymbolicRegions).

llvm-svn: 68048
2009-03-30 18:39:15 +00:00
Devang Patel 7a78f3abd3 getEntryFor() may invalidate DenseMap iterator.
Walking an invalidated iterator is not a good idea.

llvm-svn: 68047
2009-03-30 18:34:47 +00:00
Ted Kremenek cf2d8f0404 Add another uninitialized values test case illustrating that the CFG correctly
handles declarations with multiple variables.

llvm-svn: 68046
2009-03-30 18:29:27 +00:00
Douglas Gregor b9a1d3fd44 Remove a trivial FIXME
llvm-svn: 68045
2009-03-30 18:22:51 +00:00
Daniel Dunbar 13357aef14 Driver: Unbreak ArgList::hasFlag.
- <rdar://problem/6726511> [driver] clang does not have -msoft-float
   hooked up.

llvm-svn: 68044
2009-03-30 18:13:26 +00:00
Fariborz Jahanian 3b636c15e0 Use CodeGenModule API for ObjC runtime function references.
Patch by David Chisnall.

llvm-svn: 68043
2009-03-30 18:02:14 +00:00
Daniel Dunbar 759b1c9b80 Fix -MD with no -MT when -o is specified (and fix test case).
llvm-svn: 68042
2009-03-30 17:59:58 +00:00
Ted Kremenek 4967c8979e Add version of GRExprEngine::AddCheck that registered a GRSimpleAPICheck that
will be called for every expression in a basic block.

llvm-svn: 68041
2009-03-30 17:53:05 +00:00
Mike Stump 9d98cc6b93 Add ccc back for now.
llvm-svn: 68038
2009-03-30 17:43:04 +00:00
Anton Korobeynikov 1a7432742c Clearify local/global relocations wording
llvm-svn: 68037
2009-03-30 17:38:00 +00:00
Anton Korobeynikov 56709fdffe Fix thinko: put stuff with both global and local relocations into data.rel{.ro}, not .local
llvm-svn: 68036
2009-03-30 17:37:43 +00:00
Anton Korobeynikov 71278a5be8 Tweak test for recent relro stuff
llvm-svn: 68035
2009-03-30 15:28:40 +00:00
Anton Korobeynikov 255a3cbfb4 Fix infinite looping
llvm-svn: 68034
2009-03-30 15:28:21 +00:00
Anton Korobeynikov d5e8e93a92 Properly propagate Kind.
llvm-svn: 68033
2009-03-30 15:28:00 +00:00
Anton Korobeynikov 7c5f3c40ca Do not propagate ELF-specific stuff (data.rel) into other targets. This simplifies code and also ensures correctness.
llvm-svn: 68032
2009-03-30 15:27:43 +00:00
Anton Korobeynikov c247fd396c Add data.rel stuff
llvm-svn: 68031
2009-03-30 15:27:03 +00:00
Daniel Dunbar 1cd3f8c54f Some very rough Driver documentation.
llvm-svn: 68030
2009-03-30 06:50:01 +00:00
Daniel Dunbar a88692df30 Missed test case update (part of previous commit)
llvm-svn: 68029
2009-03-30 06:49:40 +00:00
Zhongxing Xu 5415b207e3 Make SymbolicRegion untyped.
Layer the type information with a TypedViewRegion on top of the SymbolicRegion.

llvm-svn: 68028
2009-03-30 06:48:56 +00:00
Daniel Dunbar d67a32252c Driver: Support -M and -MM.
- Not particularly elegant, but my hand is forced by gcc.

Also, tweak -ccc-print-bindings output.

llvm-svn: 68027
2009-03-30 06:36:42 +00:00
Chris Lattner a01a563813 fix some validation problems.
llvm-svn: 68026
2009-03-30 06:34:59 +00:00
Evan Cheng 471ed6e460 Forgot this test.
llvm-svn: 68025
2009-03-30 06:17:34 +00:00
Zhongxing Xu a865b79f87 Implement a FIXME.
llvm-svn: 68024
2009-03-30 05:55:46 +00:00
John Mosby b92a76ff4f Clarify section on setting up and running test-suite
llvm-svn: 68023
2009-03-30 04:37:51 +00:00
Daniel Dunbar 52e96cc932 Improve dependency file support.
- Rip out various bits of logic from clang-cc's dependency file gen,
   force driver to provide instead.

 - -MD output now goes to proper location
<rdar://problem/6723948> clang -MD puts dep file in /tmp with wrong name

 - -M and -MM still don't work correctly.

llvm-svn: 68022
2009-03-30 00:34:04 +00:00
Sebastian Redl f69a94aace Hopefully fix the rval regressions. Thanks to Chris for pointing out that valgrind complains.
llvm-svn: 68021
2009-03-29 22:46:24 +00:00