Commit Graph

88 Commits

Author SHA1 Message Date
Misha Brukman 3b2343eae9 PreSelection is not optional, it performs a necessary and vital transformation
for the Sparc backend: breaking up constant expressions. Thus, we cannot have it
guarded by a conditional, it should never be disabled.

Also, it's now available for the JIT since it is a FunctionPass.

llvm-svn: 9791
2003-11-07 20:33:25 +00:00
Brian Gaeke e7621515c0 Goodbye, AddRegNumToValues
llvm-svn: 9309
2003-10-20 20:44:03 +00:00
John Criswell 482202a601 Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.

llvm-svn: 9298
2003-10-20 19:43:21 +00:00
Brian Gaeke 09d40333a2 Remove extra blank line.
llvm-svn: 9196
2003-10-17 18:09:10 +00:00
Chris Lattner fb25374170 Add support for the Invoke instruction by using the LowerInvoke pass
llvm-svn: 8872
2003-10-05 19:16:09 +00:00
Chris Lattner 1440902484 Make sure to get the definition of getRegisterAllocator
llvm-svn: 8801
2003-09-30 22:24:00 +00:00
Chris Lattner 8b583a229d RegisterAllocation.h is going away
llvm-svn: 8795
2003-09-30 20:15:04 +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
Chris Lattner b49a8d7e01 No longer provide an optinfo, noone uses it
llvm-svn: 8311
2003-09-01 20:40:59 +00:00
Chris Lattner 0792315409 Move private interfaces into private .h file
llvm-svn: 8306
2003-09-01 20:33:07 +00:00
Chris Lattner 4fd144acc8 Targets should configure themselves based on a Module, not some wierd flags
llvm-svn: 8132
2003-08-24 19:49:48 +00:00
Brian Gaeke f365176472 Rename -emitmaps to -enable-maps
llvm-svn: 7913
2003-08-16 00:23:16 +00:00
Brian Gaeke 74db4c7e27 Unbreak SPARC backend: addPassesToJITCompile and
addPassesToEmitMachineCode now both take a FunctionPassManager.

llvm-svn: 7837
2003-08-14 06:04:59 +00:00
Chris Lattner ec611ae0d0 Adjust files for move of mapping info stuff into the Sparc directory
llvm-svn: 7802
2003-08-13 02:38:16 +00:00
Vikram S. Adve d6f22ad8d3 Disable emitting LLVM-to-MI maps, by default.
Add -emitmaps options to turn this back on.

llvm-svn: 7774
2003-08-12 15:51:02 +00:00
Misha Brukman b611692487 Changing command-line option formats to be more consistent with LLVM style.
llvm-svn: 7658
2003-08-06 23:25:25 +00:00
Misha Brukman 8f18938d1c * Renamed option from `nopreselect' to `nopreopt' since it disables more than
just PreSelection
* Wrapped code at 80 columns
* Added the DecomposeMultiDimRefs Pass to the JIT compilation path

llvm-svn: 7657
2003-08-06 23:06:21 +00:00
Vikram S. Adve 36fcc5d8b3 Put back the separate pass to decompose multi-dimensional references
since it is *necessary* for correct code generation.  Only optional
transformations belong in the PreOpts pass (which needs to be renamed
from PreSelection to PreOpts).

llvm-svn: 7474
2003-08-01 15:53:24 +00:00
Vikram S. Adve 2b630b4ec2 Rename 'dump-asm' to 'dump-input' and really print it just before code-gen.
llvm-svn: 7394
2003-07-29 19:58:00 +00:00
Brian Gaeke cf8c4f5fe4 lib/Target/Sparc/Sparc.cpp:
Move LowerAllocations, PrintFunction, and SymbolStripping passes, and
  the corresponding -disable-strip and -d options, over here to the SPARC
  target-specific bits of llc. Rename -d to -dump-asm.

tools/llc/Makefile:
 Reindent. Add x86 library so that llc compiles again.

tools/llc/llc.cpp:
 Remove support for running arbitrary optimization passes. Use opt instead.
 Remove LowerAllocations, PrintFunction, and SymbolStripping passes, as noted
  above.
 Allow user to select a backend (x86 or SPARC); default to guessing from
  the endianness/pointer size of the input bytecode file.
 Fix typos.
 Delete empty .s file and exit with error status if target does not support
  static compilation.

llvm-svn: 6776
2003-06-18 21:14:23 +00:00
Chris Lattner 3bcde17e00 Rename FInfo.cpp to FunctionInfo.cpp, eliminate FInfo.h
llvm-svn: 6712
2003-06-16 15:31:52 +00:00
Misha Brukman 0941cd11c8 * Removed PreSelection pass because that is now done in the JIT
* Removed instruction scheduling as it is too slow to run in a JIT environment
* Removed other passes because they aren't necessary and can slow JIT down

llvm-svn: 6652
2003-06-06 07:11:16 +00:00
Brian Gaeke 98eee41e0e lib/CodeGen/Mapping/MappingInfo.cpp:
Update file comment to contain a bunch of the overview mapping-info
  documentation previously buried within the file.
 Remove some unnecessary include/using stmts.
 Rename pass to MappingInfoCollector.
 Rewrite a lot of it so it doesn't use global instance variables and so
  it outputs into MappingInfo objects and then dumps those out, instead of going
  straight to an assembly file.
 Change name of factory to getMappingInfoCollector.
 Fold prologue & epilogue writers into MappingInfo methods.

