Ted Kremenek
35ff5b0ee6
Added more boilerplate for processing end-of-paths.
...
llvm-svn: 45724
2008-01-07 22:22:13 +00:00
Chris Lattner
ef81aa75f6
add a note that is important for some fp apps.
...
llvm-svn: 45723
2008-01-07 21:59:58 +00:00
Ted Kremenek
8569309bca
Added ownership of "checker state" within the ExplodedGraph. Moved code that
...
creates the initial root node from the constructor of ReachabilityEngine to
ReachabilityEngine::ExecuteWorklist.
llvm-svn: 45722
2008-01-07 21:56:52 +00:00
Fariborz Jahanian
dc917b9e07
Patch to start rewriting of ObjC2's foreach statement (work in progress).
...
llvm-svn: 45721
2008-01-07 21:40:22 +00:00
Chris Lattner
730d088be1
possible switch lowering improvement.
...
llvm-svn: 45720
2008-01-07 21:38:14 +00:00
Owen Anderson
47299489ec
Oops, missed one.
...
llvm-svn: 45719
2008-01-07 21:32:09 +00:00
Owen Anderson
bbc6352d1f
Make some predicates static.
...
llvm-svn: 45718
2008-01-07 21:30:40 +00:00
Fariborz Jahanian
6917870be5
Verify/add code to make sure types passed to interfaceTypesAreCompatible
...
are canonical. Asst in interfaceTypesAreCompatible if they are not.
llvm-svn: 45717
2008-01-07 20:12:21 +00:00
Chris Lattner
a30be59fa2
Fix a nasty corner case that Neil noticed in PR1900, where we would
...
incorrectly apply the multiple include optimization to files with
guards like:
#if !defined(x) MACRO
where MACRO could expand to different things in different contexts.
Thanks Neil!
llvm-svn: 45716
2008-01-07 19:50:27 +00:00
Ted Kremenek
1b0ea82459
Substituted all instances of the string "Objc" for "ObjC". This fixes
...
some naming inconsistencies in the names of classes pertaining to Objective-C
support in clang.
llvm-svn: 45715
2008-01-07 19:49:32 +00:00
Duncan Sands
c50c210d76
I doubt the address of the Error string was intended
...
to be used for the force_interpreter parameter...
Spotted by gcc-4.2.
llvm-svn: 45714
2008-01-07 19:14:42 +00:00
Fariborz Jahanian
699e638e4f
Make interfaceTypesAreCompatible a private method.
...
llvm-svn: 45713
2008-01-07 19:13:39 +00:00
Duncan Sands
d19a6f4836
Add missing newline at EOF.
...
llvm-svn: 45712
2008-01-07 19:13:36 +00:00
Ted Kremenek
9dbf8a93a7
Renamed SimulVertex, SimulGraph, and SimulEngine to:
...
ExplodedNode, ExplodedGraph (to match the vocabulary in the RHS paper)
ReachabilityEngine
The implementation of the core of the path-sensitive dataflow solver has
been de-templatized and places in ReachabilityEngine.cpp.
The solver is still incomplete.
llvm-svn: 45711
2008-01-07 19:08:42 +00:00
Ted Kremenek
dabea046f6
Minor tweak to serialization of ObjcForCollectionStmt: the three owned pointers
...
are now emitted in a batch, which reduces the metadata overhead in the
serialized bitcode.
llvm-svn: 45710
2008-01-07 18:35:04 +00:00
Fariborz Jahanian
d5450b7f07
Limit type of foreach's element and collection to be a pointer to
...
objc object type.
llvm-svn: 45709
2008-01-07 18:14:04 +00:00
Fariborz Jahanian
fef287cb67
Issue diagnostics if more than one declaration in objectove-c's foreach-stmt header.
...
llvm-svn: 45708
2008-01-07 17:52:35 +00:00
Nate Begeman
281653b25e
Update the comment on scalar to vector to be a bit more clear.
...
llvm-svn: 45707
2008-01-07 17:52:24 +00:00
Chris Lattner
f5c973d061
minor cleanup.
...
llvm-svn: 45706
2008-01-07 17:51:46 +00:00
Nate Begeman
d3d49df3f1
Update test to catch recent x86 insert regression and improvements
...
llvm-svn: 45705
2008-01-07 17:49:23 +00:00
Duncan Sands
b18c30acec
Small cleanup for handling of type/parameter attribute
...
incompatibility.
llvm-svn: 45704
2008-01-07 17:16:06 +00:00
Duncan Sands
d8d4170f84
Unbreak x86-32 darwin long double!
...
llvm-svn: 45703
2008-01-07 16:36:38 +00:00
Duncan Sands
28bf7ac219
Fix long double support on x86-32 linux.
...
llvm-svn: 45701
2008-01-07 13:44:22 +00:00
Gordon Henriksen
24db8d383d
Pruning includes.
...
llvm-svn: 45700
2008-01-07 13:30:38 +00:00
Bill Wendling
a3bdad153f
Operand 1 should be a register. We don't care if it's a preg, vreg, or 0.
...
llvm-svn: 45699
2008-01-07 08:05:29 +00:00
Chris Lattner
d7857eafd0
add a note
...
llvm-svn: 45698
2008-01-07 07:46:23 +00:00
Chris Lattner
f3efadcb5b
remove #includage
...
llvm-svn: 45697
2008-01-07 07:42:25 +00:00
Chris Lattner
69fc766f63
split TargetInstrDesc out into its own header file.
...
llvm-svn: 45696
2008-01-07 07:33:08 +00:00
Chris Lattner
03ad885039
rename TargetInstrDescriptor -> TargetInstrDesc.
...
Make MachineInstr::getDesc return a reference instead
of a pointer, since it can never be null.
llvm-svn: 45695
2008-01-07 07:27:27 +00:00
Chris Lattner
3ef160b15a
remove a dead method.
...
llvm-svn: 45694
2008-01-07 06:47:10 +00:00
Chris Lattner
fd2e338b85
simplify some code.
...
llvm-svn: 45693
2008-01-07 06:47:00 +00:00
Chris Lattner
e99a6caee4
Rename all the M_* flags to be namespace qualified enums, and switch
...
all clients over to using predicates instead of these flags directly.
These are now private values which are only to be used to statically
initialize the tables.
llvm-svn: 45692
2008-01-07 06:42:05 +00:00
Chris Lattner
d004f54155
use predicate.
...
llvm-svn: 45691
2008-01-07 06:37:29 +00:00
Chris Lattner
08a69ac2f5
add more and significantly better comments to the rest of the machineinstr
...
flags that can be set. Add predicates for the ones lacking it, and switch
some clients over to using the predicates instead of Flags directly.
llvm-svn: 45690
2008-01-07 06:21:53 +00:00
Chris Lattner
769c86bf63
simplify some code using new predicates
...
llvm-svn: 45689
2008-01-07 05:40:58 +00:00
Chris Lattner
c5c63ff9d7
add some mroe comments, add a isImplicitDef() method, add
...
isConditionalBranch() and isUnconditionalBranch() methods.
llvm-svn: 45688
2008-01-07 05:38:38 +00:00
Chris Lattner
f376c99ea0
rename hasVariableOperands() -> isVariadic(). Add some comments.
...
Evan, please review the comments I added to getNumDefs to make sure
that they are accurate, thx.
llvm-svn: 45687
2008-01-07 05:19:29 +00:00
Chris Lattner
fd548c96cc
Move M_* flags down in the file. Move SchedClass up in the
...
TargetInstrDescriptor class and shrink to 16-bits, saving a
word in TargetInstrDescriptor. Add some comments.
llvm-svn: 45686
2008-01-07 05:06:49 +00:00
Chris Lattner
8c69898157
remove a dead field.
...
llvm-svn: 45685
2008-01-07 04:57:42 +00:00
Chris Lattner
6f8713decb
the name field of instructions is never set to a non-empty string,
...
just unconditionally use the def name of the instruction.
llvm-svn: 45684
2008-01-07 04:57:31 +00:00
Chris Lattner
6077962101
no need to explicitly clear these fields.
...
llvm-svn: 45683
2008-01-07 04:55:09 +00:00
Nate Begeman
f7c3ff6f80
Fix typo
...
llvm-svn: 45682
2008-01-07 04:01:26 +00:00
Gordon Henriksen
c75405bdb3
Removing a leaked file.
...
llvm-svn: 45681
2008-01-07 03:23:52 +00:00
Chris Lattner
b0d06b4381
Move a bunch more accessors from TargetInstrInfo to TargetInstrDescriptor
...
llvm-svn: 45680
2008-01-07 03:13:06 +00:00
Chris Lattner
f0f438a517
remove MachineOpCode typedef.
...
llvm-svn: 45679
2008-01-07 02:48:55 +00:00
Chris Lattner
d34c47653e
remove some uses of MachineOpCode, move getSchedClass
...
into TargetInstrDescriptor from TargetInstrInfo.
llvm-svn: 45678
2008-01-07 02:46:03 +00:00
Chris Lattner
e55e115616
Add predicates methods to TargetOperandInfo, and switch all clients
...
over to using them, instead of diddling Flags directly. Change the
various flags from const variables to enums.
llvm-svn: 45677
2008-01-07 02:39:19 +00:00
Gordon Henriksen
c7e991b7c3
Setting GlobalDirective in TargetAsmInfo by default rather than
...
providing a misleading facility. It's used once in the MIPS backend
and hardcoded as "\t.globl\t" everywhere else.
llvm-svn: 45676
2008-01-07 02:31:11 +00:00
Gordon Henriksen
efb08802ec
Deleting an empty file. Thanks, /usr/bin/patch!
...
llvm-svn: 45675
2008-01-07 02:29:04 +00:00
Chris Lattner
a98c679de0
Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects
...
that it is cheap and efficient to get.
Move a variety of predicates from TargetInstrInfo into
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around. Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.
Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.
llvm-svn: 45674
2008-01-07 01:56:04 +00:00