Brian Gaeke
20c888fa9f
Rearrange #includes ... since there are fewer now I guess it's a win.
...
(I also zapped printMachineCode() and printLabel() at the previous checkin,
but forgot to mention it.)
llvm-svn: 8646
2003-09-21 02:50:21 +00:00
Brian Gaeke
3a0a5fc1b3
Standardize the names of include guards.
...
llvm-svn: 8645
2003-09-21 02:31:37 +00:00
Brian Gaeke
58dabb4406
Standardize the names of include guards.
...
Remove more excess whitespace.
llvm-svn: 8644
2003-09-21 02:31:25 +00:00
Brian Gaeke
73d10dc47b
Standardize the names of include guards.
...
Fix typos in file header comment.
llvm-svn: 8643
2003-09-21 02:31:15 +00:00
Brian Gaeke
43593b8cd0
I tried to standardize the formatting and tidy up the huge amount of
...
excess whitespace a little. Also improved some comments.
llvm-svn: 8642
2003-09-21 02:24:09 +00:00
Brian Gaeke
e1061018bf
Convert PhyRegAlloc into a proper pass.
...
PhyRegAlloc.cpp:
Don't include TargetMachine.h or TargetRegInfo.h, because these are provided
by PhyRegAlloc.h.
Merge class RegisterAllocator into class PhyRegAlloc.
Simplify & move ctor, dtor to PhyRegAlloc.h.
Make some of PhyRegAlloc's reference members into pointer members,
so they can be more easily messed with.
MarkAllocatedRegs() becomes a member method, with fewer args.
PhyRegAlloc.h:
Include Pass.h, TargetMachine.h and TargetRegInfo.h. Don't declare
TargetRegInfo forward.
Give AddedInstrns the obvious clear() method.
Make some of PhyRegAlloc's reference members into pointer members,
so they can be more easily messed with.
Add prototype for markAllocatedRegs().
Remove unused inline void constructLiveRanges().
llvm-svn: 8641
2003-09-21 01:23:46 +00:00
Chris Lattner
4be7671186
Add prototype
...
llvm-svn: 8640
2003-09-21 00:28:18 +00:00
Chris Lattner
3c095c79fa
Functions reachable from the arguments of unresolvable call nodes should
...
not have their arguments marked complete
llvm-svn: 8639
2003-09-20 23:58:33 +00:00
Chris Lattner
413b7bde7c
The Globals graph must become complete at the end of the BU phase!
...
llvm-svn: 8638
2003-09-20 23:27:05 +00:00
Chris Lattner
880b9aa10a
Do not mark incoming arguments to functions complete if the function is pointed to by a global in the globals graph
...
llvm-svn: 8637
2003-09-20 22:24:04 +00:00
Chris Lattner
8c1a835806
Make sure to add global variable initializers to the Globals graph!
...
llvm-svn: 8636
2003-09-20 21:48:16 +00:00
Chris Lattner
71f747ea3d
Don't consider incomplete nodes to be typesafe!
...
llvm-svn: 8635
2003-09-20 21:48:01 +00:00
Chris Lattner
cc81b798e4
Remove trivially dead nodes was not removing nodes that were dead due to forwarding!
...
llvm-svn: 8634
2003-09-20 21:34:07 +00:00
Chris Lattner
c8dfbbbf25
Global variables with APPENDING linkage are very important to keep around!
...
llvm-svn: 8632
2003-09-20 19:00:50 +00:00
Chris Lattner
689b681558
Add special case handling for calloc and realloc
...
llvm-svn: 8630
2003-09-20 16:50:46 +00:00
Chris Lattner
04d9cb6770
Switch from using CallInst's to represent call sites to using the LLVM
...
CallSite class. Now we can represent function calls by invoke instructions
too!
llvm-svn: 8629
2003-09-20 16:34:13 +00:00
Chris Lattner
36b877ae7f
Make this work better for constants that aren't necessarily in ANY graph, such as null pointers
...
llvm-svn: 8628
2003-09-20 16:12:57 +00:00
Chris Lattner
22533bc900
update dox
...
llvm-svn: 8626
2003-09-20 14:43:16 +00:00
Chris Lattner
5dac64f629
Rename Function::getEntryNode -> getEntryBlock
...
llvm-svn: 8625
2003-09-20 14:39:18 +00:00
Chris Lattner
21f750fabb
Rename getEntryNode -> getEntryBlock()
...
llvm-svn: 8624
2003-09-20 14:36:49 +00:00
Chris Lattner
4413e4362c
Minor cleanups, no functional changes
...
Rename Function::getEntryNode -> getEntryBlock
llvm-svn: 8623
2003-09-20 14:36:23 +00:00
Chris Lattner
da5b9376a2
Cleanup header file
...
llvm-svn: 8622
2003-09-20 14:35:38 +00:00
Chris Lattner
25963c85e3
Now that the TCE pass passes all of the tests, add it to GCCAS
...
llvm-svn: 8621
2003-09-20 05:26:22 +00:00
Chris Lattner
b6ac976247
Fix a really obvious huge gaping bug, add a comment
...
llvm-svn: 8620
2003-09-20 05:24:00 +00:00
Chris Lattner
0016085602
Expose the TCE pass
...
llvm-svn: 8619
2003-09-20 05:14:13 +00:00
Chris Lattner
2e9014cb1b
New transformation: tail recursion elimination
...
llvm-svn: 8618
2003-09-20 05:03:31 +00:00
Chris Lattner
50af7516b0
New testcase
...
llvm-svn: 8617
2003-09-20 05:02:54 +00:00
Chris Lattner
7e5ca14433
Fix header, fix broken friend decl
...
llvm-svn: 8616
2003-09-20 03:34:44 +00:00
Chris Lattner
092af3f36e
Fix bug: BasicAA/2003-09-19-LocalArgument.ll
...
llvm-svn: 8615
2003-09-20 03:08:47 +00:00
Chris Lattner
066ccf8848
New testcase that basicaa should be able to handle
...
llvm-svn: 8614
2003-09-20 03:08:21 +00:00
Chris Lattner
825937df8e
Fix file header
...
llvm-svn: 8613
2003-09-20 02:42:54 +00:00
Chris Lattner
0942bc63a3
Unsquishify
...
llvm-svn: 8612
2003-09-20 01:23:29 +00:00
Chris Lattner
b1fcb2b644
Keep track of the number of typed/untyped memory accesses theyre are in the program
...
VS: ----------------------------------------------------------------------
llvm-svn: 8611
2003-09-20 01:20:46 +00:00
John Criswell
17c3d4dfc1
New header file for gccld.
...
llvm-svn: 8610
2003-09-19 20:24:40 +00:00
John Criswell
b533bde540
Removed linking functionality from gccld.cpp and moved it to linker.cpp.
...
Renamed functions that were all lower-case.
Moved functions from util.cpp into linker.cpp or gccld.cpp.
Removed util.h and created gccld.h.
Refactored the linker functionality in linker.cpp so that it is easier to
follow, easier to modify, and it's library/object file search behavior is
easier to understand and document.
Added code to include library paths when doing native linking, but this
causes problems and is currently #ifdef'd out.
llvm-svn: 8609
2003-09-19 20:24:23 +00:00
Chris Lattner
3284ed725a
Reject "llvm." as a function name
...
llvm-svn: 8608
2003-09-19 19:31:41 +00:00
Chris Lattner
2da29177ba
Implement InstCombine/and.ll:test(15|16)
...
llvm-svn: 8607
2003-09-19 19:05:02 +00:00
Chris Lattner
d441d407cf
Two new tests for shifts followed by ands
...
llvm-svn: 8606
2003-09-19 19:04:43 +00:00
Chris Lattner
ba1cb38c06
pull a large nested conditional out into its own function
...
llvm-svn: 8605
2003-09-19 17:17:26 +00:00
Chris Lattner
dbba189f15
Implement InstCombine/add.ll:test(15|16)
...
llvm-svn: 8604
2003-09-19 15:35:42 +00:00
Chris Lattner
def041c533
New testcases
...
llvm-svn: 8603
2003-09-19 15:33:46 +00:00
Chris Lattner
bf38b842ba
a bitfield stress test to exercise various parts of the front-end.
...
llvm-svn: 8602
2003-09-19 05:22:10 +00:00
John Criswell
a8391af2c4
Changed the empty rule for .h files. The rule needs an empty command so that
...
Make actually uses it to "regenerate" header files that have been
moved/removed.
llvm-svn: 8600
2003-09-18 18:37:08 +00:00
Brian Gaeke
7af0df0015
Fix a typo in Sparc.cpp.
...
Update names of some pass creator fns in addPassesToEmitAssembly().
FunctionInfo is gone.
llvm-svn: 8599
2003-09-18 17:37:46 +00:00
Brian Gaeke
310b1d899a
Rename the pass creator fn to mimic the other creator fn names.
...
llvm-svn: 8598
2003-09-18 17:37:35 +00:00
Brian Gaeke
24e706c1ac
Fix (and properly doxygenify) some comments. Incorporate
...
functionality of FunctionInfo pass as doFinalization method.
Rename pass to match names of other passes like it.
Rename the pass creator fn to mimic the other creator fn names.
Include StringExtras for utostr().
Make symbol prologue/epilogue stuff redundant with
EmitBytecodeToAssembly, in preparation for refactoring.
llvm-svn: 8597
2003-09-18 17:37:25 +00:00
Brian Gaeke
b4aa604093
Make the symbol prologue/epilogue stuff redundant with MappingInfo, in
...
preparation for refactoring.
Rename the pass creator fn to mimic the other creator fn names.
llvm-svn: 8596
2003-09-18 17:37:14 +00:00
John Criswell
8ecc30249f
Refactored gccld into three C++ source files.
...
Added code ignore bytecode link failures when generating native code.
Moved native code and bytecode generation out of the main() function.
llvm-svn: 8595
2003-09-18 16:22:26 +00:00
Misha Brukman
3d72faddeb
Minimal implementation of the abstract ModuleProvider interface.
...
llvm-svn: 8594
2003-09-18 16:17:06 +00:00
Misha Brukman
1d33258b99
Abstract interface for module providers, e.g. streaming bytecode reader.
...
llvm-svn: 8593
2003-09-18 16:16:32 +00:00