| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 10721
|
|
|
|
| |
llvm-svn: 10084
|
|
|
|
| |
llvm-svn: 9903
|
|
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
|
|
|
|
|
| |
"Instruction::PHI" to be more consistent with the other instructions.
llvm-svn: 9269
|
|
|
|
|
|
|
| |
* More dense bytecode encoding for varargs calls (like printf)
* Eliminated the extremely old bytecode format. rev #0 is now 1.0
llvm-svn: 9220
|
|
|
|
|
|
| |
tasty 15% speedup on the testcase from Bill.
llvm-svn: 8993
|
|
|
|
|
|
| |
if possible. This provides a consistent 8.5% speedup.
llvm-svn: 8991
|
|
|
|
|
|
| |
Throw the RawInst class in an anon namespace
llvm-svn: 8990
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
simplifies the control flow a bit. This provides a small (~3%) speedup,
but it's primarily a cleanup exercise.
llvm-svn: 8983
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Bill gave me from 8.69s to 6.90s.
llvm-svn: 8971
|
|
|
|
|
|
| |
return std::auto_ptr and use exceptions
llvm-svn: 8684
|
|
|
|
| |
llvm-svn: 8489
|
|
|
|
| |
llvm-svn: 8410
|
|
|
|
| |
llvm-svn: 8408
|
|
|
|
| |
llvm-svn: 8401
|
|
|
|
|
|
|
|
| |
year old.
If you still have these suckers laying around, you have GOT to rebuild them. geeze.
llvm-svn: 8395
|
|
|
|
| |
llvm-svn: 8365
|
|
|
|
| |
llvm-svn: 8363
|
|
|
|
| |
llvm-svn: 8089
|
|
|
|
|
|
| |
"yes, invoke instructions can have just three arguments"
llvm-svn: 6736
|
|
|
|
| |
llvm-svn: 6283
|
|
|
|
| |
llvm-svn: 6029
|
|
|
|
| |
llvm-svn: 5708
|
|
|
|
|
|
| |
reflect the fact that it's a range being defined.
llvm-svn: 4147
|
|
|
|
|
|
| |
pointer type returned.
llvm-svn: 3711
|
|
|
|
| |
llvm-svn: 3487
|
|
|
|
|
|
| |
to handle indexing anymore
llvm-svn: 3485
|
|
|
|
|
|
|
| |
instructions that use indexing. Convert them transparently into a pair
of instructions.
llvm-svn: 3431
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
have to support the cast instruction, so the function is renamed to getCast.
llvm-svn: 3328
|
|
|
|
|
|
| |
of their argument
llvm-svn: 2758
|
|
|
|
| |
llvm-svn: 2486
|
|
|
|
| |
llvm-svn: 2115
|
|
|
|
| |
llvm-svn: 1503
|
|
|
|
| |
llvm-svn: 1460
|
|
|
|
|
|
|
| |
Renamed op_const_iterator -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
llvm-svn: 1408
|
|
|
|
|
|
|
| |
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407
|
|
|
|
| |
llvm-svn: 1405
|
|
|
|
| |
llvm-svn: 1337
|
|
|
|
| |
llvm-svn: 1280
|
|
|
|
| |
llvm-svn: 1279
|
|
|
|
| |
llvm-svn: 1276
|
|
|
|
|
|
| |
to be an endian problem that only shows up with type 0 instructions in LARGE programs.
llvm-svn: 961
|
|
|
|
| |
llvm-svn: 929
|
|
|
|
|
|
|
|
|
| |
* Add minor optimization to BytecodeParser::refineAbstractType
* MethodType::get now take an explicit isVarArg parameter
* Fix encoding/decoding of VarArgs calls
* Support the Invoke instruction
llvm-svn: 760
|
|
|
|
|
|
|
|
| |
* ConstPoolPointerReference now represents a pointer to a GlobalValue
* Methods name references are now explicit pointers to methods
* Rename Value::GlobalVal to Value::GlobalVariableVal to avoid confusion
llvm-svn: 703
|