1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
Commit Graph

670 Commits

Author SHA1 Message Date
Chris Lattner
7d13e2f392 Move a bunch of code to a .cpp file, don't #include Instruction.h
llvm-svn: 2499
2002-05-06 17:54:50 +00:00
Chris Lattner
3bab8f6123 * Add getPrimitiveSize method
* Remove isPointerType, isMethodType, etc... methods.  Use isa<> instead
* Added specialization of isa for pointer types so that DerivedTypes.h doesn't
  have to be #included to use isa<PointerType>(..)

llvm-svn: 2483
2002-05-06 16:12:53 +00:00
Chris Lattner
07c6629280 Void and Label values cannot be acted on directly so they have zero size
llvm-svn: 2481
2002-05-06 15:10:15 +00:00
Chris Lattner
d12eac0b1b Implement constant propogation of shift instructions
llvm-svn: 2471
2002-05-06 03:01:37 +00:00
Chris Lattner
2d5135d9bd Add a range remove method
llvm-svn: 2468
2002-05-06 02:59:52 +00:00
Chris Lattner
a0965456d0 Implement remainder
llvm-svn: 2463
2002-05-03 21:40:37 +00:00
Chris Lattner
2716e9868c Make the range insert operation return an iterator, even though the STL
range insert doesn't

llvm-svn: 2413
2002-04-29 21:23:30 +00:00
Chris Lattner
5d17e49ad5 Remove unused files: This is the old induction varaible cannonicalization
pass built on top of interval analysis

llvm-svn: 2411
2002-04-29 20:18:00 +00:00
Chris Lattner
2a1f5e79c3 Change to allow iMemory.h to avoid including DerivedTypes.h
llvm-svn: 2403
2002-04-29 18:46:22 +00:00
Chris Lattner
294b5915d8 Remove analysis namespace
llvm-svn: 2399
2002-04-29 18:12:52 +00:00
Chris Lattner
96e0c48175 Eliminate duplicate or unneccesary #include's
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
589debc4ba Add new optional getPassName() virtual function that a Pass can override
to make debugging output a lot nicer.

llvm-svn: 2395
2002-04-29 14:57:45 +00:00
Chris Lattner
694285448c Stub functions for timing support
llvm-svn: 2393
2002-04-29 04:02:50 +00:00
Chris Lattner
74ccd0f755 Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFG
llvm-svn: 2385
2002-04-28 21:26:51 +00:00
Chris Lattner
c74c58800a Move FunctionPass::doesNotModifyCFG to AnalysisUsage::preservesCFG()
llvm-svn: 2384
2002-04-28 21:25:41 +00:00
Chris Lattner
c64ef6740a * Add a stub to FunctionPass so that subclasses can declare that they do not
modify the CFG.  It currently does nothing, but will in the future.
* Changes to make the public PassManager.h be MUCH smaller, and devoid of
  implementation details.  Now PassManager is just a Pimpl class that wraps
  PassManagerT<Module>, but lib/VMCore/Pass.cpp is now the only class that
  has to #include PassManagerT.h

llvm-svn: 2383
2002-04-28 20:46:05 +00:00
Chris Lattner
884c3d4899 Use forward decl instead of #include
llvm-svn: 2380
2002-04-28 20:40:25 +00:00
Chris Lattner
321a8cf4ba Split ConstantVals.h into Constant.h and Constants.h
llvm-svn: 2378
2002-04-28 19:55:58 +00:00
Chris Lattner
fc52b111ac Fix two FIXME's
llvm-svn: 2377
2002-04-28 19:49:58 +00:00
Chris Lattner
f043c4baac Remove all contents of the cfg namespace to the global namespace
llvm-svn: 2369
2002-04-28 16:19:42 +00:00
Chris Lattner
82ccff25fa Remove obsolete namespace from example
llvm-svn: 2368
2002-04-28 16:18:32 +00:00
Chris Lattner
23e713d49d Initial checkin of new "Internalize" pass for GCCLD
llvm-svn: 2362
2002-04-28 05:43:27 +00:00
Chris Lattner
e87fe3291c SymTabValue class incorporated into Function and Module classes.
llvm-svn: 2359
2002-04-28 04:56:59 +00:00
Chris Lattner
597f27fd29 Include an operator<<, to print modules
llvm-svn: 2358
2002-04-28 04:56:28 +00:00
Chris Lattner
67649f6aec Remove forward def'ns that are already in Value.h
Do not support output of Modules directly

