Commit Graph

705 Commits

Author SHA1 Message Date
Chris Lattner ae36879303 Move sparc-specific code into lib/Target/Sparc
llvm-svn: 10734
2004-01-09 18:15:56 +00:00
Chris Lattner 59d2d7fc33 Improve encapsulation in the Loop and LoopInfo classes by eliminating the
getSubLoops/getTopLevelLoops methods, replacing them with iterator-based
accessors.

llvm-svn: 10714
2004-01-08 00:09:44 +00:00
Chris Lattner 5f4c6f55b6 Add a note
llvm-svn: 10617
2003-12-28 04:03:49 +00:00
Chris Lattner 30513e0a3a rename ClassifyExpression -> ClassifyExpr
llvm-svn: 10592
2003-12-23 08:04:08 +00:00
Chris Lattner 1e74843e7c Finegrainify namespacification
llvm-svn: 10588
2003-12-23 06:44:41 +00:00
Chris Lattner a86c4a3a01 finegrainify namespacification
Implement indvar analysis of getelementptr and sub expressions

llvm-svn: 10582
2003-12-22 05:26:29 +00:00
Chris Lattner 44fea5416d Add a new AliassetTracker::remove method. Because we need to be able to remove
a pointer from an AliasSet, maintain the pointer values on a doubly linked
list instead of a singly linked list, to permit efficient removal from the
middle of the list.

llvm-svn: 10506
2003-12-18 08:11:56 +00:00
Alkis Evlogimenos aaba4639f8 Change interface of MachineOperand as follows:
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
    b) add isUse(), isDef()
    c) rename opHiBits32() to isHiBits32(),
              opLoBits32() to isLoBits32(),
              opHiBits64() to isHiBits64(),
              opLoBits64() to isLoBits64().

This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.

llvm-svn: 10461
2003-12-14 13:24:17 +00:00
Chris Lattner 0a14060ce2 Finegrainify namespacification
Add capability to represent volatile AliasSet's
Propagate this information from loads&stores into the aliassets

llvm-svn: 10457
2003-12-14 04:52:11 +00:00
Chris Lattner 1eed55d6b9 Factor out some duplicated code, implement the rest of the cases in
BasicAA/2003-12-11-ConstExprGEP.ll

llvm-svn: 10412
2003-12-11 23:20:16 +00:00
Chris Lattner 6ea17f77f8 Fix PR86. This makes basicaa _SIGNIFICANLY_ more aggressive with getelementptr's
llvm-svn: 10410
2003-12-11 22:44:13 +00:00
Chris Lattner 62aff8412a Finegrainify namespacification
Add new -print-cfg-only pass

llvm-svn: 10407
2003-12-11 21:48:18 +00:00
Chris Lattner 17790fbb5b Fix a glaring bug
llvm-svn: 10400
2003-12-11 06:06:28 +00:00
Chris Lattner bc1197f292 Realize the gep P, <zeros> must aliases P.
This is a partial fix for PR 86

llvm-svn: 10399
2003-12-11 06:02:00 +00:00
Chris Lattner abb3bea6ce With Brian's change to AA.h we can now clean out this uglyness
llvm-svn: 10398
2003-12-11 05:44:59 +00:00
Brian Gaeke b453bc5957 IncludeFile hack to pull in BasicValueNumbering whenever ValueNumbering.h
is included.

llvm-svn: 10397
2003-12-11 05:05:56 +00:00
Chris Lattner bff5116da6 Finegrainify namespacification
llvm-svn: 10367
2003-12-10 15:34:03 +00:00
Chris Lattner 8dee84159f Finegrainify namespacification
Provide a context module to WriteAsOperand

llvm-svn: 10366
2003-12-10 15:33:59 +00:00
Chris Lattner f9f7c2d302 Finegrainify namespacification
Move method out of generic dominators construction code

llvm-svn: 10299
2003-12-07 00:35:42 +00:00
Chris Lattner 567444309a Do not depend on index type to determine whether it is a structure or sequential index
llvm-svn: 10221
2003-11-25 20:19:55 +00:00
Chris Lattner a346e64218 Fix file header
llvm-svn: 10219
2003-11-25 20:11:47 +00:00
Chris Lattner c3de7c4ec2 Remove dead variable
llvm-svn: 10218
2003-11-25 20:11:00 +00:00
Chris Lattner 388bc98954 Use gep_type_begin/end instead of looking for ubytes
llvm-svn: 10217
2003-11-25 20:10:07 +00:00
Chris Lattner 359974801e Finegrainify namespacification
llvm-svn: 10210
2003-11-25 18:33:40 +00:00
Chris Lattner ab6895ea76 Implement a small optimization to handling of GEP's that are equivalent to casts.
This results in substantially reduced collapsing for some testcases

