1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-30 15:32:52 +01:00
Commit Graph

302 Commits

Author SHA1 Message Date
Reid Spencer
e6418ec30f Update to reflect changes in Makefile rules.
llvm-svn: 16950
2004-10-13 11:46:52 +00:00
Reid Spencer
7d9cba7a0f Initial version of automake Makefile.am file.
llvm-svn: 16885
2004-10-10 20:43:57 +00:00
Misha Brukman
a31e841080 Fix doxygen comment
llvm-svn: 16542
2004-09-28 16:57:46 +00:00
Chris Lattner
047daf6261 The system ranlib on darwin occasionally adds two extra newlines to the
end of files, breaking the CFE build.  As a gross hack around this,
ignore any trailing garbage on bytecode files.  Thanks to Brian for digging
in and identifying the problem.

llvm-svn: 16525
2004-09-27 16:59:06 +00:00
Reid Spencer
c6a8d70cff Convert code to compile with vc7.1.
Patch contributed by Paolo Invernizzi. Thanks Paolo!

llvm-svn: 16368
2004-09-15 17:06:42 +00:00
Misha Brukman
e0998a1df8 Unbreak doxygen, according to Reid.
llvm-svn: 16298
2004-09-12 20:56:38 +00:00
Misha Brukman
7554de4ba6 Fix code spacing/alignment
llvm-svn: 16297
2004-09-12 20:47:33 +00:00
Reid Spencer
378bdcd409 Change interface to use correct typedef so it will always compile.
llvm-svn: 16281
2004-09-11 04:22:58 +00:00
Reid Spencer
f0bec2fe30 Print the dependent libraries when dumping bytecode.
llvm-svn: 16275
2004-09-11 04:14:07 +00:00
Alkis Evlogimenos
0c50e0f211 Fixes to make LLVM compile with vc7.1.
Patch contributed by Paolo Invernizzi!

llvm-svn: 16152
2004-09-03 18:19:51 +00:00
Reid Spencer
c4abcbefb1 Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.

llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer
1233a0885a Correctly compute the number of compaction tables.
llvm-svn: 16064
2004-08-27 00:43:51 +00:00
Reid Spencer
2d1ee6c0d5 Add a wrapper for extraction of the dependent libraries from a bytecode
file.

llvm-svn: 16037
2004-08-24 22:46:20 +00:00
Reid Spencer
4691dfb9ba Rearrange output a little to make it nicer.
llvm-svn: 16036
2004-08-24 22:45:32 +00:00
Reid Spencer
d7d70bdccb 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
4c9c991659 Get rid of an extraneous local variable.
llvm-svn: 15984
2004-08-21 20:53:56 +00:00
Reid Spencer
84d4e1b105 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
c0868628e0 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
09976167c1 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
Brian Gaeke
01636f4e0f Packed types, brought to you by Brad Jones
llvm-svn: 15938
2004-08-20 06:00:58 +00:00
Reid Spencer
90f77c960f Bytecode File Format Changes:
- File format version number bumped to 4
- Writer will now align nothing
- Reader now only expects alignment for version 3 or earlier

llvm-svn: 15875
2004-08-17 07:45:14 +00:00
Reid Spencer
bc04b0b4b5 Turn a use of intptr_t into a reinterpret_cast<uint64_t> instead to get
rid of compilation warnings on some platforms.

llvm-svn: 15512
2004-08-04 22:56:46 +00:00
Chris Lattner
21a0243ceb Make getGlobalTableValue not use getTypeSlot, this speeds up the bc reader
by 5% on eon

llvm-svn: 15452
2004-08-04 00:19:23 +00:00
Chris Lattner
7c4828adaf Do not do a linear std::find to reconstruct information we had, but later threw
away.  This speeds up by .bc reader by 30% in a profile build on 252.eon.

llvm-svn: 15450
2004-08-03 23:41:28 +00:00
Chris Lattner
60e918e115 Simplify code and silence warning
llvm-svn: 15255
2004-07-27 02:34:49 +00:00
Chris Lattner
e643adb9e5 Fix a serious bug in the double constant reader. In particular, because
(At[3] << 24) is an int type and it is being coerced to uint64_t, it was
getting sign extended, causing us to get FFFFFFFFxxxxxxxx constants all of
the time.

llvm-svn: 15224
2004-07-25 23:15:44 +00:00
Reid Spencer
5aeeecb218 Always write FP values correctly.
Adjust for new Module.h interface for dependent libraries.
Excise unused backwards compatibility flag.

llvm-svn: 15220
2004-07-25 21:36:26 +00:00
Reid Spencer
bf99424415 Don't create a backwards compatibility flag for something that was a
regression bug introduced in release 1.2

llvm-svn: 15219
2004-07-25 21:32:51 +00:00
Reid Spencer
3043e82af5 bug 263:
- encode/decode target triple and dependent libraries
bug 401:
- fix encoding/decoding of FP values to be little-endian only
bug 402:
- initial (compatible) cut at 24-bit types instead of 32-bit
- reduce size of block headers by 50%
Other:
- cleanup Writer by consolidating to one compilation unit, rem. other files
- use a std::vector instead of std::deque so the buffer can be allocated
  in multiples of 64KByte chunks rather than in multiples of some smaller
  (default) number.

llvm-svn: 15210
2004-07-25 18:07:36 +00:00
Reid Spencer
4cb4f5f488 User ValueListTy as the type of the ValueList. This avoides the ValueList
from being treated like a Function which can cause the contents of the list
to be come invalidated.

llvm-svn: 14940
2004-07-18 00:13:12 +00:00
Reid Spencer
99ac617179 bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14939
2004-07-18 00:12:03 +00:00
Reid Spencer
b320f8eb03 bug 122:
- Update for BytecodeHandler interface change resuing from CPRs going away

