Commit Graph

14131 Commits

Author SHA1 Message Date
Misha Brukman 4c70105c4c Fix some grammar.
llvm-svn: 16008
2004-08-24 02:23:58 +00:00
Misha Brukman 00b21aef7b Added DSE, LICM, LVN, PRE, SCCP, and SSA
llvm-svn: 16007
2004-08-24 01:57:02 +00:00
Chris Lattner a88d667487 Do not use .xword and friends to emit zeros on V9. Apparently there are issues
with emitting .xwords when not on an 8-byte boundary (.xword 0 is not the
same as 8 .byte 0's).  Because we do not know when or when we are not aligned,
just emit bytes like the old V9 asmprinter did.

llvm-svn: 16006
2004-08-24 00:26:11 +00:00
Brian Gaeke adc0b83eec A PR60 test case
llvm-svn: 16005
2004-08-23 20:49:33 +00:00
Misha Brukman 62a2c1fd7a Document 'gmake install' vs. 'install-bytecode' (used for bytecode libs)
llvm-svn: 16004
2004-08-23 20:25:33 +00:00
Reid Spencer 5b81eea7a5 Moved small examples from /projects/SmallExamples to /examples.
Made the "ModuleMaker" into an example since its just one source file.

llvm-svn: 16003
2004-08-23 19:29:54 +00:00
Reid Spencer b987b7cede Moved the "SmallExamples" out of the /projects directory and into a new
/examples directory. History was maintained. These programs do not need to
be configured but things in /projects must be.

llvm-svn: 16002
2004-08-23 19:28:39 +00:00
Reid Spencer 300396971c Fix Title line
Make the "DIRS" option descend any directory with a Makefile.

llvm-svn: 16001
2004-08-23 18:06:31 +00:00
Misha Brukman 39efd01983 Note: do not use GNU binutils under AIX, they're not stable.
llvm-svn: 16000
2004-08-23 17:54:45 +00:00
Reid Spencer 06afee6ede Change the makefile back so it descends any directory with a Makefile.
llvm-svn: 15999
2004-08-23 17:47:16 +00:00
Reid Spencer a628856d1e Many useful corrections resulting from Chris Lattner's review. Thanks Chris!
Misha: you're next. :)

llvm-svn: 15996
2004-08-22 18:06:59 +00:00
Reid Spencer f222ee6546 Provide support for retaining the version number found in a config file.
llvm-svn: 15995
2004-08-22 18:03:25 +00:00
Reid Spencer 3820372162 Add the VERSION token.
llvm-svn: 15994
2004-08-22 18:02:41 +00:00
Reid Spencer a318822db2 Add support for version numbers.
Allow CRLF as a line terminator (as well as plain LF)

llvm-svn: 15993
2004-08-22 18:02:13 +00:00
Reid Spencer ed09afc536 Shorten lines so this file can be used as the documentation example
directly. Remove -pre (experimental pass).

llvm-svn: 15992
2004-08-22 18:01:19 +00:00
Nate Begeman 1c57b4fa32 Kill a majority of unnecessary sign extensions for byte loads
llvm-svn: 15991
2004-08-22 08:10:15 +00:00
Nate Begeman 64ef0262bd Don't hard code the offset of the saved R31 in functions with frame pointers
llvm-svn: 15990
2004-08-22 08:09:17 +00:00
Misha Brukman 5d41391185 Bytecode libraries are installed with `make install-bytecode'
llvm-svn: 15989
2004-08-21 23:40:49 +00:00
Reid Spencer 5a2dfbae3d First complete version. The details of configuration are now correctly
stated. PLEASE REVIEW THIS DOCUMENT NOW! :)

llvm-svn: 15988
2004-08-21 22:37:42 +00:00
Reid Spencer f39f66e3ef Initial checkin of a pass to lower packed operations to scalars operations.
This also registers the pass with opt with a -lower-packed command line
option.

Patch contributed by Brad Jones.

llvm-svn: 15987
2004-08-21 21:39:24 +00:00
Reid Spencer d6dd465326 Correct to change interface of the analyzer.
llvm-svn: 15986
2004-08-21 21:00:24 +00:00
Reid Spencer 2807accdc5 Bytecode Analyzer Cleanup:
- Rearrange output order to make more sense
- Make only the function level output count as "detailed"
- Output dump output directly to stream, don't buffer it.
- Fix counting of block sizes
- Implement new handlers for number of types, dependent libs, target triple
- Compute the size of block headers.

llvm-svn: 15985
2004-08-21 20:58:19 +00:00
Reid Spencer 9874c63314 Get rid of an extraneous local variable.
llvm-svn: 15984
2004-08-21 20:53:56 +00:00
Reid Spencer 6639333f20 Two Changes:
- Pass the output stream to the analyzer so it can write its output there
  directly instead of buffering it.
- Don't pass a boolean to ParseBytecode because its not needed any more.

llvm-svn: 15983
2004-08-21 20:52:03 +00:00
Reid Spencer 8631bc3aaa Add boolean file format flags in preparation for version 5 bytecode.
Remove the "processFunctions" boolean from ParseBytecode as it is no
longer needed. This is part of avoiding double reading of functions
when analyzing bytecode.

llvm-svn: 15982
2004-08-21 20:50:49 +00:00
Reid Spencer 191aa30ac1 Bytecode Reader Cleanup:
- provide the correct conversion for ModuleBlockID in read_block (a potential
  bug but not actually exploited because reading module block ids doesn't
  use read_block).
- install support for handleTypeList handler
- install support for handleDependentLibrary handler
- install support for handleTargetTriple handler
- clean up comments, output strings,
- ensure that processing function arguments doesn't SIGSEGV if one of the
  arguments is a null pointer (yeah, it happened .. weird)
- prepare for version 5 bytecode by documenting what will change.

llvm-svn: 15981
2004-08-21 20:49:23 +00:00
Reid Spencer c039e6301a Dump the DependentLibsBlockID, its not a block, its just a list inside the
globals info block. Add an enumerator for getting the number of enumerators
so we can range check in assertions.

llvm-svn: 15980
2004-08-21 20:42:28 +00:00
Nate Begeman 45b0b7cd7c Back out branchless SetCC code. While it helped a lot in some cases, it
hurt a lot in others.  Instead, improve branching version of SetCC and
Select instructions.  The old code will be in CVS should we ever need to
dig it up again.

llvm-svn: 15979
2004-08-21 20:42:14 +00:00
Reid Spencer f9ce66b75a Add new methods:
- get the total number of types in the global type list
- handle dependent libraries
- handle target triple

llvm-svn: 15978
2004-08-21 20:41:12 +00:00
Reid Spencer 83c307de5d Bytecode Analyzer cleanup:
- don't save the "dump" output, just emit it
- record the bc version number
- record info about the dependent libraries and target triple
- use the correct enumeration as the index on the block size map

llvm-svn: 15977
2004-08-21 20:40:08 +00:00
Chris Lattner 8eab62ee0d Alignment is now in bits.
llvm-svn: 15976
2004-08-21 20:15:25 +00:00
Chris Lattner 70efc8f8e1 Switch from bytes to bits for alignment.
Also, change GPRC for PPC32 to align on 32-bit boundary instead of 64-bit

llvm-svn: 15975
2004-08-21 20:14:40 +00:00
Chris Lattner 5f6556da45 Switch from bytes to bits for alignment for consistency
llvm-svn: 15974
2004-08-21 20:14:13 +00:00
Chris Lattner 7c98308013 Reduce uses of getRegClass
llvm-svn: 15973
2004-08-21 20:13:52 +00:00
Chris Lattner a440d5b081 Convert regclass alignment from bytes to bites
llvm-svn: 15972
2004-08-21 20:13:09 +00:00
Chris Lattner b7ddc73b45 Convert bytes to bits in alignment
llvm-svn: 15971
2004-08-21 20:09:46 +00:00
Chris Lattner 36ba4bb042 Register info alignment is in bits, frame object alignment is (currently) in
bytes.

llvm-svn: 15970
2004-08-21 20:04:59 +00:00
Chris Lattner beadefde19 Make alignment be in bits, just like size is
llvm-svn: 15969
2004-08-21 20:00:36 +00:00
Chris Lattner c1ba9fb6e1 Reduce uses of getRegClass
llvm-svn: 15968
2004-08-21 19:51:17 +00:00
Chris Lattner f76ccd43b8 Now that we have per-register spill size/alignment info, remove more uses
of getRegClass

llvm-svn: 15967
2004-08-21 19:45:10 +00:00
Chris Lattner a6d34d9e19 Infer the spillsize/alignment of a register based on the register classes
it is embedded into.

llvm-svn: 15966
2004-08-21 19:42:03 +00:00
Chris Lattner d3244d9cec Support "Methods" in register classes in CodgeGenRegisterClass
llvm-svn: 15965
2004-08-21 19:21:21 +00:00
Chris Lattner f7833ba375 Fix warning
llvm-svn: 15964
2004-08-21 19:11:03 +00:00
Reid Spencer 04f4d52d9e Examine the type code in the setcc class of instructions and if it
is a PackedType, throw an error. Temporary solution.

Patch contributed by Brad Jones.

llvm-svn: 15963
2004-08-21 16:11:02 +00:00
Nate Begeman 3ad3ad4f3f Move XForm instructions over to the auto-generated asm writer
llvm-svn: 15962
2004-08-21 05:56:39 +00:00
Chris Lattner 2a86fab933 Start parsing register classes into a more structured form
llvm-svn: 15961
2004-08-21 04:05:00 +00:00
Chris Lattner e34ae99942 Read in declared reg sizes
llvm-svn: 15960
2004-08-21 02:24:57 +00:00
Chris Lattner 6a92fdef72 Add two values
llvm-svn: 15959
2004-08-21 02:17:39 +00:00
Chris Lattner 8439f382b6 Fix a nasty bug that Nate ran into. In particular, instead of emitting a 2+MB
error message, print out:

llvm-link: error linking in 'g.2.rbc': Global Variable Collision on
' %struct.D_Reduction* %d_reduction_10_gram' - External linkage globals have
different initializers

That's a bit more concise, huh?

llvm-svn: 15958
2004-08-21 00:50:59 +00:00
Reid Spencer 7f9971f349 Change @ -> % in config files. @name@ might be needed for config files to
themselves be configured via autoconf so its not a good substitition syntax
for llvmc. Furthermore % is more llvmish :)

llvm-svn: 15957
2004-08-20 22:53:11 +00:00