summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Reader/Reader.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Remove a dead field, make the map go to integer type ID to hash better andChris Lattner2004-12-091-15/+10
| | | | | | avoid a getType. llvm-svn: 18691
* Remove #include inadvertently addedChris Lattner2004-12-091-2/+0
| | | | llvm-svn: 18686
* Eliminate this ugly hack. This was put back in when replaceAllUsesOf usedChris Lattner2004-12-091-30/+6
| | | | | | | | | | | | a different algorithm that was extremely inefficient for instructions with many operands. This reduces the time of this code snippet from .23s for 176.gcc to 0.03s in a debug build, which speeds up total llvm-dis time just barely. It's more of a code cleanup than a speedup. llvm-svn: 18685
* Provide more information in the error message that occurs when there areReid Spencer2004-12-041-2/+10
| | | | | | unresolved constants remaining. llvm-svn: 18502
* Do not allow bytecode files with unresolved references to be read. DoingChris Lattner2004-12-041-1/+7
| | | | | | | so lets wierd ConstantPlaceholder objects sneak into the system which confuses it greatly. llvm-svn: 18487
* RevisionNum is read by error(), initialize it early.Chris Lattner2004-11-301-0/+1
| | | | llvm-svn: 18386
* Add note that this is for old bytecode files.Chris Lattner2004-11-191-1/+1
| | | | llvm-svn: 17991
* Use a per-function flag bit to indicate whether or not there is a functionChris Lattner2004-11-151-3/+6
| | | | | | body for the function. llvm-svn: 17858
* Make *SURE* to null out the pointer before throwing an exception, otherwiseChris Lattner2004-11-151-2/+6
| | | | | | the dtor for the BytecodeReader class will try to free it again! llvm-svn: 17856
* Make functions default to having external linkage if they have noChris Lattner2004-11-151-2/+2
| | | | | | FunctionBlock. llvm-svn: 17853
* Simplify decompression code by using the high level interface to the CompressorReid Spencer2004-11-141-57/+11
| | | | llvm-svn: 17768
* Mark an unmaterialized function as having GhostLinkageMisha Brukman2004-11-141-0/+4
| | | | llvm-svn: 17748
* * Comments & cleanup per CL code review.Reid Spencer2004-11-071-22/+56
| | | | | | * Accept 'llvc' as signature for compressed bytecode llvm-svn: 17579
* Add support for compressed bytecodeReid Spencer2004-11-061-3/+40
| | | | llvm-svn: 17535
* Do not erroneously accept revision 6 bytecode files when the format hasn'tChris Lattner2004-10-161-5/+2
| | | | | | been defined yet! llvm-svn: 17063
* Add support for undef, unreachable, and function flagsChris Lattner2004-10-161-19/+67
| | | | llvm-svn: 17054
* Fit in 80 columnsChris Lattner2004-10-141-13/+14
| | | | llvm-svn: 16962
* Fix doxygen commentMisha Brukman2004-09-281-1/+1
| | | | llvm-svn: 16542
* The system ranlib on darwin occasionally adds two extra newlines to theChris Lattner2004-09-271-2/+8
| | | | | | | | 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
OpenPOWER on IntegriCloud