Vikram S. Adve
7d0ba02640
Make all registered optimization passes available to llc.
...
Eliminate duplicate tracing options and use those defined by the trace passes.
Making the tracing step a module pass that runs before any llc-specific
passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3753 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:35:34 +00:00
Misha Brukman
655fb5c817
Function.h is unnecessary when Module.h is included.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3716 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 03:04:02 +00:00
Anand Shukla
ecbb51b27e
Added mapping lib in llc makefile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3514 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-27 16:46:11 +00:00
Chris Lattner
a4ff0d4611
Only include the sparc.o file once!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3257 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 19:42:34 +00:00
Chris Lattner
50e3a20b54
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3167 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 21:43:22 +00:00
Chris Lattner
d9d8c07eea
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3040 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 22:04:43 +00:00
Chris Lattner
56d27019e6
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3002 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 17:52:38 +00:00
Chris Lattner
5ff62e90d0
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2985 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 02:10:13 +00:00
Chris Lattner
c5fbf71d76
Strip the symbols out of the bytecode to inflate generated executables less.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2811 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-30 16:25:07 +00:00
Anand Shukla
cf17bcc7e7
Changes for 64bit gcc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2799 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 21:57:48 +00:00
Chris Lattner
7e70829632
MEGAPATCH checkin.
...
For details, See: docs/2002-06-25-MegaPatchInfo.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:13:24 +00:00
Chris Lattner
39fd659d68
Fix tracing code support to link in the tracing routines if neccesary.
...
This is required because trace code can insert calls to functions that
are (now) in an LLVM library, not a native library.
This change makes it easier to use the tracing code because the native
link options don't have to change, and it fits in a lot better with the
LLVM model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2675 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-20 21:20:08 +00:00
Vikram S. Adve
4335ad5056
Add libsparc.a a second time to resolve link errors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2661 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-19 16:01:03 +00:00
Chris Lattner
65f1b895bb
Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 20:03:27 +00:00
Chris Lattner
2154d13354
Straighten out makefiles after moving code to new Transform Utils library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:18:26 +00:00
Chris Lattner
e23476a027
Remove unneccesary pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2421 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-30 20:53:05 +00:00
Chris Lattner
c6f3ae5c66
Eliminate duplicate or unneccesary #include's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 17:42:12 +00:00
Chris Lattner
f57b845547
* 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
2002-04-27 06:56:12 +00:00
Chris Lattner
76d12299b5
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
2002-04-18 19:55:25 +00:00
Chris Lattner
02d6ef8976
s/PrintMethodPass/PrintFunctionPass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2182 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 22:05:01 +00:00
Chris Lattner
94202988a8
Remove asmwriter library from link line, because the useful contents of it
...
have been incorporated into the vmcore library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2153 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 22:35:30 +00:00
Chris Lattner
2fbfdcffd3
Change references to the Method class to be references to the Function
...
class. The Method class is obsolete (renamed) and all references to it
are being converted over to Function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 20:49:59 +00:00
Vikram S. Adve
d32e70a09f
Rename pass to DecomposeMultiDimRefs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1960 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:19:54 +00:00
Chris Lattner
4ddcd54751
* Make all command line arguments static
...
* Change -trace & -tracem options to use a 3 values enum option
* Change to use new style interface to passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1813 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 21:36:53 +00:00
Chris Lattner
c8b758dedc
Trim down makefile, again.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1691 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 17:37:25 +00:00
Chris Lattner
69a28d0565
Cut down number of times libraries are included to link a little bit faster
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1678 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-04 06:43:56 +00:00
Chris Lattner
e41576d141
* Remove -noasm option. If we're not compiling, what's the point?
...
* convert over to pass based target backend. Much cleaner now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1665 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 23:43:19 +00:00
Chris Lattner
c889677195
Switch over to a model where we compile each method, emit assembly, then free
...
machineinstr memory before starting on the next method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1659 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-03 07:54:10 +00:00
Chris Lattner
c0cbbcf169
Add dependency
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1620 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 18:33:23 +00:00
Chris Lattner
cd50d3fafa
PassManager is now in its own header file
...
MethodPass's now cannot be run on external methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1609 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:46:45 +00:00
Chris Lattner
888912dbe0
In an amazing fit of stupidity, I flipped the conditional and didn't test
...
it right. Sheesh :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1550 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 21:07:24 +00:00
Chris Lattner
5ad6b8b779
Try again, now it works right
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1526 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 02:28:50 +00:00
Chris Lattner
d7db863c1d
Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
...
RaiseAllocations pass as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1525 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 01:04:08 +00:00
Chris Lattner
221653f8f6
Fix ordering dependency problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1524 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 01:03:39 +00:00
Chris Lattner
8efb9d733f
Eliminate opt library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1516 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:13:46 +00:00
Chris Lattner
f4de63f65f
Implement a more powerful, simpler, pass system. This pass system can figure
...
out how to run a collection of passes optimially given their behaviors and
charactaristics.
Convert code to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:31:50 +00:00
Chris Lattner
697954c15d
Changes to build successfully with GCC 3.02
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Chris Lattner
cee8f9ae67
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00
Chris Lattner
d7477ee9d9
Remove unneccesary retcode var
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@905 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:33:21 +00:00
Chris Lattner
2197d21c3b
Refactor Assembly/Bytecode writer code into Assembly & bytecode libraries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@904 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:32:07 +00:00
Chris Lattner
c2c9dd1718
Bytecode writer is yanked out of Module printer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@899 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 20:06:31 +00:00
Vikram S. Adve
712ac2b951
Move malloc/free lowering after tracing until lli supports
...
calls to external malloc/free functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@893 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 18:20:20 +00:00
Chris Lattner
c9a1de6d1b
Only output code if file open is successful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@890 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 17:07:22 +00:00
Vikram S. Adve
79a334968c
Trace code should always be exported just before code generation;
...
this is not a debugging option. But we can export it as assembly
instead of bytecode if -debugtrace is specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@889 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 13:51:20 +00:00
Chris Lattner
685639df42
Convert to new simpler, more powerful pass structure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@882 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 05:28:44 +00:00
Chris Lattner
05e5e070ee
Passes return true if they change something, not if they fail
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@869 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-18 01:31:22 +00:00
Chris Lattner
2db4b72017
ConcretePass should not be a templated class!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@838 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:47:13 +00:00
Chris Lattner
25c1229930
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@837 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:41:24 +00:00
Chris Lattner
3524fc2197
Use the new Pass infrastructure to clean up llc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@835 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 17:30:47 +00:00
Chris Lattner
1f4b6eb79f
Add library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@827 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 15:55:15 +00:00
Chris Lattner
90c5b3d753
Minor code cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@825 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 13:47:13 +00:00
Vikram S. Adve
2f64f9f264
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@811 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:29:28 +00:00
Chris Lattner
b27c9e72d1
MethodTypes take an explicit isVarArg argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@782 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:07:28 +00:00
Vikram S. Adve
7b70f3f086
Repeat some libs due to circular dependences between Sparc and other
...
code gen libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@722 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-10 20:58:57 +00:00
Chris Lattner
b79757c621
Add hack to get rid of malloc & free instructions for code generation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@713 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-04 01:40:53 +00:00
Chris Lattner
78f7e1a9cd
Add proper support to send output to the right place
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@649 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 16:52:09 +00:00
Chris Lattner
565046714e
Emit assembly language from the target...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@640 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-19 13:56:47 +00:00
Chris Lattner
da784ee81f
C++ gives us auto_ptr's, so we might as well use them. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@629 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 17:04:18 +00:00
Vikram S. Adve
805eb96727
Minor changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@622 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-18 13:10:45 +00:00
Ruchira Sasanka
a5c5abc81b
Added regalloc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@584 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-15 00:28:37 +00:00
Chris Lattner
b26bcc5087
Make a new llvm/Target #include directory.
...
Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@566 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 05:34:53 +00:00
Chris Lattner
f6e0e28135
Checkin changes to:
...
1. Clean up the TargetMachine structure. No more wierd pointers that have to
be cast around and taken care of by the target.
2. Instruction Scheduling now takes the schedinfo as an argument. The same
should be done with the instinfo, it just isn't now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@565 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 04:32:55 +00:00
Chris Lattner
0e6530ee1b
This checkin represents some cleanup of the backend, implementing the following things:
...
1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory. The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@559 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-14 03:37:52 +00:00
Chris Lattner
c9744e7f26
Make use of the new TOOLNAME/USEDLIBS options provided in Makefile.common
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@501 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 22:59:25 +00:00
Chris Lattner
e737c7ac63
Convert llc driver to standard tool format
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@496 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 22:20:50 +00:00
Chris Lattner
46ac43c1bb
Clean up driver
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@492 91177308-0d34-0410-b5e6-96231b3b80d8
2001-09-07 21:26:31 +00:00
Vikram S. Adve
e595ba7631
Changed link line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@405 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:23:35 +00:00
Vikram S. Adve
14335835f1
Add calls to NormalizeMethod() and to ScheduleInstructionsWithSSA().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@404 91177308-0d34-0410-b5e6-96231b3b80d8
2001-08-28 23:23:14 +00:00
Chris Lattner
1e78f36127
CommandLine library cleanup. No longer use getValue/setValue, instead, just treat the commandline
...
args as the objects they represent and the "right thing" will happen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 19:27:24 +00:00
Chris Lattner
e2aad23855
-help is verbose enough that we don't need this anymore
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 18:31:02 +00:00
Chris Lattner
57dbb3ad63
Moved inline/llvm/Tools/* to include/llvm/Support/*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 17:46:59 +00:00
Chris Lattner
6c5a32d545
Removal of the redundant CompileContext wrapper
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 03:09:03 +00:00
Chris Lattner
8f367bd3c0
Large scale changes to implement new command line argument facility
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-23 02:35:57 +00:00
Chris Lattner
aceb9132b7
Privatize LLCOptions. It had no business being visible to the entire
...
program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 04:40:02 +00:00
Chris Lattner
953e0d7076
Convert from using C style char*'s to strings.
...
Look ma, no strdups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-22 03:57:31 +00:00
Chris Lattner
a99495ae53
Instructions for use
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 21:05:39 +00:00
Chris Lattner
7e583cfafe
Renamed include/llvm/Codegen to include/llvm/CodeGen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 20:58:30 +00:00
Chris Lattner
0df0e74f2b
Make the makefile work
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 19:31:40 +00:00
Chris Lattner
e6b9529b48
Autodep functionality broken. Remove so we get successful builds
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 18:59:13 +00:00
Vikram S. Adve
cb465fc71e
Driver and options for the llc compiler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234 91177308-0d34-0410-b5e6-96231b3b80d8
2001-07-21 12:42:29 +00:00