Gordon Henriksen
520981b62f
Fixing the stack walker.
...
llvm-svn: 46302
2008-01-24 05:16:36 +00:00
Ted Kremenek
1c91a67086
Added transfer functions for pre- and post- increment/decrement operators.
...
llvm-svn: 46300
2008-01-24 02:28:56 +00:00
Ted Kremenek
33d8285b8d
Added passing "ASTContext" to both GREngine and GRConstants.
...
Added initial support for integer casting operations to GRConstants.
llvm-svn: 46298
2008-01-24 02:02:54 +00:00
Anton Korobeynikov
a4f27608bc
Fix potential buffer overflow
...
llvm-svn: 46296
2008-01-24 01:20:48 +00:00
Owen Anderson
2a8a485630
Move some functionality for adding flags to MachineInstr's into methods on MachineInstr rather than LiveVariables.
...
llvm-svn: 46295
2008-01-24 01:10:07 +00:00
Ted Kremenek
4f1da522ca
Minor tweak in GetValue to avoid an extra check for ParenExprs.
...
llvm-svn: 46294
2008-01-24 00:50:08 +00:00
Evan Cheng
ec3da554e6
Forgot these.
...
llvm-svn: 46292
2008-01-24 00:22:01 +00:00
Ted Kremenek
2517423c3c
Implemented value tracking support for '*' and '*='.
...
Added "multiplication" support for equality sets.
llvm-svn: 46289
2008-01-23 23:42:27 +00:00
Ted Kremenek
5e02dc1b46
Implemented value tracking support for '+=' and '-='.
...
llvm-svn: 46288
2008-01-23 23:38:00 +00:00
Chris Lattner
2dd606839d
add some assertions so that the rewriter dies violently with a useful
...
error instead of subtly with a mysterious one.
llvm-svn: 46287
2008-01-23 23:37:15 +00:00
Evan Cheng
35abd840a6
Let each target decide byval alignment. For X86, it's 4-byte unless the aggregare contains SSE vector(s). For x86-64, it's max of 8 or alignment of the type.
...
llvm-svn: 46286
2008-01-23 23:17:41 +00:00
Ted Kremenek
cefae084a3
Removed extra GraphViz node attributes for GRConstants, as some of them were
...
causing problems with Dot.
llvm-svn: 46285
2008-01-23 22:54:57 +00:00
Ted Kremenek
930191c011
some prettying of the GraphViz visualization of GRConstants analysis results.
...
llvm-svn: 46284
2008-01-23 22:30:44 +00:00
Ted Kremenek
9e7a112377
Added special escape sequences "\{", "\}", and "\|" when processing
...
getNodeLabel(); these sequences allow the user to specify the characters '{',
'}', and '|' in the label, which facilitate breaking the label into multiple
record segments.
llvm-svn: 46283
2008-01-23 22:29:58 +00:00
Duncan Sands
95d46ef887
The last pieces needed for loading arbitrary
...
precision integers. This won't actually work
(and most of the code is dead) unless the new
legalization machinery is turned on. While
there, I rationalized the handling of i1, and
removed some bogus (and unused) sextload patterns.
For i1, this could result in microscopically
better code for some architectures (not X86).
It might also result in worse code if annotating
with AssertZExt nodes turns out to be more harmful
than helpful.
llvm-svn: 46280
2008-01-23 20:39:46 +00:00
Fariborz Jahanian
60a901621f
Fixed a nasty bug which took a while to come up with a test case,
...
diagnose, and took even longer to fix. It has to do with rewriting of a message
receiver which is an 'ivar' reference. Fix, however, is to remove a code which
was not doing the right thing and no longer needed.
llvm-svn: 46279
2008-01-23 20:34:40 +00:00
Ted Kremenek
0a8d3767a3
Major "architectural" changes to the GRConstants analysis. We now reason about
...
abstract "L-values" and "R-values" when doing value tracking, and expanding
constant tracking to encompass tracking disjunctive sets of possible constants.
Further, the tree-walking is more efficient, as we don't blindly recurse the
tree if we won't generate new states.
llvm-svn: 46278
2008-01-23 19:59:44 +00:00
Ted Kremenek
9d21a0cb07
Added "getRoot()" to ImmutableSet.
...
Made ImmutableSet::ImmutableSet(ImutAVLTree* Root) public. (this allows handy
casting between trees and sets).
llvm-svn: 46277
2008-01-23 19:57:33 +00:00
Chris Lattner
7238225c28
add support for -Wundef.
...
llvm-svn: 46274
2008-01-23 17:19:46 +00:00
Fariborz Jahanian
54e42318c0
Missing ObjC stuff. Patch by Mike Stump.
...
llvm-svn: 46268
2008-01-23 01:34:33 +00:00
Dale Johannesen
7f1ff5fedd
Honor explicit section information on Darwin.
...
llvm-svn: 46267
2008-01-23 00:58:14 +00:00
Owen Anderson
7fe0bb2b43
Fix an iterator invalidation issue.
...
llvm-svn: 46263
2008-01-22 23:58:54 +00:00
Evan Cheng
1e0d4d2aa8
SSE varargs arguments are passed in memory.
...
llvm-svn: 46262
2008-01-22 23:26:53 +00:00
Fariborz Jahanian
0a71ad2e07
Problem with ObjC's type-encoding of nested structs causing infinit recursion.
...
llvm-svn: 46260
2008-01-22 22:44:46 +00:00
Lauro Ramos Venancio
db449040aa
Fix a typo.
...
llvm-svn: 46259
2008-01-22 22:38:35 +00:00
Lauro Ramos Venancio
09af71c2a6
Implement bitfield write.
...
llvm-svn: 46258
2008-01-22 22:36:45 +00:00
Lauro Ramos Venancio
2ddcb25a3b
Implement bitfield read.
...
llvm-svn: 46257
2008-01-22 20:17:04 +00:00
Chris Lattner
97ff7763dc
Fix PR1936, a crash on malformed #if. Thanks to Neil for
...
noticing this!
llvm-svn: 46256
2008-01-22 19:34:51 +00:00
Lauro Ramos Venancio
0ae6cd5219
Fix two bugs in bitfield codegen.
...
llvm-svn: 46255
2008-01-22 19:15:30 +00:00
Chris Lattner
1671361c5c
Simplify SelectionDAG::getNode so that a big switch stmt is not #ifndef
...
NDEBUG. This is in response to a really nasty bug I introduced that
Dale tracked down, hopefully this won't happen in the future.
Many thanks Dale.
llvm-svn: 46254
2008-01-22 19:09:33 +00:00
Gordon Henriksen
f52da44530
Fix grammar.
...
llvm-svn: 46253
2008-01-22 18:46:25 +00:00
Chris Lattner
d0d28b913e
clarify wording.
...
llvm-svn: 46252
2008-01-22 17:14:30 +00:00
Anton Korobeynikov
427f3167bc
Silence a warning. Should we turn this into configure-time check?
...
llvm-svn: 46251
2008-01-22 11:01:23 +00:00
Anton Korobeynikov
010bd77372
Add interator interface to DAGInit also
...
llvm-svn: 46250
2008-01-22 11:00:07 +00:00
Duncan Sands
88de26cffb
The final piece needed for storing arbitrary precision
...
integers. Handle truncstore of a legal type to an unusual
number of bits. Most of this code is not reachable unless
the new legalize infrastructure is turned on.
llvm-svn: 46249
2008-01-22 07:17:34 +00:00
Nick Lewycky
f069264164
Enable the fix I just checked in, silly me.
...
llvm-svn: 46247
2008-01-22 05:42:02 +00:00
Chris Lattner
2b2f10fb7e
update this test to pass with duncan's change.
...
llvm-svn: 46246
2008-01-22 05:31:58 +00:00
Chris Lattner
efc922d089
One too many )'s breaks 'make clean' with certain versions of make.
...
This fixes PR1927
This should be pulled into llvm 2.2.
llvm-svn: 46245
2008-01-22 05:19:26 +00:00
Nick Lewycky
78712e5b59
Multiply can be evaluated in a different type, so long as the target type has
...
a smaller bitwidth.
llvm-svn: 46244
2008-01-22 05:08:48 +00:00
Chris Lattner
1dea406e73
Trivial patch to fix two warnings, please pull into llvm 2.2
...
llvm-svn: 46243
2008-01-22 04:47:47 +00:00
Steve Naroff
af2a022563
- Add Sema::CheckStringLiteralInit, Sema::IsStringLiteralInit.
...
- Use previous hooks to simplify Sema::CheckInitializerTypes()...
llvm-svn: 46235
2008-01-22 00:55:40 +00:00
Steve Naroff
f9eb598de3
Sema::CheckInitializerTypes(). Start simpliying and cleaning up...
...
llvm-svn: 46234
2008-01-21 23:53:58 +00:00
Lauro Ramos Venancio
111b3ba670
Add Ubuntu 7.10 include path.
...
llvm-svn: 46233
2008-01-21 23:08:35 +00:00
Fariborz Jahanian
7718e36e25
Elimate bogus warning when va_start is correctly used in
...
a method.
llvm-svn: 46232
2008-01-21 22:59:53 +00:00
Steve Naroff
c505c6792c
Add a predicate/getter when checking for incomplete array types ("[]").
...
llvm-svn: 46231
2008-01-21 22:59:18 +00:00
Lauro Ramos Venancio
37bae3e8aa
Simplify the bitfield codegen.
...
llvm-svn: 46230
2008-01-21 22:54:57 +00:00
Ted Kremenek
a7287785ad
Fixed buggy caching of the hash value of an ImutAVLTree node.
...
llvm-svn: 46229
2008-01-21 22:54:46 +00:00
Ted Kremenek
5465d11a23
Moved method call within a conditional branch because its effects will
...
be ignored on the false branch.
llvm-svn: 46228
2008-01-21 22:51:35 +00:00
Ted Kremenek
aea769ee6d
Adjusted ImutAVLTree::ComputeHash to compute a hash value that is based on a
...
clearer sequence of hashing compositions.
llvm-svn: 46227
2008-01-21 22:50:37 +00:00
Ted Kremenek
048bf7a0f9
Added "clear" method to FoldingSetNodeID to allow a FoldingSetNodeID object
...
to be reused to compute multiple object profiles.
llvm-svn: 46226
2008-01-21 22:49:22 +00:00