Chris Lattner
a3fc41d616
move objc expr sema to its own file.
...
llvm-svn: 45597
2008-01-04 22:32:30 +00:00
Bill Wendling
0c209430b4
Don't recalculate the loop info and loop dominators analyses if they're
...
preserved.
llvm-svn: 45596
2008-01-04 20:54:55 +00:00
Wojciech Matyjewicz
2bd541c5ff
fix typo
...
llvm-svn: 45595
2008-01-04 20:04:08 +00:00
Wojciech Matyjewicz
30e434569e
fix typo
...
llvm-svn: 45594
2008-01-04 20:02:18 +00:00
Chris Lattner
4899a6aa6a
Fix PR1897, patch by Wilhansen Li
...
llvm-svn: 45593
2008-01-04 19:12:28 +00:00
Chris Lattner
940cfebf90
add comments for the various AssignConvertType's, and split int->pointer from pointer->int.
...
llvm-svn: 45591
2008-01-04 18:22:42 +00:00
Chris Lattner
9bad62c72a
Merge all the 'assignment' diagnostic code into one routine, decloning
...
it from several places. This merges the diagnostics, making them more
uniform and fewer in number. This also simplifies and cleans up the code.
Some highlights:
1. This removes a bunch of very-similar diagnostics.
2. This renames AssignmentCheckResult -> AssignConvertType
3. This merges PointerFromInt + IntFromPointer which were always treated the same.
4. This updates a bunch of test cases that have minor changes to the produced diagnostics.
llvm-svn: 45589
2008-01-04 18:04:52 +00:00
Duncan Sands
d98c63ebb9
Testcase with non-integer "bitfields" (in quotes,
...
since they didn't actually need to be bitfields,
though they are marked as such).
llvm-svn: 45588
2008-01-04 17:31:56 +00:00
Chris Lattner
94cf8061e7
fix a build problem where NULL isn't implicitly defined by the headers this file includes.
...
llvm-svn: 45587
2008-01-04 16:27:03 +00:00
Gordon Henriksen
d829d2efeb
Fix a typo in llvm.mli noticed by Alain Frisch.
...
llvm-svn: 45585
2008-01-04 13:21:02 +00:00
Duncan Sands
99fc7197f2
Testcase for PR1386.
...
llvm-svn: 45583
2008-01-04 13:15:39 +00:00
Bill Wendling
46813c58bb
doc_code-ify some code in this doc.
...
llvm-svn: 45581
2008-01-04 12:04:32 +00:00
Gordon Henriksen
73d8967f02
Quote a path in the Ocaml makefile which is likely to include spaces on Windows.
...
llvm-svn: 45580
2008-01-04 11:55:57 +00:00
Evan Cheng
c1d1e54fc4
Unbreak tailcall opt in JIT.
...
llvm-svn: 45576
2008-01-04 10:50:28 +00:00
Evan Cheng
49ff8ecd03
X86 PIC JIT support fixes: encoding bugs, add lazy pointer stubs support.
...
llvm-svn: 45575
2008-01-04 10:46:51 +00:00
Bill Wendling
118ae4cd61
80-column violations.
...
llvm-svn: 45574
2008-01-04 08:59:18 +00:00
Bill Wendling
3bf5603ce4
Add that this preserves some analyses.
...
llvm-svn: 45573
2008-01-04 08:48:49 +00:00
Bill Wendling
66470d02c3
Move option to enable machine LICM into LLVMTargetMachine.cpp.
...
llvm-svn: 45572
2008-01-04 08:11:03 +00:00
Bill Wendling
d865697016
Call the parent's getAnalysisUsage.
...
llvm-svn: 45571
2008-01-04 07:50:05 +00:00
Chris Lattner
f3edc09f9b
Add a really quick hack at a machine code sinking pass, enabled with --enable-sinking.
...
It is missing validity checks, so it is known broken. However, it is powerful enough
to compile this contrived code:
void test1(int C, double A, double B, double *P) {
double Tmp = A*A+B*B;
*P = C ? Tmp : A;
}
into:
_test1:
movsd 8(%esp), %xmm0
cmpl $0, 4(%esp)
je LBB1_2 # entry
LBB1_1: # entry
movsd 16(%esp), %xmm1
mulsd %xmm1, %xmm1
mulsd %xmm0, %xmm0
addsd %xmm1, %xmm0
LBB1_2: # entry
movl 24(%esp), %eax
movsd %xmm0, (%eax)
ret
instead of:
_test1:
movsd 16(%esp), %xmm0
mulsd %xmm0, %xmm0
movsd 8(%esp), %xmm1
movapd %xmm1, %xmm2
mulsd %xmm2, %xmm2
addsd %xmm0, %xmm2
cmpl $0, 4(%esp)
je LBB1_2 # entry
LBB1_1: # entry
movapd %xmm2, %xmm1
LBB1_2: # entry
movl 24(%esp), %eax
movsd %xmm1, (%eax)
ret
woo.
llvm-svn: 45570
2008-01-04 07:36:53 +00:00
Chris Lattner
b5c1d9b7da
remove dead #includes and reorder the rest.
...
llvm-svn: 45569
2008-01-04 06:41:45 +00:00
Chris Lattner
bdd6acfb59
Fix PR1896
...
llvm-svn: 45568
2008-01-04 05:04:53 +00:00
Chris Lattner
69ea01446e
Change the builtin matcher to emit a decision tree, which should help out
...
the VC++ 'nesting depth' issue.
llvm-svn: 45567
2008-01-04 04:38:35 +00:00
Chris Lattner
43542b3a93
fix nesting issues.
...
llvm-svn: 45566
2008-01-04 04:34:14 +00:00
Chris Lattner
b8f816e90d
fix validation issues.
...
llvm-svn: 45565
2008-01-04 04:33:49 +00:00
Chris Lattner
7824d182da
improve the description of types, patch by Alain Frisch
...
llvm-svn: 45564
2008-01-04 04:32:38 +00:00
Chris Lattner
a47634ecb1
Don't let IntrinsicID be uninitialized if it doesn't match.
...
llvm-svn: 45563
2008-01-04 03:32:52 +00:00
Evan Cheng
2e1ba07f16
Correct order of parameters.
...
llvm-svn: 45562
2008-01-04 02:22:21 +00:00
Fariborz Jahanian
775d5d02af
Patch to add semantics check for ObjC2's foreacn statement.
...
llvm-svn: 45561
2008-01-04 00:27:46 +00:00
Chris Lattner
816dea2fc5
generalize some of the conversion warnings.
...
llvm-svn: 45560
2008-01-03 23:38:43 +00:00
Chris Lattner
166ae81be1
update for changes in diagnostic strings.
...
llvm-svn: 45559
2008-01-03 23:36:08 +00:00
Chris Lattner
874e024f10
regroup assignment-related diagnostics, fix a mistake in one.
...
llvm-svn: 45558
2008-01-03 23:13:36 +00:00
Bill Wendling
ddc77f8e4c
Remove the default else. This was ending in code that looked like this:
...
if (!strcmp(Target, "x86")) {
// ...
}
else
IntrinsicID = Intrinsic::not_intrinsic;
llvm-svn: 45557
2008-01-03 23:02:16 +00:00
Chris Lattner
0a788433eb
give better diagnostics for converting between function pointer and void*.
...
llvm-svn: 45556
2008-01-03 22:56:36 +00:00
Ted Kremenek
739d350369
renamed class "GRCP" (Graph Reachabilty Constant Propagation) to
...
"GREngine" (Graph Reachability Engine). The idea is to provide a separation
of concerns between the constant prop. details and the core analysis engine.
llvm-svn: 45555
2008-01-03 22:46:25 +00:00
Ted Kremenek
7c54e520e7
Implemented End-Of-Path processing.
...
llvm-svn: 45554
2008-01-03 22:29:38 +00:00
Chris Lattner
84cea329d5
Remove symbols that don't exist, remove tabs, fix comment typo
...
llvm-svn: 45553
2008-01-03 22:15:32 +00:00
Ted Kremenek
0044908de0
Initial checking of GRConstantPropagation.cpp, which implements a constant
...
propagation analysis via graph reachability. This analysis (which is incomplete)
will be the basis for later developments on the core engine for path-sensitive
analysis analysis.
llvm-svn: 45552
2008-01-03 22:12:28 +00:00
Ted Kremenek
fde239df06
Fixed misuse of pointer within SimulVertex::addPredecessor()
...
llvm-svn: 45551
2008-01-03 22:09:27 +00:00
Ted Kremenek
9d375282cf
SimulGraph::getVertex() now also returns a bool indicating if the returned
...
vertex was freshly created.
llvm-svn: 45550
2008-01-03 22:08:52 +00:00
Ted Kremenek
6abe02ada6
Constified methods front() and back() in CFGBlock.
...
llvm-svn: 45549
2008-01-03 22:07:58 +00:00
Ted Kremenek
d6c30e58e2
De-constified the pointers returned by the Dst() and Src() methods of
...
the various ProgramEdge classes.
llvm-svn: 45548
2008-01-03 22:07:01 +00:00
Fariborz Jahanian
c89ea091a2
Couple more uninitialized before use warning elimination.
...
llvm-svn: 45547
2008-01-03 20:04:58 +00:00
Fariborz Jahanian
243c611a05
Remove cause of misc. "variable might be used uninitialized in this function" warnings.
...
llvm-svn: 45546
2008-01-03 20:01:35 +00:00
Chuck Rose III
7f2e31a36a
Adding new files to win32 build
...
llvm-svn: 45545
2008-01-03 19:53:03 +00:00
Fariborz Jahanian
5cc21a7e02
Fixed a bug reported by Chris, involving assiging 0 to a qualified object type.
...
llvm-svn: 45542
2008-01-03 18:46:52 +00:00
Chris Lattner
2b15cf705b
simplify the lexer a bit, pulling stuff out of the default case.
...
llvm-svn: 45540
2008-01-03 17:58:54 +00:00
Fariborz Jahanian
732b8c2dc5
Patch to parse/build AST ObjC2's foreach statement.
...
llvm-svn: 45539
2008-01-03 17:55:25 +00:00
Gordon Henriksen
9b92e93d36
Ignoring output files.
...
llvm-svn: 45538
2008-01-03 17:42:08 +00:00
Chris Lattner
67793d8d60
add info on walking preds/succs of a block.
...
llvm-svn: 45537
2008-01-03 16:56:04 +00:00