llvm-svn: 14938
2004-07-18 00:10:36 +00:00
Brian Gaeke
d8746a7ab6 Actually set the endian/pointersize flags on the module being read in!
llvm-svn: 14826
2004-07-14 20:33:13 +00:00
Brian Gaeke
f6ec78a335 Fix warning on SparcV9, where sizeof (int) != sizeof (void *).
llvm-svn: 14786
2004-07-13 07:37:43 +00:00
Reid Spencer
c6bdf47e72 Various cleanups:
- Remove tabs
- Standardize use of space around ( and ).
- Consolidate the ConstantPlaceHolder class
- Rename two methods to be more meaningful (ParseType, ParseTypes)
- Correct indentation of blocks
- Add documentation
- Convert input dependent asserts to error(...) so it throws instead.
Provide placeholder implementations of read_float and read_double that
still read in platform-specific endianess. When I figure out how to do
this without knowing the endianess of the platform, it will get implemented
correctly.

llvm-svn: 14765
2004-07-11 17:28:43 +00:00
Reid Spencer
1d6847c22e - Rename two methods to give them more meaning
- Add read_float and read_double in preparation for a correct
  implementation of bytecode floating point support.

llvm-svn: 14764
2004-07-11 17:24:05 +00:00
Reid Spencer
27a5454cf0 Make the VBRSavings percentage make sense (as a fraction of the total
expanded size instead of the file size). Thanks Chris.

llvm-svn: 14731
2004-07-10 08:04:13 +00:00
Reid Spencer
20dc3903a6 Error Handling Cleanup:
- get rid of PARSE_ERROR macro
- add error(std::string) function
- use error(std::string) for all errors
- make input dependent asserts call error(std::string) instead
- ensure asserts are only for logic bugs, not input discrepancies.

llvm-svn: 14729
2004-07-09 22:21:33 +00:00
Reid Spencer
d38042c423 Fix a backwards compatibility bug found by Tanya. In version 1.2, the
global type plane starts with a length and the TypeTyID value to identify
the type plane has having type definitions. This doesn't happen in 1.3
because the types are read from a known position in the file. However, the
TypeTyID must be read in (and ignored) if its a 1.2 bytecode file.

llvm-svn: 14728
2004-07-09 21:13:53 +00:00
Reid Spencer
3e8a01d80f Remove definition and use of OtherVal enumerator. This just fixes a thinko.
llvm-svn: 14634
2004-07-06 01:30:36 +00:00
Reid Spencer
4d7e02d657 Finalize bytecode dumping. The "handleFinish" method was getting called
too soon so the function data was not getting dumped (it was generated
after the call handleFinish). Also cleaned up the output format for
proper indentation.

llvm-svn: 14627
2004-07-05 00:57:50 +00:00
Reid Spencer
58d99835c3 - Don't use macros to call the BytecodeHandler
- Don't use PARSE_ERROR macro unnecessarily (for simple strings)
- Add comments before each function
- Convert for bug 122 (Type != Value)
- Handle new value range on Type::PrimitiveTypeId enumeration by augmenting
  the reader with a new read_typeid method and sanitizeTypeId method.
- Remove BytecodeHandler's default method implementations to header file.

llvm-svn: 14604
2004-07-04 11:33:49 +00:00
Reid Spencer
1ed71ecc7c - Make ValueList an "OtherVal" user of Values to ensure it doesn't get
mistaken for anything else.
- Move function descriptions to Reader.cpp file per Chris.
- Remove tabs.

llvm-svn: 14602
2004-07-04 11:04:56 +00:00
Reid Spencer
1b40b59651 Remove tabs. Move function declaration to Reader.h where it belongs.
llvm-svn: 14601
2004-07-04 11:03:03 +00:00
Reid Spencer
b342d41159 Add #include <iostream> which is needed now that Value.h doesn't include it
llvm-svn: 14600
2004-07-04 11:01:27 +00:00
Reid Spencer
43f703a636 Excise tabs.
llvm-svn: 14599
2004-07-04 11:00:39 +00:00
Reid Spencer
d15e874bb7 Remove files no longer needed. ConstantReader and InstructionReader were
integrated into Reader. Parser.* was just a bad idea. AnalyzerInternals.h
is no longer needed. ReaderPrimitives.h was integrated into Reader.h and
Reader.cpp. Dumper.cpp was integrated into Analyzer.cpp. ReaderInternals.h
became Reader.h. AnalyzerWrappers.cpp was integerated into
ReaderWrappers.cpp

llvm-svn: 14496
2004-06-29 23:32:41 +00:00
Reid Spencer
b8b9962dd1 This is a slimming down of the previous ReaderInternals.h that just
declares the BytecodeReader class.

llvm-svn: 14495
2004-06-29 23:31:01 +00:00
Reid Spencer
401a9df238 MAJOR REWRITE.
- stop passing Buf/BufEnd to every function (now member vars)
- internalize things that used to be in a header file that no one else
  included/needed.
- Remove defunct BCR_TRACE lines
- Standardize error handling with the PARSE_ERROR macro.
- Integrate ConstantReader.cpp and InstructionReader.cpp and reorgnize
  the definition order so that gcc has a chance at optimizing this module
- Standardize case and style of method names.
- Eliminate unneeded header files
- Prepare for Type != Value (bug122) change by splitting Types into their
  own data structures.
- Implement the BytecodeHandler interface calls.
- Provide default implementation of BytecodeHandler interface.

llvm-svn: 14494
2004-06-29 23:29:38 +00:00
Reid Spencer
e0ce1743c6 Adjustments to allow Bytecode Reading to support the BytecodeHandler
interface which is called by the reader if a BytecodeHandler is provided.

llvm-svn: 14493
2004-06-29 23:24:14 +00:00