#
f3ebc3f3 |
| 29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev.
llvm-svn: 45418
|
#
d2265b45 |
| 10-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Fix PR1850 by removing an unsafe transformation from VMCore/ConstantFold.cpp. Reimplement the xform in Analysis/ConstantFolding.cpp where we can use targetdata to validate that it is safe. While I'm
Fix PR1850 by removing an unsafe transformation from VMCore/ConstantFold.cpp. Reimplement the xform in Analysis/ConstantFolding.cpp where we can use targetdata to validate that it is safe. While I'm in there, fix some const correctness issues and generalize the interface to the "operand folder".
llvm-svn: 44817
show more ...
|
#
cdb7e54c |
| 25-Nov-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Add new SCEV, SCEVSMax. This allows LLVM to analyze do-while loops.
llvm-svn: 44319
|
#
69ec1ec8 |
| 23-Nov-2007 |
Chris Lattner <sabre@nondot.org> |
simplify some code.
llvm-svn: 44295
|
#
a8fbde3f |
| 23-Nov-2007 |
Chris Lattner <sabre@nondot.org> |
Fix a bug where we'd try to find a scev value for a bitcast operand, even though the bitcast operand did not have integer type. This fixes PR1814.
llvm-svn: 44286
|
#
3783b46f |
| 22-Nov-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Instead of calculating constant factors, calculate the number of trailing bits. Patch from Wojciech Matyjewicz.
llvm-svn: 44268
|
#
74a26e37 |
| 20-Nov-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Small cleanup. Use APInt::getHighBitsSet method instead of shift left. "setcc" -> "icmp op" in comments. No functionality change.
llvm-svn: 44249
|
#
5b18bd33 |
| 20-Nov-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Be more careful when transforming | to +. Patch from Wojciech Matyjewicz.
llvm-svn: 44248
|
#
6a7ddfdb |
| 15-Nov-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Reverted r44163 per request
llvm-svn: 44177
|
#
fbb24817 |
| 15-Nov-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEV is disabled in the sense that it will refuse to create one from a UDiv instruction, until the code is better tested.
l
Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEV is disabled in the sense that it will refuse to create one from a UDiv instruction, until the code is better tested.
llvm-svn: 44163
show more ...
|
#
a37eaf2b |
| 22-Oct-2007 |
Dan Gohman <gohman@apple.com> |
Move the SCEV object factors from being static members of the individual SCEV subclasses to being non-static member functions of the ScalarEvolution class.
llvm-svn: 43224
|
#
39349618 |
| 27-Sep-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Build the correct range for loops with unusual bounds. Fix from Jay Foad.
llvm-svn: 42394
|
Revision tags: llvmorg-2.1.0 |
|
#
bed9dc42 |
| 06-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Next round of APFloat changes. Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interface
Next round of APFloat changes. Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.)
llvm-svn: 41747
show more ...
|
#
b5933bbb |
| 21-Aug-2007 |
Devang Patel <dpatel@apple.com> |
Use SmallVector instead of std::vector.
llvm-svn: 41207
|
#
96606cec |
| 06-Aug-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Let scalar-evolution analyze loops with an unsigned comparison for the exit condition. Fixes 1597.
llvm-svn: 40867
|
#
b9819f3a |
| 06-Aug-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Don't assume it's safe to transform a loop just because it's dominated by any comparison. Fixes bug 1598.
llvm-svn: 40866
|
#
5246026c |
| 16-Jul-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Handle decrementing loops properly. Fixes PR1533.
Always pass the constant as the second parameter to HowManyLessThans.
Remove obsolete "isSigned" parameter.
llvm-svn: 39893
|
#
0a76e7f6 |
| 09-Jul-2007 |
Dan Gohman <gohman@apple.com> |
Move the APInt form of SCEVUnknown::getIntegerSCEV to SCEVConstant::get, and use SCEVConstant::get instead of SCEVUnknown::get when constructing a SCEV for a ConstantInt.
llvm-svn: 38457
|
#
32f53bbd |
| 19-Jun-2007 |
Dan Gohman <gohman@apple.com> |
Rename ScalarEvolution::deleteInstructionFromRecords to deleteValueFromRecords and loosen the types to all it to accept Value* instead of just Instruction*, since this is what ScalarEvolution uses in
Rename ScalarEvolution::deleteInstructionFromRecords to deleteValueFromRecords and loosen the types to all it to accept Value* instead of just Instruction*, since this is what ScalarEvolution uses internally anyway. This allows more flexibility for future uses.
llvm-svn: 37657
show more ...
|
#
eed125f3 |
| 18-Jun-2007 |
Dan Gohman <gohman@apple.com> |
In SCEVAddExpr::get, skip over any cast operands before looking for nested add operands after constant operands. The recent change to recognize sign-extend expressions caused this to be exposed more
In SCEVAddExpr::get, skip over any cast operands before looking for nested add operands after constant operands. The recent change to recognize sign-extend expressions caused this to be exposed more often.
llvm-svn: 37628
show more ...
|
#
cb9e09ad |
| 15-Jun-2007 |
Dan Gohman <gohman@apple.com> |
Add a SCEV class and supporting code for sign-extend expressions.
This created an ambiguity for expandInTy to decide when to use sign-extension or zero-extension, but it turns out that most of its c
Add a SCEV class and supporting code for sign-extend expressions.
This created an ambiguity for expandInTy to decide when to use sign-extension or zero-extension, but it turns out that most of its callers don't actually need a type conversion, now that LLVM types don't have explicit signedness. Drop expandInTy in favor of plain expand, and change the few places that actually need a type conversion to do it themselves.
llvm-svn: 37591
show more ...
|
#
df543f4b |
| 06-Jun-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Optimize this test. Firstly, only Instructions may use other Instructions. Secondly, checking whether removal succeeded tells you whether it was in the map to begin with.
llvm-svn: 37469
|
#
3e842128 |
| 06-Jun-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Fix PR1487 and Transforms/IndVar/2007-06-06-DeleteDanglesPtr.ll
llvm-svn: 37459
|
Revision tags: llvmorg-2.0.0 |
|
#
8c78a0bf |
| 03-May-2007 |
Devang Patel <dpatel@apple.com> |
Drop 'const'
llvm-svn: 36662
|
#
e95c6ad8 |
| 02-May-2007 |
Devang Patel <dpatel@apple.com> |
Use 'static const char' instead of 'static const int'. Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification.
llvm-svn: 36652
|