summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode
Commit message (Collapse)AuthorAgeFilesLines
...
* Use archive libraries instead of object files for VMCore, BCReader,Reid Spencer2006-06-012-0/+2
| | | | | | | BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate these changes. This was done to speed up link times. llvm-svn: 28610
* Fix a bug in the bc reader/writer: we were not correctly encoding varargsChris Lattner2006-05-262-9/+19
| | | | | | | | | nonccc calls (we were dropping the CC and tail flag). This broke several FORTRAN programs. Testcase here: Regression/Assembler/2006-05-26-VarargsCallEncode.ll llvm-svn: 28501
* Fix misencoding of calling conventionsChris Lattner2006-05-191-2/+3
| | | | llvm-svn: 28411
* When reading the symbol table, make sure to delete the ArchiveMemberReid Spencer2006-05-121-0/+2
| | | | | | created by reading the symbol table. llvm-svn: 28251
* Apply bug fix supplied by Greg Pettyjohn for a bug he found: '<invalid>' is ↵Jeff Cohen2006-05-061-1/+1
| | | | | | not a legal path on Windows. llvm-svn: 28153
* use isValidOperands instead of duplicating checksChris Lattner2006-04-081-13/+24
| | | | llvm-svn: 27527
* Add shufflevector reading supportChris Lattner2006-04-081-0/+22
| | | | llvm-svn: 27509
* We have an assertion that checks that we do not encode null values into theChris Lattner2006-04-071-28/+32
| | | | | | | | | .bc file if they are supposed to be implicit. This is cool, except that it checked *after* constant expr folding: improving constant expr folding could cause the .bc reader to assert out on old .bc files. Move the check so that it checks all simple constants, but no constantexprs. llvm-svn: 27480
* Handle the removal of the debug chain.Jim Laskey2006-03-131-2/+2
| | | | llvm-svn: 26729
* Simplify the autoupgrade interfaceChris Lattner2006-03-021-6/+3
| | | | llvm-svn: 26475
* Fix auto-upgrade of intrinsics to work properly with both assembly andReid Spencer2006-01-272-18/+33
| | | | | | | bytecode reading. This code is crufty, the result of much hacking to get things working correctly. Cleanup patches will follow. llvm-svn: 25682
* add bc reader/writer support for inline asmChris Lattner2006-01-256-34/+74
| | | | llvm-svn: 25621
* Make it even more portable.Jeff Cohen2006-01-251-1/+1
| | | | llvm-svn: 25605
* Portably cast a pointer to an integer.Jeff Cohen2006-01-251-1/+1
| | | | llvm-svn: 25594
* Rename methodChris Lattner2006-01-242-2/+2
| | | | llvm-svn: 25571
* Add support for reading/writing inline asmChris Lattner2006-01-232-1/+8
| | | | llvm-svn: 25564
* Revert last patch because it messes up the JIT, amongst other things.Reid Spencer2006-01-231-5/+14
| | | | llvm-svn: 25541
* For PR411:Reid Spencer2006-01-231-14/+5
| | | | | | | Don't try to be smart about fixing intrinsic functions when they're read in, just fix them after the module is read when all names are resolved. llvm-svn: 25539
* 1. Identify bytecode modules that have upgraded intrinsics by setting aReid Spencer2006-01-191-7/+19
| | | | | | | | | boolean flag if we read a function prototype that needs upgrading. 2. Don't upgrade the CallInst instruction until after its been inserted into the basic block, and only if we know that we have seen an upgraded intrinsic function. llvm-svn: 25448
* Add a flag to identify bytecode files that have intrinsic functions thatReid Spencer2006-01-191-0/+7
| | | | | | need to be upgraded. llvm-svn: 25445
* Make sure intrinsic auto-upgrade is invoked correctly.Reid Spencer2006-01-191-0/+5
| | | | llvm-svn: 25434
* Reader support for the insertelement operation.Robert Bocchino2006-01-171-0/+18
| | | | llvm-svn: 25404
* For PR411:Reid Spencer2006-01-161-0/+2
| | | | | | | | | | | | | | | | This patch is an incremental step towards supporting a flat symbol table. It de-overloads the intrinsic functions by providing type-specific intrinsics and arranging for automatically upgrading from the old overloaded name to the new non-overloaded name. Specifically: llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64 llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64 llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64 llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64 llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64 New code should not use the overloaded intrinsic names. Warnings will be emitted if they are used. llvm-svn: 25366
* Added bytecode support for the extractelement operation.Robert Bocchino2006-01-101-0/+13
| | | | llvm-svn: 25178
* more C++ daintinessDuraid Madina2005-12-261-0/+1
| | | | llvm-svn: 25023
* I bet pinski knows why g++ accepts this stuffDuraid Madina2005-12-262-0/+3
| | | | llvm-svn: 25022
* Fix a problem with llvm-ranlib that (on some platforms) caused the archiveReid Spencer2005-11-302-36/+72
| | | | | | | | | | file to become corrupted due to interactions between mmap'd memory segments and file descriptors closing. The problem is completely avoiding by using a third temporary file. Patch provided by Evan Jones llvm-svn: 24527
* trivial cleanupChris Lattner2005-11-121-2/+2
| | | | llvm-svn: 24330
* Fix reading LLVM 1.3 bc files.Chris Lattner2005-11-121-1/+1
| | | | llvm-svn: 24329
* Read and write section info from/to .bc filesChris Lattner2005-11-123-20/+80
| | | | llvm-svn: 24321
* Wrap long line.Jeff Cohen2005-11-121-1/+2
| | | | llvm-svn: 24320
* Fix VC++ warning that bools cannot be ORed.Jeff Cohen2005-11-121-1/+1
| | | | llvm-svn: 24319
* minor clarity changes, no functionality difference.Chris Lattner2005-11-061-2/+2
| | | | llvm-svn: 24223
* don't misencode CC#'sChris Lattner2005-11-062-4/+5
| | | | llvm-svn: 24219
* encode/decode function alignment in bc filesChris Lattner2005-11-062-24/+30
| | | | llvm-svn: 24218
* Read/write global variable alignments if presentChris Lattner2005-11-062-6/+37
| | | | llvm-svn: 24216
* Write/read allocation instruction alignment info to .bc files.Chris Lattner2005-11-052-8/+21
| | | | llvm-svn: 24203
* DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE nowChris Lattner2005-10-241-1/+0
| | | | llvm-svn: 23940
* When a function takes a variable number of pointer arguments, with a zeroJeff Cohen2005-10-232-5/+7
| | | | | | | | | | | | | pointer marking the end of the list, the zero *must* be cast to the pointer type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will not extend the zero to 64 bits, thus allowing the upper 32 bits to be random junk. The new END_WITH_NULL macro may be used to annotate a such a function so that GCC (version 4 or newer) will detect the use of un-casted zero at compile time. llvm-svn: 23888
* Use a map to cache the ModuleType information, so we can do logarithmicChris Lattner2005-10-032-8/+47
| | | | | | | | | | | | | lookups instead of linear time lookups. This speeds up bc parsing of a large file from 137.834u 118.256s 4:27.96 to 132.611u 114.436s 4:08.53 with a release build. llvm-svn: 23611
* speed up Archive::isBytecodeArchive in the case when the archive doesn't haveChris Lattner2005-09-231-18/+24
| | | | | | | an llvm-ranlib symtab. This speeds up gccld -native on an almost empty .o file from 1.63s to 0.18s. llvm-svn: 23406
* Culling out use of unions for converting FP to bits and vice versa.Jim Laskey2005-08-172-37/+21
| | | | llvm-svn: 22838
* This is a dummy, it doesn't matter what the ValueType isChris Lattner2005-08-161-1/+1
| | | | llvm-svn: 22809
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-273-13/+13
| | | | llvm-svn: 22523
* Final Changes For PR495:Reid Spencer2005-07-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This chagne just renames some sys::Path methods to ensure they are not misused. The Path documentation now divides methods into two dimensions: Path/Disk and accessor/mutator. Path accessors and mutators only operate on the Path object itself without making any disk accesses. Disk accessors and mutators will also access or modify the file system. Because of the potentially destructive nature of disk mutators, it was decided that all such methods should end in the work "Disk" to ensure the user recognizes that the change will occur on the file system. This patch makes that change. The method name changes are: makeReadable -> makeReadableOnDisk makeWriteable -> makeWriteableOnDisk makeExecutable -> makeExecutableOnDisk setStatusInfo -> setStatusInfoOnDisk createDirectory -> createDirectoryOnDisk createFile -> createFileOnDisk createTemporaryFile -> createTemporaryFileOnDisk destroy -> eraseFromDisk rename -> renamePathOnDisk These changes pass the Linux Deja Gnu tests. llvm-svn: 22354
* For PR495:Reid Spencer2005-07-072-4/+4
| | | | | | | | | | | | | | | | | | | | | Get rid of the difference between file paths and directory paths. The Path class now simply stores a path that can refer to either a file or a directory. This required various changes in the implementation and interface of the class with the corresponding impact to its users. Doxygen comments were also updated to reflect these changes. Interface changes are: appendDirectory -> appendComponent appendFile -> appendComponent elideDirectory -> eraseComponent elideFile -> eraseComponent elideSuffix -> eraseSuffix renameFile -> rename setDirectory -> set setFile -> set Changes pass Dejagnu and llvm-test/SingleSource tests. llvm-svn: 22349
* If we support structs as va_list, we must pass pointers to them to va_copyAndrew Lenharth2005-06-221-4/+8
| | | | | | See last commit for LangRef, this implements it on all targets. llvm-svn: 22273
* va_end fixAndrew Lenharth2005-06-191-0/+1
| | | | llvm-svn: 22262
* core changes for varargsAndrew Lenharth2005-06-184-22/+135
| | | | llvm-svn: 22254
* Remove code for conversion from old style va_args. Preparing the way forAndrew Lenharth2005-06-081-76/+3
| | | | | | returning to the old style :) llvm-svn: 22199
OpenPOWER on IntegriCloud