| Commit message (Collapse) | Author | Age | Files | Lines | 
| ... |  | 
| | 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
ppc long double, which doesn't work.
This may break some stuff temporarily, but I want to
avoid the propagation of code that assumes this works.
llvm-svn: 49983
 | 
| | 
| 
| 
| 
| 
|  | 
for more space for displaying the graph.
llvm-svn: 49730
 |