| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 56419
|
|
|
|
|
|
| |
Adding one include file and correct one declaration from class to struct in order to make llvm compile on VC2005.
llvm-svn: 55279
|
|
|
|
|
|
| |
SmallVector/SmallString.
llvm-svn: 55265
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use raw_ostream instead of std::ostream. Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).
Other interesting changes:
1) This makes Value::print be non-virtual.
2) AP[S]Int and ConstantRange can no longer print to ostream directly,
use raw_ostream instead.
3) This fixes a bug in raw_os_ostream where it didn't flush itself
when destroyed.
4) This adds a new SDNode::print method, instead of only allowing "dump".
A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream
versions.
This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.
llvm-svn: 55263
|
|
|
|
| |
llvm-svn: 55252
|
|
|
|
|
|
|
|
| |
all the power and risk of fprintf format strings. Use them like this:
OS << format("%10.4f", 42.0) << "\n" << format("%x", 42) << '\n';
llvm-svn: 55246
|
|
|
|
| |
llvm-svn: 55210
|
|
|
|
|
|
| |
Patch contributed by Bjorn Reese!
llvm-svn: 55179
|
|
|
|
|
|
|
|
| |
broke various ObjC testcases
with very long symbol names.
llvm-svn: 55148
|
|
|
|
| |
llvm-svn: 55138
|
|
|
|
| |
llvm-svn: 55092
|
|
|
|
|
|
|
| |
and the slow-path cases out of line. This speeds up instcombine
a bit in real world cases. Patch contributed by m-s.
llvm-svn: 55063
|
|
|
|
| |
llvm-svn: 55053
|
|
|
|
| |
llvm-svn: 54879
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
returning an std::string by value, it fills in a SmallString/SmallVector
passed in. This significantly reduces string thrashing in some cases.
More specifically, this:
- Adds an operator<< and a print method for APInt that allows you to
directly send them to an ostream.
- Reimplements APInt::toString to be much simpler and more efficient
algorithmically in addition to not thrashing strings quite as much.
This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the
asmprinter. This also fixes a bug I introduced into the asmwriter in a
previous patch w.r.t. alias printing.
llvm-svn: 54873
|
|
|
|
| |
llvm-svn: 54869
|
|
|
|
|
|
|
| |
a simple adaptor class to give raw output capabilities to
something that wants to write to an ostream.
llvm-svn: 54865
|
|
|
|
| |
llvm-svn: 54863
|
|
|
|
| |
llvm-svn: 54857
|
|
|
|
|
|
|
|
| |
can *only* output data (no seeking, reading, etc). This is adapted from the
clang "-E outputter", and is roughly 10% faster than stdio on darwin and 30%
(or more) faster than std::ostream.
llvm-svn: 54855
|
|
|
|
|
|
| |
through multiple nodes in a bucket.
llvm-svn: 54687
|
|
|
|
| |
llvm-svn: 54349
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a new ilist_node class, and remove them. Unlike alist_node,
ilist_node doesn't attempt to manage storage itself, so it avoids
the associated problems, including being opaque in gdb.
Adjust the Recycler class so that it doesn't depend on alist_node.
Also, change it to use explicit Size and Align parameters, allowing
it to work when the largest-sized node doesn't have the greatest
alignment requirement.
Change MachineInstr's MachineMemOperand list from a pool-backed
alist to a std::list for now.
llvm-svn: 54146
|
|
|
|
|
|
| |
count.
llvm-svn: 53810
|
|
|
|
|
|
|
| |
the BB member to the current basic block after emitting
instructions.
llvm-svn: 53567
|
|
|
|
| |
llvm-svn: 53502
|
|
|
|
|
|
|
|
| |
use a timer group for the timers in SelectionDAGISel. Also,
Split scheduling out from emitting, to give each their own
timer.
llvm-svn: 53476
|
|
|
|
| |
llvm-svn: 53474
|
|
|
|
|
|
|
|
| |
for handling bookkeeping for deleted objects, as well as the alist class
template, for keeping lists of objects allocated from Recyclers, and some
related utilities.
llvm-svn: 53210
|
|
|
|
|
|
| |
conversions to std::string.
llvm-svn: 52995
|
|
|
|
|
|
|
|
| |
of after, so that any reallocation it does doesn't get counted for the pass
being timed. This probably doesn't account for a timing discrepancy I was
looking into, but I'm fixing it anyway.
llvm-svn: 52693
|
|
|
|
|
|
|
|
| |
multiplicative inverse of a given number. Modify udivrem to allow input and
output pairs of arguments to overlap. Patch is based on the work by Chandler
Carruth.
llvm-svn: 52638
|
|
|
|
| |
llvm-svn: 52602
|
|
|
|
|
|
| |
throughout FoldingSet.cpp.
llvm-svn: 52425
|
|
|
|
|
|
|
|
|
| |
over-shift-right should return -1. So here it should be signed-extended,
when bitwidth larger than 64.
test case: llvm/test/ExecutionEngine/2008-06-05-APInt-OverAShr.ll
llvm-svn: 51999
|
|
|
|
|
|
|
| |
once (ie, at two different places in the source, not two times on the
commandline).
llvm-svn: 51771
|
|
|
|
|
|
| |
function to flush a specified std::ostream.
llvm-svn: 51705
|
|
|
|
| |
llvm-svn: 51606
|
|
|
|
|
|
| |
to 64 bits.
llvm-svn: 51135
|
|
|
|
|
|
| |
conversion. Try 0x1.0000a4p+0f. Neil, please review.
llvm-svn: 51132
|
|
|
|
|
|
|
| |
several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017
|
|
|
|
| |
llvm-svn: 50975
|
|
|
|
| |
llvm-svn: 50695
|
|
|
|
| |
llvm-svn: 50659
|
|
|
|
| |
llvm-svn: 50590
|
|
|
|
| |
llvm-svn: 50475
|
|
|
|
|
|
|
| |
be truncated to 32 bits. This fixes the recent Benchmarks/McCat/09-vor
regression on x86-64, among other things.
llvm-svn: 50372
|
|
|
|
|
|
| |
alignment. "Bump" of the pointer for the next allocated object to be of the specified alignment.
llvm-svn: 50362
|
|
|
|
| |
llvm-svn: 50355
|
|
|
|
| |
llvm-svn: 50196
|