| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 27672
|
| |
|
|
|
|
| |
This reduces Core size, yay.
llvm-svn: 27468
|
| |
|
|
| |
llvm-svn: 27428
|
| |
|
|
| |
llvm-svn: 27395
|
| |
|
|
|
|
|
| |
PR726 by performing consistent signed division, not consistent unsigned
division when evaluating scev's. Do not touch udivs.
llvm-svn: 27326
|
| |
|
|
|
|
| |
Fixes 2006-03-27-LinkedCollapsed.ll
llvm-svn: 27194
|
| |
|
|
| |
llvm-svn: 26781
|
| |
|
|
| |
llvm-svn: 26779
|
| |
|
|
| |
llvm-svn: 26777
|
| |
|
|
|
|
|
|
|
| |
offset,
and the offset lands at a field boundary in the old type, construct a new type,
copying the fields masked by the offset from the old type, and unify with that.
llvm-svn: 26775
|
| |
|
|
| |
llvm-svn: 26774
|
| |
|
|
|
|
|
|
|
|
| |
set construction, rather than intersecting various std::sets. This reduces
the memory usage for the testcase in PR681 from 496 to 26MB of ram on my
darwin system, and reduces the runtime from 32.8 to 0.8 seconds on a
2.5GHz G5. This also enables future code sharing between Dom and PostDom
now that they share near-identical implementations.
llvm-svn: 26707
|
| |
|
|
| |
llvm-svn: 26670
|
| |
|
|
| |
llvm-svn: 26529
|
| |
|
|
|
|
|
|
|
|
| |
don't assume that A[1][0] and A[0][i] can't alias. "i" might be out of
range, or even negative. This fixes a miscompilation of 188.ammp (which
does bad pointer tricks) with the new CFE.
Testcase here: Analysis/BasicAA/2006-03-03-BadArraySubscript.ll
llvm-svn: 26515
|
| |
|
|
| |
llvm-svn: 26481
|
| |
|
|
|
|
| |
PR709, and paving the way for future progress.
llvm-svn: 26476
|
| |
|
|
| |
llvm-svn: 26178
|
| |
|
|
| |
llvm-svn: 25973
|
| |
|
|
| |
llvm-svn: 25969
|
| |
|
|
| |
llvm-svn: 25513
|
| |
|
|
| |
llvm-svn: 25509
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.
llvm-svn: 25366
|
| |
|
|
|
|
|
|
| |
queries are made.
Patch by Daniel Berlin!
llvm-svn: 25323
|
| |
|
|
|
|
| |
the callgraph.
llvm-svn: 25317
|
| |
|
|
| |
llvm-svn: 25314
|
| |
|
|
| |
llvm-svn: 25309
|
| |
|
|
|
|
| |
Patch by Daniel Berlin!
llvm-svn: 25199
|
| |
|
|
| |
llvm-svn: 25170
|
| |
|
|
|
|
| |
whenever it is live, not just when load-vn is computed initially
llvm-svn: 25146
|
| |
|
|
|
|
| |
post-dominators. This code was written/adapted by Daniel Berlin!
llvm-svn: 25144
|
| |
|
|
|
|
| |
the default aa impl results.
llvm-svn: 25062
|
| |
|
|
|
|
|
|
|
| |
the rough idea sketched out in http://nondot.org/sabre/LLVMNotes/CallGraphClass.txt,
allowing new spiffy implementations of the callgraph interface to be built.
Many thanks to Saem Ghani for contributing this!
llvm-svn: 24944
|
| |
|
|
|
|
| |
Make the dsa-alloc-list and dsa-free-list options hidden.
llvm-svn: 24864
|
| |
|
|
| |
llvm-svn: 24863
|
| |
|
|
|
|
| |
functions that allocate memory.
llvm-svn: 24862
|
| |
|
|
| |
llvm-svn: 24621
|
| |
|
|
| |
llvm-svn: 24409
|
| |
|
|
| |
llvm-svn: 24303
|
| |
|
|
| |
llvm-svn: 24300
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When inserting code for an addrec expression with a non-unit stride, be
more careful where we insert the multiply. In particular, insert the multiply
in the outermost loop we can, instead of the requested insertion point.
This allows LSR to notice the mul in the right loop, reducing it when it gets
to it. This allows it to reduce the multiply, where before it missed it.
This happens quite a bit in the test suite, for example, eliminating 2
multiplies in art, 3 in ammp, 4 in apsi, reducing from 1050 multiplies to
910 muls in galgel (!), from 877 to 859 in applu, and 36 to 30 in bzip2.
This speeds up galgel from 16.45s to 16.01s, applu from 14.21 to 13.94s and
fourinarow from 66.67s to 63.48s.
This implements Transforms/LoopStrengthReduce/nested-reduce.ll
llvm-svn: 24102
|
| |
|
|
| |
llvm-svn: 24085
|
| |
|
|
|
|
| |
by Analysis and Transformation passes.
llvm-svn: 24038
|
| |
|
|
|
|
|
|
| |
into the LLVMAnalysis library.
This allows LLVMTranform and LLVMTransformUtils to be archives and linked
with LLVMAnalysis.a, which provides any missing definitions.
llvm-svn: 24036
|
| |
|
|
| |
llvm-svn: 23949
|
| |
|
|
| |
llvm-svn: 23940
|
| |
|
|
|
|
| |
This should speed up build times.
llvm-svn: 23933
|
| |
|
|
| |
llvm-svn: 23927
|
| |
|
|
| |
llvm-svn: 23924
|
| |
|
|
| |
llvm-svn: 23920
|