summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode
Commit message (Collapse)AuthorAgeFilesLines
* For PR950:Reid Spencer2006-10-202-19/+17
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Fix massive resource leaks in the bytecode reader. Reading a bytecode fileChris Lattner2006-10-122-45/+46
| | | | | | | | | with ParseBytecodeFile used to leak both a ModuleProvider (and related bytecode parser stuff attached to it) AND a file descriptor, which was never closed. This prevented gccld/llvm-ld/llvm-link from linking together apps with more that ~252 .bc files on darwin. llvm-svn: 30912
* Small fixes for supporting dll* linkage typesAnton Korobeynikov2006-09-171-0/+1
| | | | llvm-svn: 30441
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-142-9/+40
| | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
* - Fixed broken Win32 buildAnton Korobeynikov2006-09-012-2/+2
| | | | | | - Removed warning about clobbered parameter in Bytecode/Reader llvm-svn: 30026
* For PR797:Reid Spencer2006-08-254-25/+20
| | | | | | | | | | | | | | | Final commit for this bug. This removes the last EH holdouts in LLVM and turns off exception support by using the -fno-exceptions option. This leads to the following reduction in library and executable sizes: DEBUG BUILD RELEASE BUILD before after delta before after delta lib 162,328K 157,616K 4,712 17,864K 16,416K 1,448K bin 571,444K 557,156K 14,288 63,296K 56,996K 6,300K Debug Improvement: 19,000K (2.59%) Release Improvement: 7,748K (9.55%) llvm-svn: 29882
* For PR797:Reid Spencer2006-08-253-109/+143
| | | | | | | Remove exception throwing/handling from lib/Bytecode, and adjust its users to compensate for changes in the interface. llvm-svn: 29875
* For PR797:Reid Spencer2006-08-243-57/+65
| | | | | | | Remove exception handling from the bytecode archiver and adjust the llvm-ar tool to accommodate the new interfaces. llvm-svn: 29866
* For PR797:Reid Spencer2006-08-231-2/+4
| | | | | | | Eliminate exception throwing from Path::renamePathOnDisk and adjust its users correspondingly. llvm-svn: 29843
* For PR797:Reid Spencer2006-08-231-2/+4
| | | | | | | Remove exceptions from the Path::create*OnDisk methods. Update their users to handle error messages via arguments and result codes. llvm-svn: 29840
* Inverse the error check logic for the MappedFile::map() call. It returnsReid Spencer2006-08-221-1/+1
| | | | | | a null pointer when there is an error. llvm-svn: 29827
* For PR797:Reid Spencer2006-08-221-8/+16
| | | | | | | | Adjust the use of MappedFile to its new non-throwing interface. We just propagate the exceptions if an error occurs. This will get cleaned up later, incrementally. llvm-svn: 29820
* For PR797:Reid Spencer2006-08-222-118/+119
| | | | | | | | Make the Bytecode Reader use setjmp/longjump instead of exceptions to handle errors. The alternative was even uglier than setjmp/longjump as it would impact the interface and workings of nearly every function in the reader. llvm-svn: 29819
* For PR797:Reid Spencer2006-08-222-6/+19
| | | | | | | Adjust to new interface for MappedFile. Note that the new "throw" statements will be removed later. llvm-svn: 29818
* Modify Path::eraseFromDisk to not throw an exception.Chris Lattner2006-07-281-6/+5
| | | | llvm-svn: 29400
* formatting cleanupsChris Lattner2006-07-281-12/+11
| | | | llvm-svn: 29396
* Change Path::getStatusInfo to return a boolean and error string on an errorChris Lattner2006-07-282-3/+7
| | | | | | | | instead of throwing an exception. This reduces the amount of code that is exposed to exceptions (e.g. FileUtilities), though it is clearly only one step along the way. llvm-svn: 29395
* Exceptions are thrown by and through this library.Chris Lattner2006-07-281-0/+1
| | | | llvm-svn: 29393
* Finish removal of EH usage from the Archive library. The REQUIRES_EH flagReid Spencer2006-07-073-70/+137
| | | | | | | in lib/Bytecode/Archive/Makefile is now removed. One small step closer to a smaller LLVM. llvm-svn: 29067
* Remove EH use from the Archive library and adjust its users accordingly.Reid Spencer2006-07-071-98/+109
| | | | llvm-svn: 29066
* These libs use EH infoChris Lattner2006-07-072-1/+3
| | | | llvm-svn: 29043
* Fix a bug in my previous patch which broke building llvm/runtime when using ↵Chris Lattner2006-07-071-1/+1
| | | | | | llvm-gcc3. llvm-svn: 29041
* Change the ModuleProvider interface to not throw exceptions.Chris Lattner2006-07-062-19/+32
| | | | llvm-svn: 29024
* Change the verifier to never throw an exception. Instead verifyModule ↵Chris Lattner2006-07-061-25/+15
| | | | | | canoptionally return the string error, which is an easier api for clients touse anyway. llvm-svn: 29017
* For PR787:Reid Spencer2006-06-072-0/+8
| | | | | | | | | | | | Provide new llvm::sys::Program facilities for converting the stdout and stdin to binary mode. There is no standard way to do this and the available mechanisms are platform specific. Adjust the bytecode reader and writer to use these methods when their input is stdin or output is stdout. THis avoids the problem with \n writing CRLF to a bytecode file on windows. Patch Contributed by Michael Smith. llvm-svn: 28722
* Fix a bug where the types for inlineasm nodes were not properly entered intoChris Lattner2006-06-071-2/+2
| | | | | | | the compaction table for a function. This broke compilation of hexxagon on darwin/x86 with recent changes. llvm-svn: 28717
* 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
OpenPOWER on IntegriCloud