summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Reader/Reader.cpp
Commit message (Collapse)AuthorAgeFilesLines
* For PR950:Reid Spencer2006-10-201-13/+11
| | | | | | | | 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
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-0/+14
| | | | | | | | | 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-011-1/+1
| | | | | | - Removed warning about clobbered parameter in Bytecode/Reader llvm-svn: 30026
* For PR797:Reid Spencer2006-08-251-4/+12
| | | | | | | | | | | | | | | 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-221-115/+111
| | | | | | | | 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
* Fix a bug in the bc reader/writer: we were not correctly encoding varargsChris Lattner2006-05-261-8/+9
| | | | | | | | | 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
* 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-271-15/+30
| | | | | | | 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-251-8/+31
| | | | 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-241-1/+1
| | | | llvm-svn: 25571
* Add support for reading/writing inline asmChris Lattner2006-01-231-1/+5
| | | | 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
* 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
* 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-121-10/+42
| | | | llvm-svn: 24321
* minor clarity changes, no functionality difference.Chris Lattner2005-11-061-2/+2
| | | | llvm-svn: 24223
* don't misencode CC#'sChris Lattner2005-11-061-1/+1
| | | | llvm-svn: 24219
* encode/decode function alignment in bc filesChris Lattner2005-11-061-14/+16
| | | | llvm-svn: 24218
* Read/write global variable alignments if presentChris Lattner2005-11-061-0/+12
| | | | llvm-svn: 24216
* Write/read allocation instruction alignment info to .bc files.Chris Lattner2005-11-051-8/+14
| | | | llvm-svn: 24203
* When a function takes a variable number of pointer arguments, with a zeroJeff Cohen2005-10-231-2/+4
| | | | | | | | | | | | | 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-031-8/+41
| | | | | | | | | | | | | 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
* Culling out use of unions for converting FP to bits and vice versa.Jim Laskey2005-08-171-15/+6
| | | | llvm-svn: 22838
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-2/+2
| | | | llvm-svn: 22523
* core changes for varargsAndrew Lenharth2005-06-181-3/+36
| | | | llvm-svn: 22254
* remove some dead (always dynamically false) flagsChris Lattner2005-05-061-21/+1
| | | | llvm-svn: 21752
* encode calling conventions for call/invoke instructions.Chris Lattner2005-05-061-7/+37
| | | | llvm-svn: 21751
* encode function calling convs in the bytecode file. invoke and call areChris Lattner2005-05-061-0/+8
| | | | | | still to come. llvm-svn: 21749
* add bytecode reader support for tail callsChris Lattner2005-05-061-0/+2
| | | | llvm-svn: 21727
* Remove vim settings from source code; people should use llvm/utils/vim/vimrcMisha Brukman2005-05-051-1/+0
| | | | llvm-svn: 21704
* Add some extra checks. Opaque types don't have a null marker.Chris Lattner2005-05-051-4/+10
| | | | llvm-svn: 21700
* Remove trailing whitespaceMisha Brukman2005-04-211-114/+114
| | | | llvm-svn: 21417
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-1/+1
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* second argument to Value::setName is now gone.Chris Lattner2005-03-051-1/+1
| | | | llvm-svn: 20463
* use more specific cast.Chris Lattner2005-02-241-1/+1
| | | | llvm-svn: 20297
* Make sure to clear the LazyFunctionLoadMap after we ParseAllFunctionBodies.Chris Lattner2005-02-131-1/+2
| | | | | | | | | Otherwise, clients who call ParseAllFunctionBodies will attempt to parse the function bodies twice, which is (uh) very very bad (tm). This fixes gccld on python. llvm-svn: 20152
* Fix the regressions my User changes introduced. Apparently some parts ofChris Lattner2005-01-311-1/+4
| | | | | | | LLVM make the very reasonable assumption that constant expressions will have at least one operand! :) llvm-svn: 19943
* Adjust to changes in User class and minor changes in instruction ctors.Chris Lattner2005-01-291-13/+12
| | | | llvm-svn: 19894
* Fix problems uncovered by VC++ (first time compiled by VC++)Jeff Cohen2004-12-201-1/+2
| | | | llvm-svn: 19056
OpenPOWER on IntegriCloud