llvm-svn: 10002
2003-11-14 17:09:46 +00:00
Chris Lattner a8150c3f8d Trying to get the dsgraph for an external function is bad for DSA's health
llvm-svn: 9979
2003-11-13 18:48:11 +00:00
Chris Lattner baef234ce3 Implement the CompleteBU pass
llvm-svn: 9964
2003-11-13 05:05:41 +00:00
Chris Lattner 71d3377010 Minor code cleanup
llvm-svn: 9962
2003-11-13 05:04:19 +00:00
Chris Lattner fb4c057c4c Disable integer tracking by default
llvm-svn: 9960
2003-11-13 03:10:49 +00:00
Chris Lattner 04946381b9 Add an initial version of the CompleteBUDataStructures class, which is currently
identical to the BU pass, but has an accurate call graph

llvm-svn: 9956
2003-11-13 01:43:00 +00:00
Chris Lattner 9e876556fd Fine-grainify namespaces for this library
llvm-svn: 9948
2003-11-12 23:11:14 +00:00
Chris Lattner da03a8a792 Add new argument to disable checking
llvm-svn: 9922
2003-11-12 17:58:22 +00:00
Chris Lattner b740afb2b0 Print return nodes for graphs with multiple functions in them correctly
llvm-svn: 9914
2003-11-12 04:58:19 +00:00
Chris Lattner 12c71c00ef Don't crash if no gg
llvm-svn: 9913
2003-11-12 04:57:58 +00:00
Chris Lattner a9450bd4ac Cleanups
llvm-svn: 9907
2003-11-12 00:40:34 +00:00
Brian Gaeke 960707c335 Put all LLVM code into the llvm namespace, as per bug 109.
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Chris Lattner da05b05197 Compute node offsets correctly
llvm-svn: 9895
2003-11-11 20:12:32 +00:00
Chris Lattner fdc8d6547b Add new method for computing node mappings. This is used by the pool allocator
llvm-svn: 9880
2003-11-11 05:08:59 +00:00
Chris Lattner 9a010038f1 More additions
llvm-svn: 9834
2003-11-09 19:54:30 +00:00
Chris Lattner 950c75f135 Add more functions
llvm-svn: 9826
2003-11-09 04:10:41 +00:00
Chris Lattner 5011b956a9 None of the __llvm_* functions call into the program. This makes the
callgraph MUCH simpler for eh using program.

llvm-svn: 9825
2003-11-09 04:00:59 +00:00
Chris Lattner cff83a2f24 Add support for memmove
llvm-svn: 9824
2003-11-09 03:32:52 +00:00
Chris Lattner 12dd38aa99 Handle bzero and memset in the local analysis, because we were missing the fact
that memset returns its argument!!

llvm-svn: 9811
2003-11-08 21:55:50 +00:00
Chris Lattner 2cb1db763e This doesn't use DSCallSiteIterator
llvm-svn: 9809
2003-11-08 21:17:37 +00:00
Chris Lattner 5f6463c041 Fix name collision
llvm-svn: 9722
2003-11-05 05:55:45 +00:00
Chris Lattner 2b9926fc8e All DSGraphs keep a reference to the targetdata they are created with. This is
used to eliminate the hard coded, hacked in, sparc specific, global TargetData.
Changing the TargetData used to actually match the code fixes problems, and
eliminates a crash.

llvm-svn: 9659
2003-11-02 22:27:28 +00:00
Chris Lattner 53e8fab411 Fix bug: test/Regression/Analysis/DSGraph/2003-11-02-NodeCollapsing.ll
llvm-svn: 9658
2003-11-02 21:02:20 +00:00
Chris Lattner 7949bf0d54 Including the symbol table in the FindUsedTypes analysis was the WRONG way
to fix test/Regression/CBackend/2003-10-23-UnusedType.ll.  This completely
neutered the deadtypeelim pass.

llvm-svn: 9646
2003-11-02 01:28:41 +00:00
Chris Lattner 9c4a58b780 Make the call graph more precise despite the hated constantpointerrefs.
Do you detect the animosity I feel towards CPRs yet?

llvm-svn: 9640
2003-10-31 21:05:12 +00:00
Chris Lattner dd63f9e22b When someone includes CallGraph.h, make sure that they link in CallGraph.cpp
llvm-svn: 9611
2003-10-30 05:17:30 +00:00