Evan Cheng
89ca5b091f
-pre-RA-sched=none, simple, simple-noitin are gone.
...
llvm-svn: 42505
2007-10-01 22:17:20 +00:00
Devang Patel
e595d107e6
PR 1603 test case.
...
llvm-svn: 42502
2007-10-01 21:22:57 +00:00
Evan Cheng
a3a67596f6
Remove simple scheduler.
...
llvm-svn: 42499
2007-10-01 20:44:07 +00:00
Ted Kremenek
fb4750b639
Migrated LiveVariables and UninitializedVariables to now use the
...
tracked BlkExpr information now maintained by the CFG class.
llvm-svn: 42498
2007-10-01 20:33:52 +00:00
Ted Kremenek
f2d4372ba9
CFG objects now internally store a (lazily created) map from block-level
...
expressions to IDs. This is used by various dataflow analyses, but is
also useful for anyone querying a CFG to determine where an expression
is evaluated.
llvm-svn: 42495
2007-10-01 19:33:33 +00:00
Steve Naroff
67391b8a54
Move ObjC decls to DeclObjC.h, a new AST header.
...
Update clients and add to project file.
llvm-svn: 42494
2007-10-01 19:00:59 +00:00
Devang Patel
2a60ff1aeb
Relax unsafe use check. If there is one unconditional use inside the loop then it is safe to promote value even if there is another conditional use inside the loop.
...
llvm-svn: 42493
2007-10-01 18:12:58 +00:00
Evan Cheng
a1b7e95039
Typo. X86comi doesn't read / write chain's.
...
llvm-svn: 42492
2007-10-01 18:12:48 +00:00
Fariborz Jahanian
ebb34d7141
Moved two bitfields back to top of class ObjcMethodDecl so they pack
...
with those in their base class. In response to clattner's
September 30, 2007 12:54:49 AM PDT email.
llvm-svn: 42491
2007-10-01 17:19:59 +00:00
Fariborz Jahanian
f26702eb54
Took care of clatter's suggestions, dated.
...
September 30, 2007 12:36:58 AM PDT and
September 30, 2007 12:50:05 AM PDT
llvm-svn: 42490
2007-10-01 16:53:59 +00:00
Ted Kremenek
7f74e13535
Removed "hasImplicitControlFlow" from class CFG, and moved it to class Stmt
...
as a member function. This function is no longer needed within the CFG
class, and logically belongs to the Stmt class as a predicate for a
Stmt instance.
llvm-svn: 42489
2007-10-01 16:34:52 +00:00
Dale Johannesen
28e19a48ce
Add getABITypeSize, getABITypeSizeInBits
...
llvm-svn: 42488
2007-10-01 16:03:14 +00:00
Dan Gohman
9b943453f5
Add empty() member functions to a few container-like classes.
...
llvm-svn: 42487
2007-10-01 16:01:23 +00:00
Dale Johannesen
c0855f8a88
remove dup comment
...
llvm-svn: 42486
2007-09-30 19:08:12 +00:00
Fariborz Jahanian
a725bf7782
Unused ObjcProtoMethod is removed.
...
llvm-svn: 42485
2007-09-30 18:53:32 +00:00
Dale Johannesen
9150652b21
Constant fold int-to-long-double conversions;
...
use APFloat for int-to-float/double; use
round-to-nearest for these (implementation-defined,
seems to match gcc).
llvm-svn: 42484
2007-09-30 18:19:03 +00:00
Dale Johannesen
28a2c4a9c4
Simplify and fix signed int -> FP conversions.
...
llvm-svn: 42483
2007-09-30 18:17:01 +00:00
Gordon Henriksen
0b7cf862bc
AsmPrinters overriding getAnalysisUsage should call super.
...
And not super's super, either.
llvm-svn: 42482
2007-09-30 13:39:29 +00:00
Chris Lattner
2b6abdce50
Add a new getLength() method to IdentifierInfo, which relies on a newly added
...
method to StringMapEntry. Steve, please use this to remove the
strlen calls in selector processing.
llvm-svn: 42481
2007-09-30 08:32:27 +00:00
Chris Lattner
b06396c588
Add a helper useful when mapping from a map element to its hash node.
...
llvm-svn: 42480
2007-09-30 08:31:46 +00:00
Chris Lattner
6c44b9f145
Fix a bug I just introduced.
...
llvm-svn: 42479
2007-09-30 08:31:00 +00:00
Chris Lattner
90c26ba9de
improve comment.
...
llvm-svn: 42478
2007-09-30 08:13:22 +00:00
Chris Lattner
4730430bd8
simplify an expression
...
llvm-svn: 42477
2007-09-30 08:01:04 +00:00
Owen Anderson
46ade4eb9b
Template-ize more of the DomTree internal implementation details. Only the calculate() methods for DomTree and PostDomTree remain to be merged/template-ized.
...
llvm-svn: 42476
2007-09-30 04:17:16 +00:00
Chris Lattner
bd0079c603
document DenseSet.
...
llvm-svn: 42475
2007-09-30 00:58:59 +00:00
Chris Lattner
18a9273e61
Add a new DenseSet abstraction.
...
llvm-svn: 42474
2007-09-30 00:47:20 +00:00
Fariborz Jahanian
0886d252d7
This patch fixes all issues mentioned in clattner's feedback of
...
September 28, 2007 4:39:24 PM PDT
Please let me know if I missed anything.
llvm-svn: 42473
2007-09-29 18:24:58 +00:00
Fariborz Jahanian
ec7b3333e1
Code clean up. Moved couple of static functions to be private members of Sema class.
...
Avoiding passing a Sema object to these utility functions.
llvm-svn: 42472
2007-09-29 17:14:55 +00:00
Fariborz Jahanian
fa0667b547
Patch to remove use of has table for protocol name lookup. This patch mirrors my
...
previous patch to do the same for class name lookup using a hash table.
llvm-svn: 42471
2007-09-29 17:04:06 +00:00
Duncan Sands
7b908dda92
Add newline at end of file.
...
llvm-svn: 42470
2007-09-29 16:38:37 +00:00
Duncan Sands
f72ff0c379
Check that the second parameter of init_trampoline
...
can be resolved to a function. This is required
for codegen and used by instcombine.
llvm-svn: 42469
2007-09-29 16:25:54 +00:00
Gordon Henriksen
f5aa229ede
This is done already.
...
llvm-svn: 42467
2007-09-29 02:23:08 +00:00
Gordon Henriksen
37ca83d4e9
Collector is the base class for garbage collection code generators.
...
This version enhances the previous patch to add root initialization
as discussed here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053455.html
Collector gives its subclasses control over generic algorithms:
unsigned NeededSafePoints; //< Bitmask of required safe points.
bool CustomReadBarriers; //< Default is to insert loads.
bool CustomWriteBarriers; //< Default is to insert stores.
bool CustomRoots; //< Default is to pass through to backend.
bool InitRoots; //< If set, roots are nulled during lowering.
It also has callbacks which collectors can hook:
/// If any of the actions are set to Custom, this is expected to
/// be overriden to create a transform to lower those actions to
/// LLVM IR.
virtual Pass *createCustomLoweringPass() const;
/// beginAssembly/finishAssembly - Emit module metadata as
/// assembly code.
virtual void beginAssembly(Module &M, std::ostream &OS,
AsmPrinter &AP,
const TargetAsmInfo &TAI) const;
virtual void finishAssembly(Module &M,
CollectorModuleMetadata &CMM,
std::ostream &OS, AsmPrinter &AP,
const TargetAsmInfo &TAI) const;
Various other independent algorithms could be implemented, but were
not necessary for the initial two collectors. Some examples are
listed here:
http://llvm.org/docs/GarbageCollection.html#collector-algos
llvm-svn: 42466
2007-09-29 02:13:43 +00:00
Gordon Henriksen
6547e5a2bc
Demoting CHelpers.h to include/llvm/Support.
...
llvm-svn: 42465
2007-09-29 01:38:42 +00:00
Fariborz Jahanian
343f7098db
Removed use of hash table for class decls and do a name look up directly.
...
There is still an issue if doing ScopedLookup is an overkill and we can
just access the decl using the identifier.
llvm-svn: 42463
2007-09-29 00:54:24 +00:00
Daniel Berlin
342181c51d
Switch to densemap rather than std::set
...
llvm-svn: 42462
2007-09-29 00:50:40 +00:00
Gordon Henriksen
2717f3bd60
Regenerate.
...
llvm-svn: 42461
2007-09-29 00:42:56 +00:00
Gordon Henriksen
da70a73f28
PR1601: etags not configured correctly
...
Resolving this by deleting vestigal etags remnants.
llvm-svn: 42460
2007-09-29 00:42:21 +00:00
Evan Cheng
5fb5a1f389
Enabling new condition code modeling scheme.
...
llvm-svn: 42459
2007-09-29 00:00:36 +00:00
Devang Patel
f96df8d777
Do not ignore packed member size while selecting union type.
...
llvm-svn: 42458
2007-09-28 23:54:26 +00:00
Dan Gohman
a90183e7d1
Teach SplitVectorOp how to split INSERT_VECTOR_ELT.
...
llvm-svn: 42457
2007-09-28 23:53:40 +00:00
Steve Naroff
92866f4fbb
Add some comments to MultiKeywordSelector, make all methods private, add a friend, move some methods around.
...
llvm-svn: 42456
2007-09-28 23:39:26 +00:00
Ted Kremenek
1b61261a25
Added ProgramEdge.h, which defines ProgramEdge (and subclasses) that
...
encapsulate a program point within a CFG for use by our path-sensitive
dataflow solver.
llvm-svn: 42455
2007-09-28 23:15:21 +00:00
Tanya Lattner
586eb8ee47
Update how to release document.
...
Add release version to getting started guide.
llvm-svn: 42454
2007-09-28 22:50:54 +00:00
Evan Cheng
a5e595d23a
If two instructions are both two-address code, favors (schedule closer to
...
terminator) the one that has a CopyToReg use. This fixes
2006-05-11-InstrSched.ll with -new-cc-modeling-scheme.
llvm-svn: 42453
2007-09-28 22:32:30 +00:00
Steve Naroff
8017506d9c
Yesterday I discovered that 78% of all selectors in "Cocoa.h" take 0/1 argument.
...
This motivated implementing a devious clattner inspired solution:-)
This approach uses a small value "Selector" class to point to an IdentifierInfo for the 0/1 case. For multi-keyword selectors, we instantiate a MultiKeywordSelector object (previously known as SelectorInfo). Now, the incremental cost for selectors is only 24,800 for Cocoa.h! This saves 156,592 bytes, or 86%!! The size reduction is also the result of getting rid of the AST slot, which was not strictly necessary (we will associate a selector with it's method using another table...most likely in Sema).
This change was critical to make now, before we have too many clients.
I still need to add some comments to the Selector class...will likely add later today/tomorrow.
llvm-svn: 42452
2007-09-28 22:22:11 +00:00
Devang Patel
8ec4f837fa
Do not codegen dummy block.
...
Dummy block is an empty block with no predecessors.
llvm-svn: 42451
2007-09-28 21:49:18 +00:00
Ted Kremenek
14851c3de3
Fixed bug where assignments to variables wrapped in parentheses would not
...
properly kill variables. e.g:
(x) = 1;
llvm-svn: 42450
2007-09-28 21:29:33 +00:00
Ted Kremenek
a1c256dd0e
Fixed UninitializedValues to properly propagate uninitialized "taint"
...
in assignment operations of the form +=, -=, *=, etc.
llvm-svn: 42449
2007-09-28 21:08:51 +00:00
Chris Lattner
8861abe6f2
really fix PR1581, thanks to Daniel Dunbar for pointing
...
this out.
llvm-svn: 42448
2007-09-28 20:50:50 +00:00