Chris Lattner [Sun, 28 Apr 2002 04:51:09 +0000 (04:51 +0000)]
Module's are no longer values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:50:54 +0000 (04:50 +0000)]
Simplify code
Remove unneccesary getID variant for module's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:50:19 +0000 (04:50 +0000)]
Remove unneccesary #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2352
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:50:00 +0000 (04:50 +0000)]
Module's are no longer Value subclasses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:49:43 +0000 (04:49 +0000)]
Fix signed/unsigned comparison warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:47:33 +0000 (04:47 +0000)]
Remove forward def'ns that are already in Value.h
Do not support output of Modules directly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:47:06 +0000 (04:47 +0000)]
s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:46:29 +0000 (04:46 +0000)]
Module's are no longer Value's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:46:07 +0000 (04:46 +0000)]
The interesting contents of SymTabValue were incorporated into Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2346
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:45:48 +0000 (04:45 +0000)]
* Module's are no longer Value's
* Incorporate SymTabValue contents into the Module class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:45:05 +0000 (04:45 +0000)]
Add a forward defn for Module since it's no longer in Value.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2344
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 04:44:40 +0000 (04:44 +0000)]
* Incorporate the functionality of SymTabValue into Function
* s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 01:46:36 +0000 (01:46 +0000)]
New testcase for GCSE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 01:46:30 +0000 (01:46 +0000)]
Test GCSE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 01:00:15 +0000 (01:00 +0000)]
Run GCSE as part of gccas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2340
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 00:48:17 +0000 (00:48 +0000)]
Expose new GCSE pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2339
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 00:47:11 +0000 (00:47 +0000)]
Initial checkin of simple&fast SSA based GCSE algorithm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2338
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Apr 2002 00:15:57 +0000 (00:15 +0000)]
Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not
const BasicBlocks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2337
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 07:27:19 +0000 (07:27 +0000)]
s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 06:59:56 +0000 (06:59 +0000)]
s/Method/Function in classname
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2335
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 06:57:52 +0000 (06:57 +0000)]
Remove old file that will never be used
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2334
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 06:56:12 +0000 (06:56 +0000)]
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 03:15:45 +0000 (03:15 +0000)]
Changes because the Terminator::getSuccessor function now FAILS if successor
IDX is out of range instead of returning null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2332
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 03:14:39 +0000 (03:14 +0000)]
Use the cast<> operator in favor of C style casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2331
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 03:14:12 +0000 (03:14 +0000)]
Change the semantics of getSuccessor to FAIL if an out of range successor # is attempted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2330
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 02:29:32 +0000 (02:29 +0000)]
* Change Constant::getNullConstant to Constant::getNullValue
* Add support for pool allocating array allocations of varying size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2329
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 02:28:41 +0000 (02:28 +0000)]
Add support for tracking array allocations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2328
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 02:27:48 +0000 (02:27 +0000)]
Allow the inline limit to be modified on the commandline for debugging
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2327
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 02:27:11 +0000 (02:27 +0000)]
Support array allocations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2326
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 02:26:03 +0000 (02:26 +0000)]
Trivial simplification of code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2325
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 02:25:43 +0000 (02:25 +0000)]
* Change Constant::getNullConstant to Constant::getNullValue
* Remove some unused code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2324
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 02:25:14 +0000 (02:25 +0000)]
Change Constant::getNullConstant to Constant::getNullValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2323
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 02:24:17 +0000 (02:24 +0000)]
Simplify code a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2322
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 27 Apr 2002 02:22:42 +0000 (02:22 +0000)]
Rename getNullConstant to getNullValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2321
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:48:54 +0000 (04:48 +0000)]
Added functions to compute the offset of a given incoming or outgoing
argument. These are no longer allocated as they are discovered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2320
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:47:26 +0000 (04:47 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2319
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:46:28 +0000 (04:46 +0000)]
Don't record instructions for copying method arguments in the
AddedInstrns sets for the first machine instruction. It is hard
to ensure that the right order is preserved, and sure enough, the
order was broken. Instead, use a separate set for the function entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2318
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:43:45 +0000 (04:43 +0000)]
Don't pad spills and temp. stack areas for alignment.
Freeze auto vars and spill areas when their sizes are used
for computing other offsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2317
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:42:21 +0000 (04:42 +0000)]
Major changes to how int and FP arguments are handled. Varargs
function calls were simply wrong; other functions were just not
using all available registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2316
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:40:24 +0000 (04:40 +0000)]
Added functions to compute which register, if any, to use
for a particular argument in a list of arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2315
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:37:51 +0000 (04:37 +0000)]
Insert copy operations for FP arguments to a varargs function,
to copy the FP arg. to an integer. Necessary so that the
register allocator has two different live ranges for the FP value
and the int. argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2314
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:35:27 +0000 (04:35 +0000)]
Implementation of class MachineFrameInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2313
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:34:15 +0000 (04:34 +0000)]
Don't record instructions for copying method arguments in the
AddedInstrns sets for the first machine instruction. It is hard
to ensure that the right order is preserved, and sure enough, the
order was broken. Instead, use a separate set for the function entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2312
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:31:18 +0000 (04:31 +0000)]
Improve printing during dumps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2311
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 25 Apr 2002 04:30:43 +0000 (04:30 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2310
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Apr 2002 19:12:21 +0000 (19:12 +0000)]
* Abort program on verification errors
* Verify that load, store, and GEP instructions indices are correct, because
they _continually_ bite me on this pool allocations stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2309
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 22:11:52 +0000 (22:11 +0000)]
Add some basic checks of CallInst's.
Assert now returns from the current function on error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2308
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 22:11:30 +0000 (22:11 +0000)]
Programs that actually free memory were broken
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2307
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 22:11:12 +0000 (22:11 +0000)]
Changes to make print pass work!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2306
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 20:37:37 +0000 (20:37 +0000)]
* Convert the verifier to use an InstVisitor to be better structured
* Implement checking that a binary operator's two sides are the same type
* Actually check that an instruction does not have a name if it has a void
return type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2305
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 20:30:58 +0000 (20:30 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2304
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 19:55:25 +0000 (19:55 +0000)]
Make sure that there is no case where a signal can occur leaving a partially
written output file. This is important because crashing testcases often write
part of a file out, and the testing harness decides the file is up-to-date next
time the test is run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2303
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 19:53:53 +0000 (19:53 +0000)]
Add new api for basic signal handling for tools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2302
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 19:53:34 +0000 (19:53 +0000)]
New api for signal handling for LLVM tools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2301
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 18:53:33 +0000 (18:53 +0000)]
Move asmwriter/getStrValue cruft into AsmWriter.cpp file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2300
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 18:53:13 +0000 (18:53 +0000)]
Pull all of the getStrValue implementation cruft out of Constants.cpp and
put it into the AsmWriter. This code is kinda gross and could probably be
cleaned up, but not now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2299
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 18:52:03 +0000 (18:52 +0000)]
Add a fixme so that we don't forget this is broken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2298
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 18:51:39 +0000 (18:51 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2297
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 18:15:38 +0000 (18:15 +0000)]
* getAsString requires that the input array is string compatible, so
assert it.
* Use WriteAsOperand instead of getStringValue for constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2296
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 18:14:56 +0000 (18:14 +0000)]
Make debugging code not use getStrValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2295
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 18:14:40 +0000 (18:14 +0000)]
Just use << isntead of forcing getStrValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2294
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 18:14:19 +0000 (18:14 +0000)]
Print argument scalars as ellipses instead of boxes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2293
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 17:39:14 +0000 (17:39 +0000)]
Significantly rework InstructionCombining to work better and to be cleaner.
We now use an InstVisitor to delegate to different cases that we are
interested in handling. We also fix the FIXME's by adding users to the
worklist when appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2292
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 17:35:39 +0000 (17:35 +0000)]
New testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2291
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 16:16:16 +0000 (16:16 +0000)]
* 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2290
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 15:46:40 +0000 (15:46 +0000)]
* Make dtor virtual
* Add a new defaulted argument that allows the instruction visitation
visitors to return a non-void value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2289
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 15:39:50 +0000 (15:39 +0000)]
Check in the first test: make sure getelementptr gets folded
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2288
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 15:39:15 +0000 (15:39 +0000)]
Test the instruction combiner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2287
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 15:13:15 +0000 (15:13 +0000)]
Convert SCCP over to use InstVisitor instead of hand crafted switch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2286
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 14:44:53 +0000 (14:44 +0000)]
Remove gep::isStructSelector
CTor's do not allow names anymore for StoreInst objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2285
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 14:44:13 +0000 (14:44 +0000)]
GEP instructions can never be constant propogated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2284
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 14:43:54 +0000 (14:43 +0000)]
Store instructions always return void, so they never get a name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2283
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 14:43:30 +0000 (14:43 +0000)]
Correctly transform dependant arguments, allowing the perimeter bm to work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2282
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 18 Apr 2002 14:42:27 +0000 (14:42 +0000)]
* StoreInst's shouldn't take names (they are _always_ void type)
* Remove two methods that are not used
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2281
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Apr 2002 17:43:01 +0000 (17:43 +0000)]
Fix a bug printing out %c formated characters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2277
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Apr 2002 03:42:51 +0000 (03:42 +0000)]
Inline indirect function calls that are only capable of calling one function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2275
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Apr 2002 03:24:59 +0000 (03:24 +0000)]
Make data structure acurately get ALL edges, even loads of null fields of
nodes that are not shadow nodes
This fixes em3d to be _correct_ if not optimial
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2274
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 17 Apr 2002 03:24:47 +0000 (03:24 +0000)]
Make data structure acurately get ALL edges, even loads of null fields of
nodes that are not shadow nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2273
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 22:10:52 +0000 (22:10 +0000)]
Add casts for documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2272
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 22:10:36 +0000 (22:10 +0000)]
* Clean up the code a bit
* Allow structs with negative offsets. This enables the em3d benchmark to
be made typesafe. In this case, the struct had an array as the first
element, so a negative index was ok (the expr was -8 + 8x)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2271
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 21:36:59 +0000 (21:36 +0000)]
Remove old frivolous uses of getStrValue in a debugging statement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2270
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 21:36:29 +0000 (21:36 +0000)]
Remove unneccesary cast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2269
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 21:36:08 +0000 (21:36 +0000)]
Changes to:
* Fix bug printing method types (oops when converting previous code)
* Move some of the code from Constant::getStrValue implementations here.
This allows us to do a MUCH MUCH better job printing out complex constant
values (think an array of structure pointers), because we print symbolic
type names instead of structural. The assistance when debugging is immense
Eventually, Constant::getStrValue should be removed (it existed before because
the asmwriter file was not in VMCore), and everyone should go through the
asmwriter that want's equivalent functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2268
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 21:31:08 +0000 (21:31 +0000)]
Fix for buggy test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2267
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 20:39:59 +0000 (20:39 +0000)]
* Remove the concept of a critical shadow node
* Make the function pointer argument explicit for a call nodes
* Eliminate unreachable global values
* Merge call nodes that are identical
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2266
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 20:39:23 +0000 (20:39 +0000)]
Remove the concept of a critical shadow node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2265
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 05:58:24 +0000 (05:58 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2262
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 05:44:56 +0000 (05:44 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2261
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 03:44:03 +0000 (03:44 +0000)]
* Eliminate ArgDSNode's completely, now rely on scalar map
* Fold call nodes that are indistinguishable for each other. This is a big
win for external functions like sqrt, which would multiply dramatically
before.
* Global nodes with no edges to or from them are now eliminated from the graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2257
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Apr 2002 03:41:22 +0000 (03:41 +0000)]
* Eliminate ArgDSNode's completely, rely now on Scalar map
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2256
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Apr 2002 22:42:23 +0000 (22:42 +0000)]
run an extra pass after a function has been transformed to eliminate
obviously duplicate loads of the pool base.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2255
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Apr 2002 22:41:48 +0000 (22:41 +0000)]
Only print debug message if DEBUG_RA is on
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2254
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Apr 2002 20:36:15 +0000 (20:36 +0000)]
Only emit message if DEBUG_RA is on
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2252
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Apr 2002 19:45:29 +0000 (19:45 +0000)]
Eliminate cast of same type instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2251
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Apr 2002 19:32:36 +0000 (19:32 +0000)]
* s/Method/Function
* Add/allow callbacks for module,function, & basic block visiting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2250
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Apr 2002 06:23:00 +0000 (06:23 +0000)]
Checkin first unit testcases for the backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2249
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Apr 2002 06:15:24 +0000 (06:15 +0000)]
* s/Method/Function
* Fix bug where the character after a % was being discarded
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2248
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Apr 2002 06:14:41 +0000 (06:14 +0000)]
Turn off debug output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2247
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Apr 2002 06:14:15 +0000 (06:14 +0000)]
s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2246
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 14 Apr 2002 06:13:44 +0000 (06:13 +0000)]
Update documentation a LOT, make it more accurate and match current model
better. Still more room for improvement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2245
91177308-0d34-0410-b5e6-
96231b3b80d8