Ted Kremenek
2cf508c880
Update Xcode project with missing files.
...
llvm-svn: 49550
2008-04-11 18:30:21 +00:00
Chris Lattner
ad281e8e19
Reenable JIT symbol table.
...
llvm-svn: 49548
2008-04-11 18:11:56 +00:00
Sam Bishop
ef8b94ae84
Invoke destructors in Decl::Destroy().
...
llvm-svn: 49547
2008-04-11 18:04:39 +00:00
Evan Cheng
305d268ac3
Do not add empty live intervals to handled_. They should never be undone for backtracking.
...
llvm-svn: 49544
2008-04-11 17:55:47 +00:00
Evan Cheng
33281864c1
If a PHI node has a single implicit_def source, replace it with an implicit_def instead of a copy.
...
llvm-svn: 49543
2008-04-11 17:54:45 +00:00
Evan Cheng
499ffa9055
Use of implicit_def is not part of live interval. Create empty intervals for the uses when the live interval is being spilled.
...
llvm-svn: 49542
2008-04-11 17:53:36 +00:00
Devang Patel
bde1bbed16
Change llvm tools install location.
...
llvm-svn: 49540
2008-04-11 17:45:39 +00:00
Fariborz Jahanian
963767476c
Minor changes per Chris L's review.
...
llvm-svn: 49539
2008-04-11 16:55:42 +00:00
Chris Lattner
0b596c3f5a
improvements for IntrusiveRefCntPtr, patch by Mikhail Glushenkov
...
llvm-svn: 49538
2008-04-11 16:42:06 +00:00
Chris Lattner
9b7206eb4f
don't read off the front of the buffer. Thanks to Sam for pointing this out.
...
llvm-svn: 49535
2008-04-11 16:20:41 +00:00
Sam Bishop
703ae9624b
Stub out and start using a Decl::Destroy() method.
...
llvm-svn: 49532
2008-04-11 15:01:25 +00:00
Sam Bishop
4c088b766d
Use the ASTContext allocator when creating deserialized Decl objects.
...
llvm-svn: 49530
2008-04-11 14:49:10 +00:00
Duncan Sands
21285fc04c
The Ada front-end from the LLVM 2.2 release
...
cannot be build with GNAT GPL 2006, only with
GNAT GPL 2005.
llvm-svn: 49529
2008-04-11 13:24:43 +00:00
Gabor Greif
c422383e08
detabify
...
llvm-svn: 49524
2008-04-11 09:34:57 +00:00
Chris Lattner
9950c80c83
two new files for previous patch, by Argiris Kirtzidis
...
llvm-svn: 49521
2008-04-11 07:06:57 +00:00
Chris Lattner
c5c95b52a8
Switch sema to maintaining its own scope chain information for variable
...
shadowing, instead of threading it through the AST. This patch contributed
by Argiris Kirtzidis!
llvm-svn: 49520
2008-04-11 07:00:53 +00:00
Chris Lattner
47fb9efa5d
Fix rdar://5843510 don't assert and die when an invalid output
...
file is specified, print a happy little error message.
llvm-svn: 49518
2008-04-11 06:14:11 +00:00
Owen Anderson
90bde997b3
Add testcase for PR2213.
...
llvm-svn: 49517
2008-04-11 05:13:32 +00:00
Owen Anderson
1e73f29a7f
Fix PR2213 by simultaneously making GVN more aggressive with the return values
...
of calls and less aggressive with non-readnone calls.
llvm-svn: 49516
2008-04-11 05:11:49 +00:00
Evan Cheng
b53d560150
New test.
...
llvm-svn: 49514
2008-04-10 23:49:09 +00:00
Evan Cheng
c6864b6652
Remove implicit_def instructions that become dead as result of coalescing.
...
llvm-svn: 49513
2008-04-10 23:48:35 +00:00
Evan Cheng
2cb98eb4bb
Allow registers defined by implicit_def to be clobbered.
...
llvm-svn: 49512
2008-04-10 23:47:53 +00:00
Ted Kremenek
4b77209694
Fixed some logic errors in the CF ref count checker; we now can detect simple
...
use-after-release errors. Added test case.
llvm-svn: 49509
2008-04-10 23:44:06 +00:00
Fariborz Jahanian
de615836f3
Patch for:
...
1) objc ivar processing is split out of ActOnField into its own ActOnIvar method.
2) the new objc ivar action takes visibility info directly, eliminating
AllVisibilities in ParseObjCClassInstanceVariables.
llvm-svn: 49506
2008-04-10 23:32:45 +00:00
Ted Kremenek
3c03d52d6e
Simplify CF ref. count checker state machine.
...
llvm-svn: 49505
2008-04-10 23:09:18 +00:00
Dan Gohman
9b5ffc8408
Fix a typo in a comment.
...
llvm-svn: 49504
2008-04-10 23:02:38 +00:00
Ted Kremenek
22bd628056
Fix some bonehead bugs in summary generation in CFRefCount.
...
llvm-svn: 49503
2008-04-10 22:58:08 +00:00
Dan Gohman
7603a182cc
Fix a typo in a comment.
...
llvm-svn: 49502
2008-04-10 22:27:06 +00:00
Ted Kremenek
969bb805f9
Used --checker-simple.
...
llvm-svn: 49501
2008-04-10 22:17:23 +00:00
Ted Kremenek
4a78c3ae11
Refactored all logic to run the GRSimpleVals and CFRef checker into a common
...
code path in the clang driver.
Renamed options --grsimple to -checker-simple and -check-cfref to -checker-cfref.
llvm-svn: 49500
2008-04-10 22:16:52 +00:00
Owen Anderson
53336d8055
Fix for PR2190. Memdep's non-local caching was checking dirtied blocks in the
...
wrong order.
llvm-svn: 49499
2008-04-10 22:13:32 +00:00
Dan Gohman
f4bc782495
Make several symbols static.
...
llvm-svn: 49496
2008-04-10 21:11:47 +00:00
Dan Gohman
99b7b3f03b
Teach InstCombine's ComputeMaskedBits to handle pointer expressions
...
in addition to integer expressions. Rewrite GetOrEnforceKnownAlignment
as a ComputeMaskedBits problem, moving all of its special alignment
knowledge to ComputeMaskedBits as low-zero-bits knowledge.
Also, teach ComputeMaskedBits a few basic things about Mul and PHI
instructions.
This improves ComputeMaskedBits-based simplifications in a few cases,
but more noticeably it significantly improves instcombine's alignment
detection for loads, stores, and memory intrinsics.
llvm-svn: 49492
2008-04-10 18:43:06 +00:00
Evan Cheng
16ea87d6ee
A copy instruction may use a register multiple times on some targets. Change them all.
...
llvm-svn: 49491
2008-04-10 18:38:47 +00:00
Chris Lattner
5c7fce453d
reduce the amount of 'C++ magic' this code depends on :)
...
llvm-svn: 49489
2008-04-10 16:37:40 +00:00
Ted Kremenek
ea1bc3bec6
CFRefCount analysis now properly calls "EmitWarnings" after analyzing a function.
...
llvm-svn: 49488
2008-04-10 16:21:09 +00:00
Ted Kremenek
42d9db75f0
When not emitting path diagnostics in BugReporter::EmitWarning(), use the
...
BugReport-specific SourceRanges (when available).
llvm-svn: 49486
2008-04-10 16:12:38 +00:00
Ted Kremenek
83744ddbd9
Fixed regressions in error reporting due to copy-paste errors (using the "begin"
...
iterator instead of "end") and not implementing "getDescription()" for Nil
argument checks.
llvm-svn: 49485
2008-04-10 16:05:13 +00:00
Evan Cheng
5e1971c894
Add comment.
...
llvm-svn: 49469
2008-04-10 08:03:14 +00:00
Chris Lattner
a12405b0ef
refactor Parser::ParseStructDeclaration to return a vector of uninterpreted
...
declarators. This allows the clients (C structs, objc classes, objc
properties, [future] C++ classes) etc, to do custom processing before invoking
an action.
This has two benefits in the short term:
1) objc ivar processing should be split out of ActOnField into its own ActOn method.
2) the new objc ivar action can take visibility info directly, eliminating
AllVisibilities in ParseObjCClassInstanceVariables.
3) objc properties can pass their own special sauce down to sema as well.
llvm-svn: 49468
2008-04-10 06:46:29 +00:00
Chris Lattner
32295d344a
Simplify lifetime of location object.
...
llvm-svn: 49467
2008-04-10 06:15:14 +00:00
Chris Lattner
aeb23a8a34
add a note, this is actually not too bad to implement.
...
llvm-svn: 49466
2008-04-10 05:54:50 +00:00
Chris Lattner
c692188075
move the x86-32 part of PR2108 here.
...
llvm-svn: 49465
2008-04-10 05:37:47 +00:00
Eric Christopher
67d650508a
Fix typo.
...
llvm-svn: 49464
2008-04-10 05:23:15 +00:00
Chris Lattner
ad75302497
Fix the x86-64 side of PR2108 by adding a v2f64 version of
...
MOVZQI2PQIrr. This would be better handled as a dag combine
(with the goal of eliminating the bitconvert) but I don't know
how to do that safely. Thoughts welcome.
llvm-svn: 49463
2008-04-10 05:13:43 +00:00
Chris Lattner
57dd77462b
produce an error on invalid input instead of asserting:
...
def : Pat<((v2f64 (vector_shuffle immAllZerosV_bc,
^
llvm-svn: 49462
2008-04-10 04:48:34 +00:00
Evan Cheng
9d339849ee
Teach branch folding pass about implicit_def instructions. Unfortunately we can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses. Carefully removing some implicit def's which enable more blocks to be optimized away.
...
llvm-svn: 49461
2008-04-10 02:32:10 +00:00
Chris Lattner
0e91b41902
typedef void T;
...
void f(T);
is only invalid in C++ mode, not C89 mode.
llvm-svn: 49460
2008-04-10 02:26:16 +00:00
Chris Lattner
58258246ec
Several improvements from Doug Gregor related to default
...
argument handling. I'll fix up the c89 (void) thing next.
llvm-svn: 49459
2008-04-10 02:22:51 +00:00
Chris Lattner
a29d2536aa
Disable an xform we've had for a long time, pow(x,0.5) -> sqrt.
...
This is not safe for all inputs.
llvm-svn: 49458
2008-04-10 02:07:51 +00:00