- Nov 03, 2008
-
-
Devang Patel authored
This allows SCEV users to effectively calculate trip count. LSR later on transforms back integer IVs to floating point IVs later on to avoid int-to-float casts inside the loop. llvm-svn: 58625
-
Nick Lewycky authored
llvm-svn: 58593
-
- Nov 02, 2008
-
-
Nick Lewycky authored
by Richard Osborne. llvm-svn: 58555
-
Dan Gohman authored
ConstantInt, and SI is the original cast instruction. This fixes PR2996. llvm-svn: 58549
-
- Oct 30, 2008
-
-
Dan Gohman authored
optimizations accordingly. llvm-svn: 58457
-
- Oct 28, 2008
-
-
Dan Gohman authored
llvm-svn: 58351
-
- Oct 24, 2008
-
-
Nick Lewycky authored
Understand that mul %x, 1 = %x. llvm-svn: 58069
-
- Oct 23, 2008
-
-
Daniel Dunbar authored
LoopPass*. - Although less precise, this means they can be used in clients without RTTI (who would otherwise need to include LoopPass.h, which eventually includes things using dynamic_cast). This was the simplest solution that presented itself, but I am happy to use a better one if available. llvm-svn: 58010
-
- Oct 17, 2008
-
-
Dan Gohman authored
llvm-svn: 57660
-
- Oct 16, 2008
-
-
Dan Gohman authored
to find opportunities for store-to-load forwarding or load CSE, in the same way that visitStore scans back to do DSE. Also, define a new helper function for testing whether the addresses of two memory accesses are known to have the same value, and use it in both visitStore and visitLoad. These two changes allow instcombine to eliminate loads in code produced by front-ends that frequently emit obviously redundant addressing for memory references. llvm-svn: 57608
-
- Oct 14, 2008
-
-
Evan Cheng authored
llvm-svn: 57515
-
Evan Cheng authored
- Renumber fcmp predicates to match their icmp counterparts. - Try swapping operands to expose more optimization opportunities. llvm-svn: 57513
-
Evan Cheng authored
ord && olt -> olt ord && ueq -> oeq llvm-svn: 57507
-
- Oct 13, 2008
-
-
Matthijs Kooijman authored
constant expression with all zero indices as being the same as a bitcast. llvm-svn: 57442
-
- Oct 12, 2008
-
-
Chris Lattner authored
a couple other cases for clarity, but shouldn't affect correctness. Patch by Eli Friedman! llvm-svn: 57387
-
- Oct 11, 2008
-
-
Devang Patel authored
This patch fixes PR 2869 llvm-svn: 57369
-
- Oct 10, 2008
-
-
Nuno Lopes authored
llvm-svn: 57353
-
Dale Johannesen authored
and APFloat::convertToInteger. Restore return value to IEEE754. Adjust all users accordingly. llvm-svn: 57329
-
- Oct 08, 2008
-
-
Duncan Sands authored
Patch by Samuel Tardieu. llvm-svn: 57291
-
Chris Lattner authored
patch by Samuel Tardieu! llvm-svn: 57288
-
- Oct 07, 2008
-
-
Devang Patel authored
llvm-svn: 57221
-
- Oct 06, 2008
-
-
Matthijs Kooijman authored
This includes not marking a GEP involving a vector as unsafe, but only when it has all zero indices. This allows scalarrepl to work in a few more cases. llvm-svn: 57177
-
- Oct 05, 2008
-
-
Chris Lattner authored
shifting and masking inside a bswap expr. This allows it to handle the cases from PR2842, which involve the intermediate 'or' expressions being shifted, not just the input value. llvm-svn: 57095
-
Chris Lattner authored
ashr. It should only apply to lshr. llvm-svn: 57089
-
- Oct 01, 2008
-
-
Duncan Sands authored
pointer bitcasts and GEP's", and centralize the logic in Value::getUnderlyingObject. The difference with stripPointerCasts is that stripPointerCasts only strips GEPs if all indices are zero, while getUnderlyingObject strips GEPs no matter what the indices are. llvm-svn: 56922
-
Dan Gohman authored
instruction, not after. This fixes some uses of free'd memory. llvm-svn: 56908
-
- Sep 30, 2008
-
-
Nick Lewycky authored
llvm-svn: 56834
-
- Sep 27, 2008
-
-
Devang Patel authored
llvm-svn: 56716
-
Devang Patel authored
- return attributes - inreg, zext and sext - parameter attributes - function attributes - nounwind, readonly, readnone, noreturn Return attributes use 0 as the index. Function attributes use ~0U as the index. This patch requires corresponding changes in llvm-gcc and clang. llvm-svn: 56704
-
- Sep 25, 2008
-
-
Devang Patel authored
s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622
-
- Sep 24, 2008
-
-
Evan Cheng authored
llvm-svn: 56549
-
Eric Christopher authored
llvm-svn: 56546
-
Devang Patel authored
llvm-svn: 56535
-
Devang Patel authored
llvm-svn: 56527
-
Devang Patel authored
Do not check isDeclaration() in hasNote(). It is clients' responsibility. llvm-svn: 56524
-
Devang Patel authored
llvm-svn: 56513
-
Devang Patel authored
Function Notes also. Function notes are stored at index ~0. llvm-svn: 56511
-
- Sep 23, 2008
-
-
Devang Patel authored
llvm-svn: 56477
-
- Sep 22, 2008
-
-
Oscar Fuentes authored
llvm-svn: 56419
-
- Sep 19, 2008
-
-
Duncan Sands authored
Unfortunately this means removing one regression test of GlobalsModRef because I couldn't work out how to perform it without MarkModRef. llvm-svn: 56342
-