lib/Target/Sparc/FInfo.cpp:
 Correct file comment to reflect above change

lib/Target/Sparc/Sparc.cpp:
 Change name of factory to getMappingInfoCollector.

llvm-svn: 6617
2003-06-04 22:07:12 +00:00
Misha Brukman 0b3a70c25b Enabling some of these passes causes lli to break
llvm-svn: 6457
2003-05-31 04:23:04 +00:00
Misha Brukman c1830a472a Make LLI behave just like LLC with regard to the compile passes it uses.
llvm-svn: 6444
2003-05-30 20:00:13 +00:00
Misha Brukman 8110439ff6 * Allow passing in an unsigned configuration to allocateSparcTargetMachine()
a default value is set in the header file.
* Fixed some code layout to make it more consistent with the rest of codebase
* Added addPassesToJITCompile() with relevant passes

llvm-svn: 6369
2003-05-27 22:24:48 +00:00
Chris Lattner 4f6cdbdf81 Remove two fields from TargetData which are target specific.
llvm-svn: 5963
2003-04-26 20:11:09 +00:00
Chris Lattner 524608ab79 Add support for the Switch instruction by running the lowerSwitch pass first
llvm-svn: 5867
2003-04-23 16:24:55 +00:00
Chris Lattner b4d58d7f9e Rename MachineInstrInfo -> TargetInstrInfo
llvm-svn: 5272
2003-01-14 22:00:31 +00:00
Chris Lattner 525e3af36c * Frame & const pool info is no longer directly in MachineFunction
llvm-svn: 5173
2002-12-28 20:17:43 +00:00
Chris Lattner ccc2c7e8a7 Sparc is not little endian
llvm-svn: 5129
2002-12-24 00:02:38 +00:00
Chris Lattner c6d6d62c8e Initialize implicit uses/defs fields for sparc backend to empty list
llvm-svn: 4876
2002-12-03 05:41:54 +00:00
Chris Lattner 8cdd50d177 Reassociate pass now works
llvm-svn: 4473
2002-10-31 17:16:18 +00:00
Chris Lattner c1d7563566 Sparc backend doesn't use target specific flags yet
llvm-svn: 4440
2002-10-30 01:07:12 +00:00
Chris Lattner b848956370 * Privatize the TargetName
* Move optSizeForSubWordData to TargetData
* Remove unused fields

llvm-svn: 4417
2002-10-29 21:48:17 +00:00
Chris Lattner 5667f0eefd Allow TargetMachine to refuse static code gen
llvm-svn: 4415
2002-10-29 21:12:46 +00:00
Chris Lattner 71b6d491db Rename Sparc.h to TargetMachineImpls.h
llvm-svn: 4407
2002-10-29 20:47:26 +00:00
Chris Lattner 01efae0bbf MachineInstrInfo doesn't need a TargetMachine
llvm-svn: 4372
2002-10-29 15:45:20 +00:00
Chris Lattner 6d8a6c645c Move machine code generation/destruction passes out of Sparc.cpp because
they are generic

llvm-svn: 4310
2002-10-28 01:12:41 +00:00
Chris Lattner e94db67c4f Move addPassesToEmitAssembly from TargetMachine to UltraSparc because it
really is sparc specific.

llvm-svn: 4308
2002-10-28 01:03:43 +00:00
Misha Brukman 7ae7f84cf3 Changed `MachineCodeForMethod' to `MachineFunction'.
llvm-svn: 4301
2002-10-28 00:28:31 +00:00
Chris Lattner d6786b5f59 Prune #includes
llvm-svn: 4277
2002-10-25 02:01:33 +00:00
Vikram S. Adve bbf45f6960 Added class MachineOptInfo as interface to target-specific
routines supporting machine code optimization.
Also added method MachineInstrInfo::getNOPOpCode().

llvm-svn: 3845
2002-09-20 00:52:09 +00:00
Vikram S. Adve 36d3e03fa0 Move all the code that creates code generation passes from Sparc.cpp to
TargetMachine.cpp, since it is entirely machine-independent.
Also, add options to disable optional back-end passes (preselection and
instr. scheduling).

llvm-svn: 3740
2002-09-16 15:39:26 +00:00
Anand Shukla f246131208 Added getFunctionInfo and MappingInfoForFunction pass, and fixed the earlier error in compiling
llvm-svn: 3513
2002-08-27 16:45:17 +00:00
Chris Lattner e64e62eff9 Fix breakage in the build
llvm-svn: 3258
2002-08-07 21:39:39 +00:00
Mehwish Nagda 428a0ba612 added Mapping and Function Pass
llvm-svn: 3251
2002-08-05 23:23:19 +00:00
Chris Lattner 31d05fdd0a * Move InstructionSelection pass to lib/CodeGen/InstrSelection so it is
shared by backends.

llvm-svn: 3146
2002-07-30 03:56:16 +00:00
Chris Lattner 3091e11726 GCC 3.1 changes, finally the burm file builds the FIRST time a clean directory is built.
llvm-svn: 3073
2002-07-25 06:08:32 +00:00
Mehwish Nagda 382f286ae7 Added the Mapping Pass to out put Mapping Info to .s file
llvm-svn: 2913
2002-07-15 23:58:21 +00:00