llvm-svn: 2349
2002-04-28 04:47:33 +00:00
Chris Lattner
8a53fbd0d0 s/Method/Function
llvm-svn: 2348
2002-04-28 04:47:06 +00:00
Chris Lattner
d8cb4cfb30 Module's are no longer Value's.
llvm-svn: 2347
2002-04-28 04:46:29 +00:00
Chris Lattner
352dadc1d1 The interesting contents of SymTabValue were incorporated into Function
llvm-svn: 2346
2002-04-28 04:46:07 +00:00
Chris Lattner
24a00025ac * Module's are no longer Value's
* Incorporate SymTabValue contents into the Module class

llvm-svn: 2345
2002-04-28 04:45:48 +00:00
Chris Lattner
4f33b2e3ed Add a forward defn for Module since it's no longer in Value.h
llvm-svn: 2344
2002-04-28 04:45:05 +00:00
Chris Lattner
d5d0313e9d * Incorporate the functionality of SymTabValue into Function
* s/Method/Function

llvm-svn: 2343
2002-04-28 04:44:40 +00:00
Chris Lattner
0bd57e6e99 Initial checkin of simple&fast SSA based GCSE algorithm
llvm-svn: 2338
2002-04-28 00:47:11 +00:00
Chris Lattner
741453dd60 Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not
const BasicBlocks

llvm-svn: 2337
2002-04-28 00:15:57 +00:00
Chris Lattner
2f0ee1833d s/Method/Function
llvm-svn: 2336
2002-04-27 07:27:19 +00:00
Chris Lattner
bc2e4fd4cf s/Method/Function in classname
llvm-svn: 2335
2002-04-27 06:59:56 +00:00
Chris Lattner
048c4eaafe Remove old file that will never be used
llvm-svn: 2334
2002-04-27 06:57:52 +00:00
Chris Lattner
536cf1b13f * Rename MethodPass class to FunctionPass
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
  - Method is now const
  - It now takes one AnalysisUsage object to fill in instead of 3 vectors
    to fill in
  - Pass's now specify which other passes they _preserve_ not which ones
    they modify (be conservative!)
  - A pass can specify that it preserves all analyses (because it never
    modifies the underlying program)
* s/Method/Function/g in other random places as well

llvm-svn: 2333
2002-04-27 06:56:12 +00:00
Chris Lattner
16601b03cf Change the semantics of getSuccessor to FAIL if an out of range successor # is attempted.
llvm-svn: 2330
2002-04-27 03:14:12 +00:00
Chris Lattner
ff8530eabd Support array allocations
llvm-svn: 2326
2002-04-27 02:27:11 +00:00
Chris Lattner
c5db0cc189 Rename getNullConstant to getNullValue
llvm-svn: 2321
2002-04-27 02:22:42 +00:00
Vikram S. Adve
5c851091e5 Added functions to compute the offset of a given incoming or outgoing
argument. These are no longer allocated as they are discovered.

llvm-svn: 2320
2002-04-25 04:48:54 +00:00
Vikram S. Adve
ae709134c9 Optional args are no longer allocated as they are discovered.
(This can be improved to avoid making the initial pass over the method.)
Also, ensure automatic vars and reg. spills areas are not extended
if their sizes are used for computing some other offset.

llvm-svn: 2319
2002-04-25 04:47:26 +00:00
Chris Lattner
006a45af20 Changes to make print pass work!
llvm-svn: 2306
2002-04-18 22:11:12 +00:00
Chris Lattner
01ad1e2383 New api for signal handling for LLVM tools
llvm-svn: 2301
2002-04-18 19:53:34 +00:00
Chris Lattner
bfad09f50d Remove getStrValue method from Constant implementations. The AssemblyWriter
now knows how to write out a constant, not the constants themselves.  This is
fixed due to the move of the AsmWriter to the VMcore library.

llvm-svn: 2297
2002-04-18 18:51:39 +00:00
Chris Lattner
3cdb370e13 * Add a comment to the header giving a breif overview of how to return a
value from a visit function
* Define a (file local) DELEGATE macro to make the code easier to read/maintain
* Define per-opcode delegation functions so that users can override specific
  instances of BinaryOperator for example.

llvm-svn: 2290
2002-04-18 16:16:16 +00:00
Chris Lattner
fea39ddbf3 * Make dtor virtual
* Add a new defaulted argument that allows the instruction visitation
  visitors to return a non-void value.

llvm-svn: 2289
2002-04-18 15:46:40 +00:00
Chris Lattner
e47ac70405 * StoreInst's shouldn't take names (they are _always_ void type)
* Remove two methods that are not used

llvm-svn: 2281
2002-04-18 14:42:27 +00:00
Chris Lattner
6830bf4c34 Make data structure acurately get ALL edges, even loads of null fields of
nodes that are not shadow nodes

llvm-svn: 2273
2002-04-17 03:24:47 +00:00
Chris Lattner
407c7385f8 Remove the concept of a critical shadow node
llvm-svn: 2265
2002-04-16 20:39:23 +00:00