Nate Begeman
39b59db245
Update comment, replace theoretically impossible check with an assert.
...
llvm-svn: 70391
2009-04-29 18:13:31 +00:00
Eli Friedman
ba94471e6e
PR4103: improve source location information for members of the current
...
class. This isn't perfect, but it's a big improvement over not having
any location information.
llvm-svn: 70390
2009-04-29 17:56:47 +00:00
Sebastian Redl
2b9cacbffa
Have the parser communicate the exception specification to the action.
...
llvm-svn: 70389
2009-04-29 17:30:04 +00:00
Ted Kremenek
99fe1695c7
Add version of getMethodSummary() that can be used to query the summary for the
...
method currently being analyzed.
llvm-svn: 70388
2009-04-29 17:17:48 +00:00
Ted Kremenek
387243067a
Rename getMethodSummary() -> getInstanceMethodSummary().
...
llvm-svn: 70387
2009-04-29 17:09:14 +00:00
Dale Johannesen
b0bc5c2f81
Fix recent regression in gcc.dg/pr26719.c (6835035).
...
llvm-svn: 70386
2009-04-29 16:38:47 +00:00
Steve Naroff
d98037132f
Integrate 3 months of ObjC rewriter fixes (from the Apple/objective-rewrite branch).
...
llvm-svn: 70385
2009-04-29 16:37:50 +00:00
Eli Friedman
debdc1d732
PR4103: Silence bogus unused expression warning.
...
llvm-svn: 70384
2009-04-29 16:35:53 +00:00
Ted Kremenek
bcf597d2e5
Add test case for transfer function logic for OSCompareAndSwap32Barrier.
...
llvm-svn: 70383
2009-04-29 16:03:59 +00:00
Ted Kremenek
3941d22a98
Add corner case logic to BasicStoreManager and GRSimpleVals::EvalBinOp to enable
...
reasoning about OSCompareAndSwap32Barrier/OSCompareAndSwap64Barrier. Essentially
the address of reference to a region (pointer-to-pointer) can be casted to
(int32_t*), and we need to handle the logic to convert the involved locations
back and forth from nonloc::LocAsInteger, nonloc::ConcreteInt, to Loc and
loc::ConcreteInt respectively. This adds some potentially suspect logic to
BasicStoreManager that allows the analyzer to reason about abuses of the C type
system. This should probably be refined, be ported over to RegionStoreManager,
and extended with "path-sensitive type checking" to flag bugs in clearly
incoherent code.
llvm-svn: 70382
2009-04-29 16:03:27 +00:00
Ted Kremenek
e034868a36
MemRegion pretty-printing: Convert DeclName to a string to print out the actual
...
name of the tracked function.
llvm-svn: 70381
2009-04-29 15:37:24 +00:00
Zhongxing Xu
f985648e83
SymbolicRegions may also be live roots.
...
llvm-svn: 70380
2009-04-29 09:24:35 +00:00
Sanjiv Gupta
6f80ca34d4
Add directive to declare external globals.
...
llvm-svn: 70379
2009-04-29 08:23:18 +00:00
Evan Cheng
9cce299cc8
spillPhysRegAroundRegDefsUses() may have invalidated iterators stored in fixed_ IntervalPtrs. Reset them.
...
llvm-svn: 70378
2009-04-29 07:16:34 +00:00
Chris Lattner
e6d2e627da
testcase for PR4082
...
llvm-svn: 70375
2009-04-29 06:46:27 +00:00
Zhongxing Xu
12233fd97e
Added comments to test case.
...
llvm-svn: 70374
2009-04-29 05:59:48 +00:00
Chris Lattner
11a827471e
fix PR4021, array and functions decay in the receiver position of an objc message send.
...
llvm-svn: 70373
2009-04-29 05:48:32 +00:00
Nate Begeman
5f829d896d
Implement review feedback for vector shuffle work.
...
llvm-svn: 70372
2009-04-29 05:20:52 +00:00
Chris Lattner
0f94c5a741
Fix PR4092 by improving error recovery in two ways:
...
1. In a struct field redefinition, don't mark the struct erroneous. The
field is erroneous, but the struct is otherwise well formed.
2. Don't emit diagnostics about functions that are known to be broken already.
Either fix is sufficient to silence the second diagnostic in the example,
but the combination is better :)
llvm-svn: 70371
2009-04-29 05:12:23 +00:00
Ted Kremenek
0b50fb1de1
retain/release checker: Refactor getMethodSummary() to not depend on ObjCMessageExpr.
...
llvm-svn: 70369
2009-04-29 05:04:30 +00:00
Chris Lattner
cc5d1c2e4e
implement -Wformat-security properly, which is enabled by default.
...
This enables one specific class of non-literal format warnings.
llvm-svn: 70368
2009-04-29 04:59:47 +00:00
Chris Lattner
e009a881ea
code simplification, no functionality change.
...
llvm-svn: 70367
2009-04-29 04:49:34 +00:00
Sanjiv Gupta
ccd30945f9
Add a public method called getAddressSpace() to the GlobalAddressSDNode.
...
llvm-svn: 70366
2009-04-29 04:43:24 +00:00
Chris Lattner
e525dc3c66
add a bunch of individual warnings to -Wformat (which is
...
on by default).
llvm-svn: 70365
2009-04-29 04:41:16 +00:00
Chris Lattner
fd4a4d1f8a
Wire up -Wformat=2 and -Wformat-extra-args
...
llvm-svn: 70364
2009-04-29 04:31:58 +00:00
Chris Lattner
83a3235a3e
-Wformat should depend on format-extra-args so that -Wformat implies
...
the extra argument warnings, and -Wformat -Wno-format-extra-args
turns on -Wformat but not the extra-args warnings.
llvm-svn: 70363
2009-04-29 04:16:52 +00:00
Chris Lattner
941153afcd
tweak warning options to be more like gcc:
...
1. All all variants of -Wformat*, make them imply -Wformat. GCC warns
if you use -Wformatfoo without -Wformat. We just make one imply the
other.
2. Make -Wformat-nonliteral default to off, like gcc. It is an incredible
nuisance.
3. Accept but currently ignore -Wformat-extra-args.
llvm-svn: 70362
2009-04-29 04:15:07 +00:00
Chris Lattner
e3fa5aa91c
minor code cleanup
...
llvm-svn: 70361
2009-04-29 04:12:34 +00:00
Chris Lattner
7d10386113
Disable the load-shrinking optimization from looking at
...
anything larger than 64-bits, avoiding a crash. This should
really be fixed to use APInts, though type legalization happens
to help us out and we get good code on the attached testcase at
least.
This fixes rdar://6836460
llvm-svn: 70360
2009-04-29 03:45:07 +00:00
Zhongxing Xu
892a5f78eb
Update test case.
...
llvm-svn: 70359
2009-04-29 02:37:26 +00:00
Zhongxing Xu
3ee3044bd7
As discussed with Ted offline, re-apply r70293.
...
llvm-svn: 70358
2009-04-29 02:30:09 +00:00
Dan Gohman
95c5b0e522
Update comments to reflect the current code.
...
llvm-svn: 70357
2009-04-29 01:54:20 +00:00
Zhongxing Xu
c14f097f58
XFAIL the test case.
...
llvm-svn: 70356
2009-04-29 01:50:12 +00:00
Daniel Dunbar
c1b1658751
Add incredibly bare bones docs/tools.
...
- Mirroring LLVM's docs/CommandGuide, a place to put .pod files which
are used to generate man/html/etc documentation for tools provided
as part of clang.
llvm-svn: 70355
2009-04-29 01:00:32 +00:00
Dan Gohman
09ef9382da
Add some more doxygen comments to SCEVAddRec.
...
llvm-svn: 70354
2009-04-29 00:59:03 +00:00
Mike Stump
d00bc1a275
Implement sema checking for noreturn.
...
llvm-svn: 70353
2009-04-29 00:43:21 +00:00
Ted Kremenek
7686ffaf07
retain/release checker: Refactor the guts of getClassMethodSummary to not depend
...
on ObjCMessageExpr. This will enable us to use it elsewhere. This should not
change any functionality.
llvm-svn: 70352
2009-04-29 00:42:39 +00:00
Evan Cheng
cfb4cae201
Determine allocation 'preference' with right register class. I haven't seen this changing codegen so no test case.
...
llvm-svn: 70351
2009-04-29 00:42:27 +00:00
Ted Kremenek
ebc6d91f4e
Add regression test case provided by <rdar://problem/6833332>.
...
llvm-svn: 70350
2009-04-29 00:41:31 +00:00
Bill Wendling
9f795134f3
The second part of the change from -fast to -O#. This changes the JIT to accept
...
an optimization level instead of a simple boolean telling it to generate code
"fast" or the other type of "fast".
llvm-svn: 70347
2009-04-29 00:32:19 +00:00
Bill Wendling
084669a1c9
Second attempt:
...
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.
llvm-svn: 70343
2009-04-29 00:15:41 +00:00
Bill Wendling
d4eb842404
Correct comment.
...
llvm-svn: 70340
2009-04-29 00:09:22 +00:00
Douglas Gregor
272842aa1c
Enable PCH by default
...
llvm-svn: 70339
2009-04-28 22:44:02 +00:00
Douglas Gregor
c1547eb338
Force driver's PTH test to use PTH
...
llvm-svn: 70338
2009-04-28 22:43:20 +00:00
Chris Lattner
af6094eafc
In -fdiagnostics-print-source-range-info mode, print a space before the
...
lines that clang extracts from the source code so that machine parsing can
easily ignore them.
llvm-svn: 70337
2009-04-28 22:33:16 +00:00
Ted Kremenek
869292d5b6
Implement ownership attribute 'objc_ownership_make_collectable'. This allows one
...
to add 'CFMakeCollectable' semantics to a method.
llvm-svn: 70336
2009-04-28 22:32:26 +00:00
Chris Lattner
865efd72b3
add support for -Wendif-labels, PR4101
...
llvm-svn: 70335
2009-04-28 22:19:16 +00:00
Dan Gohman
ed7f3a0eec
As with r70333, give the primary induction variable a use so
...
that it can't be trivially eliminated.
llvm-svn: 70334
2009-04-28 22:05:13 +00:00
Dan Gohman
2625f2cb80
Make this testcase slightly less trivial, so that it doesn't fail
...
if indvars happens to optimize away the unused primary induction
variable.
llvm-svn: 70333
2009-04-28 22:03:26 +00:00
Douglas Gregor
ce1a9c5a6b
Make all PCH-incompatibility warnings into errors, and abort
...
compilation if the user requested a PCH file but no such PCH file
exists.
llvm-svn: 70332
2009-04-28 22:01:16 +00:00