Ted Kremenek
97f75f8bda
When stripping element regions for invalidating region values, treat FieldRegions and ObjCIvarRegions as "base" regions in addition to VarRegions.
...
llvm-svn: 71488
2009-05-11 22:55:17 +00:00
Chris Lattner
e3c3f40404
pull a bunch of options out of clang-cc.cpp. This doesn't include
...
options that the driver swizzles.
llvm-svn: 71487
2009-05-11 22:45:37 +00:00
Anders Carlsson
076fc36419
Fix test case by always setting the type spec type, even for friend decls.
...
llvm-svn: 71486
2009-05-11 22:42:30 +00:00
Evan Cheng
78a4eb844b
Teach LSR to optimize more loop exit compares, i.e. change them to use postinc iv value. Previously LSR would only optimize those which are in the loop latch block. However, if LSR can prove it is safe (and profitable), it's now possible to change those not in the latch blocks to use postinc values.
...
Also, if the compare is the only use, LSR would place the iv increment instruction before the compare instead in the latch.
llvm-svn: 71485
2009-05-11 22:33:01 +00:00
Daniel Dunbar
e92449e4cc
Make cleanup-stack.c test stronger, and work in release-asserts mode.
...
llvm-svn: 71484
2009-05-11 22:30:29 +00:00
Anders Carlsson
f83c9faa2f
Add an ActOnFriendDecl and call it for friend class decls.
...
llvm-svn: 71482
2009-05-11 22:27:47 +00:00
Anders Carlsson
22e3784c79
For friend class decls, always use TK_Reference so we'll try to look up existing class decls first.
...
llvm-svn: 71481
2009-05-11 22:25:03 +00:00
Ted Kremenek
2ee73b86c0
EdgeBuilder: DeclStmts and BinaryOperators are not the enclosing location context when they are used as initialization code for loops.
...
llvm-svn: 71480
2009-05-11 22:19:32 +00:00
Mike Stump
b517f2c5e2
Add DW_AT_APPLE_isa and DW_AT_APPLE_block. Radar 6867696
...
llvm-svn: 71479
2009-05-11 21:58:01 +00:00
Dale Johannesen
b571463363
Fix PR4188. TailMerging can't tolerate inexact
...
sucessor info.
llvm-svn: 71478
2009-05-11 21:54:13 +00:00
Ted Kremenek
c0b879b4a7
EdgeBuilder::cleanUpLocation() should used the PathDiagnosticLocation constructor for a single point, not a range.
...
llvm-svn: 71477
2009-05-11 21:42:34 +00:00
Ted Kremenek
dc99ec4ebd
ccc-analyzer should only analyze C and Objective-C files.
...
llvm-svn: 71474
2009-05-11 21:08:34 +00:00
Evan Cheng
1988352fbd
Apply patch review feedback.
...
llvm-svn: 71472
2009-05-11 20:53:52 +00:00
Douglas Gregor
c9f9b86732
Implement the notions of the "current instantiation" and "unknown
...
specialization" within a C++ template, and permit name lookup into the
current instantiation. For example, given:
template<typename T, typename U>
struct X {
typedef T type;
X* x1; // current instantiation
X<T, U> *x2; // current instantiation
X<U, T> *x3; // not current instantiation
::X<type, U> *x4; // current instantiation
X<typename X<type, U>::type, U>: *x5; // current instantiation
};
llvm-svn: 71471
2009-05-11 19:58:34 +00:00
Ted Kremenek
c14b594b14
BugReporter (extensive diagnostics): Add EdgeBuilder::cleanUpLocation for canonicalization locations and use this in both popLocation and rawAddEdge.
...
llvm-svn: 71470
2009-05-11 19:50:47 +00:00
Ted Kremenek
d4dacb05cc
Add ParentMap:getParentIgnoreParens().
...
llvm-svn: 71469
2009-05-11 19:49:27 +00:00
Jay Foad
ec63c85505
Don't #include DerivedTypes.h from TargetData.h.
...
llvm-svn: 71468
2009-05-11 19:38:09 +00:00
Fariborz Jahanian
5d5ed2d800
Patch to allow Nonfragile ABI to use 32-bit style legacy
...
message dispage API for all but a few messages. This is
a runtime performance improvement and there is not meant
to be a functional change.
llvm-svn: 71467
2009-05-11 19:25:47 +00:00
Dan Gohman
81c3bf606d
Add a comment about the special meaning of VoidTy in this context.
...
llvm-svn: 71466
2009-05-11 19:11:53 +00:00
Ted Kremenek
3a4360c728
Update checker build.
...
llvm-svn: 71463
2009-05-11 19:02:11 +00:00
Daniel Dunbar
2ce6b3f91c
Darwin x86_32: Treat records with unnamed bit-fields as "empty".
...
llvm-svn: 71461
2009-05-11 18:58:49 +00:00
Dan Gohman
1dbb40f481
Fix two wording errors that Duncan spotted.
...
llvm-svn: 71459
2009-05-11 18:51:16 +00:00
Dan Gohman
5b3a56bfac
Make this grep line a little more specific so that it doesn't
...
accidentally match something unrelated.
llvm-svn: 71458
2009-05-11 18:49:56 +00:00
Evan Cheng
2b1b92189d
Unbreak non-debug build.
...
llvm-svn: 71457
2009-05-11 18:40:52 +00:00
Evan Cheng
c84bf99f58
Eliminate a compiler warning.
...
llvm-svn: 71456
2009-05-11 18:40:35 +00:00
Dan Gohman
9521cadff7
When scalarizing a vector BITCAST, check whether the operand has vector
...
type, rather than assume that it does. If the operand is not vector, it
shouldn't be run through ScalarizeVectorOp. This fixes one of the
testcases in PR3886.
llvm-svn: 71453
2009-05-11 18:30:42 +00:00
Ted Kremenek
d0e3ab2196
Fix regression reported in <rdar://problem/6866843>. The analyzer should extend the lifetime of an object stored to a container.
...
llvm-svn: 71452
2009-05-11 18:30:24 +00:00
Chris Lattner
9fea944f26
More improvements for GNU runtime objc EH, patch by David Chisnall!
...
llvm-svn: 71451
2009-05-11 18:16:28 +00:00
Douglas Gregor
ad1a1c3982
Move terminal-width computation over to llvm::sys. Update to LLVM
...
r71448 required. Fixes PR 4148 and PR 4183.
llvm-svn: 71450
2009-05-11 18:06:49 +00:00
Dan Gohman
b0ddbbe7c4
LLVM has unaligned loads and stores now.
...
llvm-svn: 71449
2009-05-11 18:06:05 +00:00
Douglas Gregor
15436617f4
Add terminal width detection to llvm::sys::Process. This is needed to
...
fix Clang PRs 4148 and 4183.
llvm-svn: 71448
2009-05-11 18:05:52 +00:00
Dan Gohman
7ee3a4371f
Upgrade this example to new-style syntax.
...
llvm-svn: 71447
2009-05-11 18:04:52 +00:00
Dan Gohman
faf75c8c9a
Convert a subtract into a negate and an add when it helps x86
...
address folding.
llvm-svn: 71446
2009-05-11 18:02:53 +00:00
Dan Gohman
83373ccdae
Add an svn:ignore.
...
llvm-svn: 71445
2009-05-11 17:57:43 +00:00
Ted Kremenek
7e7ed527dd
Add test case for <rdar://problem/6257780>.
...
llvm-svn: 71444
2009-05-11 17:45:06 +00:00
Chris Lattner
17a999efac
remove some done things: we have nocapture and SROA is smarter.
...
llvm-svn: 71443
2009-05-11 17:41:40 +00:00
Chris Lattner
183a7ec027
add a note
...
llvm-svn: 71442
2009-05-11 17:36:33 +00:00
Dale Johannesen
02cb2bf2e3
Reverse a loop that is counting up to a maximum to
...
count down to 0 instead, under very restricted
circumstances. Adjust 4 testcases in which this
optimization fires.
llvm-svn: 71439
2009-05-11 17:15:42 +00:00
John Mosby
dd437d3a26
Shrink wrapping in PEI:
...
- reduces _static_ callee saved register spills
and restores similar to Chow's original algorithm.
- iterative implementation with simple heuristic
limits to mitigate compile time impact.
- handles placing spills/restores for multi-entry,
multi-exit regions in the Machine CFG without
splitting edges.
- passes test-suite in LLCBETA mode.
Added contains() method to ADT/SparseBitVector.
llvm-svn: 71438
2009-05-11 17:04:19 +00:00
Douglas Gregor
bdccf64f4a
Add a test for canonicalization of template arguments
...
llvm-svn: 71436
2009-05-11 16:52:38 +00:00
Ted Kremenek
f16992866a
Update checker build.
...
llvm-svn: 71435
2009-05-11 16:31:31 +00:00
Ted Kremenek
dc7853cd98
Fix a bug found by Thomas Clement where 'return [[[NSString alloc] init] autorelease]' would emit a false 'too many overreleases' error.
...
llvm-svn: 71432
2009-05-11 15:26:06 +00:00
Zhongxing Xu
52091db11f
TypedRegion is a too general assumption. Usually we only want to invalidate
...
the VarRegion as a super region of an ElementRegion.
llvm-svn: 71431
2009-05-11 14:28:14 +00:00
Zhongxing Xu
c012656266
When retrieving an ElementRegion, if its super region is a StringRegion,
...
retrieve the string value.
llvm-svn: 71430
2009-05-11 14:23:36 +00:00
Zhongxing Xu
bf938d3160
Fix a bug that leads to infinite loop. Set the correct element type to
...
ElementRegion.
llvm-svn: 71428
2009-05-11 12:48:56 +00:00
Jay Foad
aa9c019461
Don't generate redundant casts of constant values when lowering calls to
...
memcpy, memmove and memset.
llvm-svn: 71427
2009-05-11 11:32:25 +00:00
Jay Foad
ada3549ae1
Change TargetData::getIntPtrType() to return an IntegerType instead of
...
just a Type.
llvm-svn: 71426
2009-05-11 11:13:47 +00:00
Sanjiv Gupta
ea5a8d8808
Fix more naming issues.
...
compiler libcalls start with .lib. now.
fixed section names.
llvm-svn: 71424
2009-05-11 08:52:04 +00:00
Sanjiv Gupta
9d175c15e7
Detect calls to compiler intrinsics and emit an extern declarations
...
only for those. These extern declarations to intrinsics are currently
being emitted at the bottom of generated .s file, which works fine with
gpasm(not sure about MPSAM though).
PIC16 linker generates errors for few cases (function-args/struct_args_5) if you do not include any
extern declarations (even if no intrinsics are being used), but that
needs to be fixed in the linker itself.
llvm-svn: 71423
2009-05-11 06:01:38 +00:00
Bill Wendling
aeec9d53ce
Needed #includes. Thanks Fritz van Bommel!
...
llvm-svn: 71413
2009-05-10 23:27:41 +00:00