summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Reader/InstructionReader.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Squelch compile-time warning (profile build).Misha Brukman2004-04-281-1/+1
| | | | llvm-svn: 13228
* Fix warning building in optimized modeChris Lattner2004-04-271-0/+1
| | | | llvm-svn: 13190
* Implement support for a new LLVM 1.3 bytecode format, which uses uint'sChris Lattner2004-04-051-4/+29
| | | | | | | to index into structure types and allows arbitrary 32- and 64-bit integer types to index into sequential types. llvm-svn: 12651
* Remove a bunch of cruft that was used to be backwards compatible with the lastChris Lattner2004-04-031-61/+18
| | | | | | | prerelease format for LLVM bytecode files. Now we only are compatible with LLVM 1.0+. llvm-svn: 12643
* Read select instrs from bytecodeChris Lattner2004-03-121-0/+5
| | | | llvm-svn: 12314
* Start using the new and improve interface to FunctionType argumentsChris Lattner2004-02-091-10/+10
| | | | llvm-svn: 11224
* Change all of the bytecode reader primitives to throw exceptions instead ofChris Lattner2004-01-151-14/+6
| | | | | | | | | | returning error codes. Because they don't return an error code, they can return the value read, which simplifies the code and makes the reader more efficient (yaay!). Also eliminate the special case code for little endian machines. llvm-svn: 10871
* Inching our way towards fixing PR82Chris Lattner2004-01-091-1/+4
| | | | llvm-svn: 10721
* Minor efficiency improvements, finegrainify namespacificationChris Lattner2003-11-191-11/+16
| | | | llvm-svn: 10084
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-2/+4
| | | | llvm-svn: 9903
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Change the Opcode enum for PHI nodes from "Instruction::PHINode" to ↵Chris Lattner2003-10-191-1/+1
| | | | | | "Instruction::PHI" to be more consistent with the other instructions. llvm-svn: 9269
* * New revised variable argument handling supportChris Lattner2003-10-181-50/+127
| | | | | | | * More dense bytecode encoding for varargs calls (like printf) * Eliminated the extremely old bytecode format. rev #0 is now 1.0 llvm-svn: 9220
* Reserve space for PHI nodes when we read them in. This provides a VERYChris Lattner2003-10-091-0/+1
| | | | | | tasty 15% speedup on the testcase from Bill. llvm-svn: 8993
* Use the version of getValue that takes the type plane instead of the typeChris Lattner2003-10-091-16/+16
| | | | | | if possible. This provides a consistent 8.5% speedup. llvm-svn: 8991
* Pass a vector around to reduce dynamic allocationChris Lattner2003-10-091-11/+13
| | | | | | Throw the RawInst class in an anon namespace llvm-svn: 8990
* Major refactoring of the bytecode reader. This includes the followingChris Lattner2003-10-091-242/+140
| | | | | | | | | | | | | | | changes: * BytecodeReader::getType(...) used to return a null pointer on error. This was only checked about half the time. Now we convert it to throw an exception, and delete the half that checked for error. This was checked in before, but psmith crashed and lost the change :( * insertValue no longer returns -1 on error, so callers don't need to check for it. * Substantial rewrite of InstructionReader.cpp, to use more efficient, simpler, data structures. This provides another 5% speedup. This also makes the code much easier to read and understand. llvm-svn: 8984
* Significantly clean up parsing of instructions. This exceptionizes andChris Lattner2003-10-091-138/+103
| | | | | | | simplifies the control flow a bit. This provides a small (~3%) speedup, but it's primarily a cleanup exercise. llvm-svn: 8983
* This patch substantially simplifies and cleans up handling of basic blocksChris Lattner2003-10-081-20/+17
| | | | | | | | | | | | | in the bytecode parser. Before we tried to shoehorn basic blocks into the "getValue" code path with other types of values. For a variety of reasons this was a bad idea, so this patch separates it out into its own data structure. This simplifies the code, makes it fit in 80 columns, and is also much faster. In a testcase provided by Bill, which has lots of PHI nodes, this patch speeds up bytecode parsing from taking 6.9s to taking 2.32s. More speedups to follow later. llvm-svn: 8977
* Various cleanups and simplifications. This speeds up reading a bytecode fileChris Lattner2003-10-081-18/+18
| | | | | | Bill gave me from 8.69s to 6.90s. llvm-svn: 8971
* Stop returning bool and pass Instruction by reference;Misha Brukman2003-09-231-133/+144
| | | | | | return std::auto_ptr and use exceptions llvm-svn: 8684
* Fixed spelling and grammar.Misha Brukman2003-09-111-1/+1
| | | | llvm-svn: 8489
* Fix bugChris Lattner2003-09-081-1/+2
| | | | llvm-svn: 8410
* Add support for the unwind instructionChris Lattner2003-09-081-0/+3
| | | | llvm-svn: 8408
* Read volatile loads/storesChris Lattner2003-09-081-2/+4
| | | | llvm-svn: 8401
* Remove a gross hack that was there to support bytecode files that are over a ↵Chris Lattner2003-09-081-63/+10
| | | | | | | | year old. If you still have these suckers laying around, you have GOT to rebuild them. geeze. llvm-svn: 8395
* Fix reading of invoke instrsChris Lattner2003-09-051-22/+23
| | | | llvm-svn: 8365
* Whoa, we were misreading invoke instructions "normal" destinations quite badly.Chris Lattner2003-09-051-2/+2
| | | | llvm-svn: 8363
* Rename SwitchInst::dest_push_back -> addCaseChris Lattner2003-08-231-2/+2
| | | | llvm-svn: 8089
* Fix bug: Assembler/2003-06-17-InvokeDisassemble.llxChris Lattner2003-06-171-10/+14
| | | | | | "yes, invoke instructions can have just three arguments" llvm-svn: 6736
* Eliminate the uchar typedef, use unsigned char explicitlyChris Lattner2003-05-221-2/+4
| | | | llvm-svn: 6283
* Add support for the new va_arg instructionChris Lattner2003-05-081-1/+5
| | | | llvm-svn: 6029
* Use the std namespace explicitlyChris Lattner2003-03-061-31/+29
| | | | llvm-svn: 5708
* - Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd toChris Lattner2002-10-131-2/+2
| | | | | | reflect the fact that it's a range being defined. llvm-svn: 4147
* Change the MallocInst & AllocaInst ctors to take the allocated type, not theChris Lattner2002-09-131-2/+8
| | | | | | pointer type returned. llvm-svn: 3711
* Eliminated the MemAccessInst class, folding contents into GEP class.Chris Lattner2002-08-221-4/+4
| | | | llvm-svn: 3487
* Load & StoreInst no longer derive from MemAccessInst, so we don't haveChris Lattner2002-08-221-1/+1
| | | | | | to handle indexing anymore llvm-svn: 3485
* Emit an obnoxious warning message for bytecode that includes load/storeChris Lattner2002-08-211-8/+30
| | | | | | | instructions that use indexing. Convert them transparently into a pair of instructions. llvm-svn: 3431
* - Finally nailed: test/Regression/Assembler/2002-08-16-ConstExprInlined.llxChris Lattner2002-08-171-59/+58
| | | | | | | | | | | | | | - ParseConstantPool was resolving reference to value using the function slot # instead of the global slot #. - Bytecode reader changes: - Remove the failure<> template from Bytecode Reader - Remove extraneous #includes - s/method/function/ a bit - Eliminate the fwdRefs class that just added abstraction where it was not needed, making things more complex. - Use a vector instead of a list for function signatures. llvm-svn: 3366
* Remove support for Not ConstantExpr. This simplifies the unary case to onlyChris Lattner2002-08-141-7/+2
| | | | | | have to support the cast instruction, so the function is renamed to getCast. llvm-svn: 3328
* Fix constness problems now that the cast operators preserve the constnessChris Lattner2002-06-051-4/+4
| | | | | | of their argument llvm-svn: 2758
* Replace all usages of Type::isPointerType with isa<PointerType>Chris Lattner2002-05-061-1/+1
| | | | llvm-svn: 2486
* s/MethodType/FunctionTypeChris Lattner2002-04-041-6/+6
| | | | llvm-svn: 2115
* Changes to build successfully with GCC 3.02Chris Lattner2002-01-201-2/+5
| | | | llvm-svn: 1503
* Add pointer indexing supportChris Lattner2001-12-141-9/+12
| | | | llvm-svn: 1460
* Renamed inst_const_iterator -> const_inst_iteratorChris Lattner2001-12-041-4/+4
| | | | | | | Renamed op_const_iterator -> const_op_iterator Renamed PointerType::getValueType() -> PointerType::getElementType() llvm-svn: 1408
* Rename ConstPoolVal -> ConstantChris Lattner2001-12-031-1/+1
| | | | | | | Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h llvm-svn: 1407
* Split the PHINode class out from the iOther.h file into the iPHINode.h fileChris Lattner2001-12-031-3/+3
| | | | llvm-svn: 1405
* Implement array indexingChris Lattner2001-11-261-26/+47
| | | | llvm-svn: 1337
* Remove debug info :(Chris Lattner2001-11-121-3/+1
| | | | llvm-svn: 1280
OpenPOWER on IntegriCloud