| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 9736
|
|
|
|
| |
llvm-svn: 9735
|
|
|
|
|
|
| |
inside DEBUG_OUTPUT so that it compiles.
llvm-svn: 9614
|
|
|
|
| |
llvm-svn: 9590
|
|
|
|
| |
llvm-svn: 9321
|
|
|
|
| |
llvm-svn: 9312
|
|
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
|
|
|
|
|
| |
"Instruction::PHI" to be more consistent with the other instructions.
llvm-svn: 9269
|
|
|
|
| |
llvm-svn: 9236
|
|
|
|
| |
llvm-svn: 9228
|
|
|
|
|
|
| |
more efficient encoding of varargs calls, and the new varargs intrinsics.
llvm-svn: 9221
|
|
|
|
|
|
|
| |
* More dense bytecode encoding for varargs calls (like printf)
* Eliminated the extremely old bytecode format. rev #0 is now 1.0
llvm-svn: 9220
|
|
|
|
|
|
|
|
|
| |
Rename SlotCalculator::getValSlot() to SlotCalculator::getSlot(),
SlotCalculator::insertValue() to SlotCalculator::getOrCreateSlot(),
SlotCalculator::insertVal() to SlotCalculator::insertValue(), and
SlotCalculator::doInsertVal() to SlotCalculator::doInsertValue().
llvm-svn: 9190
|
|
|
|
| |
llvm-svn: 9183
|
|
|
|
|
|
|
|
| |
For now, we translate linkonce into weak linkage in the bytecode format because
we don't have enough bits to represent it. We will rev the bytecode version
soon anyways, so this will be fixed in the near future.
llvm-svn: 9170
|
|
|
|
| |
llvm-svn: 9079
|
|
|
|
| |
llvm-svn: 9077
|
|
|
|
| |
llvm-svn: 9072
|
|
|
|
| |
llvm-svn: 9071
|
|
|
|
|
|
|
| |
are ordered by name, not by slot, so the previous solution wasn't any good.
On a large testcase, this reduces time to parse from 2.17s to 1.58s.
llvm-svn: 9002
|
|
|
|
| |
llvm-svn: 8994
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 8988
|
|
|
|
|
|
| |
in practice though
llvm-svn: 8985
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This results in no significant speedup, but does provide simpler code
llvm-svn: 8980
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
new, simpler, ForwardReferences data structure. This is just the first
simple replacement, subsequent changes will improve the code more.
This simple change improves the performance of loading a file from HDF5
(contributed by Bill) from 2.36s to 1.93s, a 22% improvement. This
presumably has to do with the fact that we only create ONE placeholder for
a particular forward referenced values, and also may be because the data
structure is much simpler.
llvm-svn: 8979
|
|
|
|
| |
llvm-svn: 8978
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 8976
|
|
|
|
|
|
| |
Bill gave me from 8.69s to 6.90s.
llvm-svn: 8971
|
|
|
|
| |
llvm-svn: 8969
|
|
|
|
|
|
| |
want you to include <sys/stat.h> for fstat(), struct stat, and friends.
llvm-svn: 8887
|
|
|
|
|
|
|
| |
and because, while the class used by the interface is abstract, the actual
concept is not.
llvm-svn: 8850
|
|
|
|
|
|
| |
as 'by reference' arguments.
llvm-svn: 8849
|
|
|
|
| |
llvm-svn: 8848
|
|
|
|
| |
llvm-svn: 8847
|
|
|
|
|
|
| |
can just use PATypeHolders
llvm-svn: 8832
|
|
|
|
| |
llvm-svn: 8718
|
|
|
|
|
|
| |
This was causing us to munmap random stuff, which is obviously bad.
llvm-svn: 8709
|
|
|
|
| |
llvm-svn: 8707
|
|
|
|
| |
llvm-svn: 8704
|
|
|
|
|
|
|
| |
* Kill unused ALIN_PTRS #define
* Set the error string if user passed it in to be compatible with former API
llvm-svn: 8701
|
|
|
|
|
|
| |
the parsing routines regardless of whether the buffer is re-aligned or not.
llvm-svn: 8693
|
|
|
|
|
|
| |
return std::auto_ptr and use exceptions
llvm-svn: 8684
|
|
|
|
|
|
|
|
|
| |
* Instead of a #define, use inline function
* Fix the name on the #define, errr... now inline function to be more logical:
it doesn't CHECK the alignment, it PERFORMS the alignment
* To get string name of a Type*, use getDescription(), not getName()
llvm-svn: 8683
|
|
|
|
|
|
|
|
| |
* Make sure we align the buffer we're given
* Do not let exceptions propagate when the caller asks for a Module*
* Add doxygenified comments to wrapper functions
llvm-svn: 8682
|