cddc3e03e4ec99c0268c03a126195173e519ed58 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 (cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383) Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
0c7f116bb6950ef819323d855415b2f2b0aad987 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r235153 Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
4c5e43da7792f75567b693105cc53e3f1992ad98 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a0ec3f9b7b826b9b40b80199923b664bad808cce |
|
14-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
34b96d15764d51fa53f338e5d7be4d2aa244a945 |
|
26-Jun-2013 |
Nick Lewycky <nicholas@mxc.ca> |
dbgs() << Instruction doesn't print a newline on the end any more. Update these debug statements to add a missing newline. Also canonicalize to '\n' instead of "\n"; the latter calls a function with a loop the former does not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5e5529c74c6bc5f46e272658835dbb5d715b57ca |
|
21-Feb-2013 |
Chad Rosier <mcrosier@apple.com> |
Remove dead code and whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
6aecad1074817fae6453bb78ac0d917954dfe9bf |
|
20-Feb-2013 |
Chad Rosier <mcrosier@apple.com> |
Update a comment that looks to have been accidentally deleted many moons ago. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
84bcf93e0fd225de2217d1b712c01586a633a6d8 |
|
30-Nov-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Move the InstVisitor utility into VMCore where it belongs. It heavily depends on the IR infrastructure, there is no sense in it being off in Support land. This is in preparation to start working to expand InstVisitor into more special-purpose visitors that are still generic and can be re-used across different passes. The expansion will go into the Analylis tree though as nothing in VMCore needs it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3574eca1b02600bac4e625297f4ecf745f4c4f32 |
|
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a94d6e87c4c49f2e81b01d66d8bfb591277f8f96 |
|
24-Jul-2012 |
Nadav Rotem <nadav.rotem@intel.com> |
Clean whitespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c2212f13f62b0372e8db9f5e48402703fdc977f6 |
|
28-Mar-2012 |
Chad Rosier <mcrosier@apple.com> |
Fix 80-column violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3d3abe0852d5f499bed7ab014519dd582a0a795d |
|
11-Mar-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
llvm::SwitchInst Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c10fa6c801e48771b5eade50afc2fe6abaf08227 |
|
08-Mar-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*". ConstCaseIt is just a read-only iterator. CaseIt is read-write iterator; it allows to change case successor and case value. Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters. Main way of iterator usage looks like this: SwitchInst *SI = ... // intialize it somehow for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) { BasicBlock *BB = i.getCaseSuccessor(); ConstantInt *V = i.getCaseValue(); // Do something. } If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method. If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method. There are also related changes in llvm-clients: klee and clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
24473120a253a05f3601cd3373403b47e6d03d41 |
|
01-Feb-2012 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
SwitchInst refactoring. The purpose of refactoring is to hide operand roles from SwitchInst user (programmer). If you want to play with operands directly, probably you will need lower level methods than SwitchInst ones (TerminatorInst or may be User). After this patch we can reorganize SwitchInst operands and successors as we want. What was done: 1. Changed semantics of index inside the getCaseValue method: getCaseValue(0) means "get first case", not a condition. Use getCondition() if you want to resolve the condition. I propose don't mix SwitchInst case indexing with low level indexing (TI successors indexing, User's operands indexing), since it may be dangerous. 2. By the same reason findCaseValue(ConstantInt*) returns actual number of case value. 0 means first case, not default. If there is no case with given value, ErrorIndex will returned. 3. Added getCaseSuccessor method. I propose to avoid usage of TerminatorInst::getSuccessor if you want to resolve case successor BB. Use getCaseSuccessor instead, since internal SwitchInst organization of operands/successors is hidden and may be changed in any moment. 4. Added resolveSuccessorIndex and resolveCaseIndex. The main purpose of these methods is to see how case successors are really mapped in TerminatorInst. 4.1 "resolveSuccessorIndex" was created if you need to level down from SwitchInst to TerminatorInst. It returns TerminatorInst's successor index for given case successor. 4.2 "resolveCaseIndex" converts low level successors index to case index that curresponds to the given successor. Note: There are also related compatability fix patches for dragonegg, klee, llvm-gcc-4.0, llvm-gcc-4.2, safecode, clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d59ae907eea28285ece6696d6f3271b4ca578c0d |
|
26-Jan-2012 |
Chris Lattner <sabre@nondot.org> |
Continue improving support for ConstantDataAggregate, and use the new methods recently added to (sometimes greatly!) simplify code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
785a7a97da06ce5108d1d194b26f6cf73d3cffb0 |
|
18-Jan-2012 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove trailing spaces and unneeded includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
00737bdb488cc7157ca5f7a40d6cd8467ad09a79 |
|
01-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Last bit of TargetLibraryInfo propagation. Also fixed a case for TargetData where it appeared beneficial to pass. More of rdar://10500969 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b80f778bd315e5c37b987c3203c6d40bd9c3bfe6 |
|
11-Nov-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Get rid of an optimization in SCCP which appears to have many issues. Specifically, it doesn't handle many cases involving undef correctly, and it is missing other checks which lead to it trying to re-mark a value marked as a constant with a different value. It also appears to trigger very rarely. Fixes PR11357. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
79782fc8649e081b59fe2f96265042eaec1542a7 |
|
21-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Make sure IPSCCP never marks a tracked call as overdefined in SCCPSolver::ResolvedUndefsIn. If we do, we can end up in a situation where a function is resolved to return a constant, but the caller is marked overdefined, which confuses the code later. <rdar://problem/9956541> (again). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a268468d50a0c6f7de27299d50c6e387e404d685 |
|
04-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Use Duncan's patch to delete the instructions in reverse order (minus the landingpad and terminator). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9dc31e87051715f2db5012794e9089ac0f7f30d3 |
|
02-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Update comments to reflect reality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c8c0fd39931491146efd08d7ac835f2839e41b1e |
|
01-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Change worklist driven deletion to be an iterative process. Duncan noticed this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
4f8aaa0928caf36d7982534748c8390c5186d534 |
|
31-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Make sure we aren't deleting the landingpad instruction. The landingpad instruction is required in the landing pad block. Because we're not deleting terminating instructions, the invoke may still jump to here (see Transforms/SCCP/2004-11-16-DeadInvoke.ll). Remove all uses of the landingpad instruction, but keep it around until code-gen can remove the basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
447f95202a1447ead4602f74405bc1bab6aa6d87 |
|
17-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Silly mistake from r137777; restore significant isStructTy() checks. While here, be a bit more defensive with unknown instructions. Fixes PR10687. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
054ddf799b5487b85f6bc1d856c4e2a4978da4f7 |
|
17-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
A bunch of misc fixes to SCCPSolver::ResolvedUndefsIn, including a fix to stop making random bad assumptions about instructions which are not explicitly listed. Includes fix for rdar://9956541, a version of "undef ^ undef should return 0 because it's easier than arguing with users". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1fc291f0d3681e062daed186a934c0bf0c59224b |
|
16-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Minor bug in SCCP found by inspection. (I don't think it's possible to hit this with a normal pass pipeline, but fixing for completeness.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e6e8826870bee3facb04f950f0bd725f8a88623d |
|
12-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Initial commit of the 'landingpad' instruction. This implements the 'landingpad' instruction. It's used to indicate that a basic block is a landing pad. There are several restrictions on its use (see LangRef.html for more detail). These restrictions allow the exception handling code to gather the information it needs in a much more sane way. This patch has the definition, implementation, C interface, parsing, and bitcode support in it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
fe1926e3518ca034e04cd307b15116aed6d21bc5 |
|
02-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add new atomic instructions to SCCP. No functional change, but stops debug spam. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
dccc03b2423fe65efb5963ae816b99c24fc53374 |
|
31-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Add the 'resume' instruction for the new EH rewrite. This adds the 'resume' instruction class, IR parsing, and bitcode reading and writing. The 'resume' instruction resumes propagation of an existing (in-flight) exception whose unwinding was interrupted with a 'landingpad' instruction (to be added later). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
10c6d12a9fd4dab411091f64db4db69670b88850 |
|
30-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338, r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444, r136445, r136446, r136253 pending review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
772fe17a6d07304ae2e6b3052bbb24ebb751f0f3 |
|
27-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Merge the contents from exception-handling-rewrite to the mainline. This adds the new instructions 'landingpad' and 'resume'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
8a552bb85a5e9a6c250c0a899941fbd3ae7b5006 |
|
27-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Misc mid-level changes for new 'fence' instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
fd47a5966141e32db461a9a96597920d5fd46498 |
|
25-Jul-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Add missing space (this line is no longer pushing the 80-column limit). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
dab3d29605a5c83db41b28176273ef55961120c1 |
|
21-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert ConstantExpr::getGetElementPtr and ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c30a38f34bdfecb99ce49e3ffa479039c9bf0209 |
|
21-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
move tier out of an anonymous namespace, it doesn't make sense to for it to be an an anon namespace and be in a header. Eliminate some extraenous uses of tie. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1d2f569c3428d70d0cf690c9adb459ad4a3ecff2 |
|
19-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Use ArrayRef in ConstantFoldInstOperands and ConstantFoldCall. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
land David Blaikie's patch to de-constify Type, with a few tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
21c60904ce6b937cb0c8744375e9c1a95fe0e495 |
|
21-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
PR7952: Make isa<> use the same logic as cast<>, so that they both work consistently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7a2bdde0a0eebcd2125055e0eacaca040f0b766c |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Fix a ton of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e7c85a4c1d0c5692ba06494993ebeca562c1ed80 |
|
21-Jan-2011 |
Nick Lewycky <nicholas@mxc.ca> |
SCCP doesn't actually preserve the CFG. It will delete and insert terminator instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
54cfe7e027ee56799f3d597fd5095394f66e0ff0 |
|
16-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
simplify a little git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
f619b5a665f9972cde28f14e7b94b51502104b15 |
|
30-Nov-2010 |
Dale Johannesen <dalej@apple.com> |
Avoid exponential growth of a table. It feels like there should be a better way to do this. PR 8679. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
081c34b725980f995be9080eaec24cd3dfaaf065 |
|
19-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ce665bd2e2b581ab0858d1afe359192bac96b868 |
|
08-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Now with fewer extraneous semicolons! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
473fc96889ff8d0862a8fea16c4a5b9252e2d44d |
|
18-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
remove some dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1522ce9770567aeb67eae374c83fd0bdce949305 |
|
13-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
fix PR7876: If ipsccp decides that a function's address is taken before it rewrites the code, we need to use that in the post-rewrite pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
90c579de5a383cee278acc3f7e7b9d0a656e6a35 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Reapply r110396, with fixes to appease the Linux buildbot gods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1f74590e9d1b9cf0f1f81a156efea73f76546e05 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Revert r110396 to fix buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9ccaf53ada99c63737547c0235baeb8454b04e80 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7d3056b16038a6a09c452c0dfcc3c8f4e421506a |
|
29-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
simplify by using CallSite constructors; virtually eliminates CallSite::get from the tree git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d13db2c59cc94162d6cf0a04187d408bfef6d4a7 |
|
22-Jul-2010 |
Owen Anderson <resistor@mac.com> |
Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
8581c260d3595fd78ce9f1585c85bea545fce5f3 |
|
26-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
fix PR6940: sitofp(undef) folds to 0.0, not undef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
8829cec25fe77cadbd99dcf7bbbce4969eb5704a |
|
09-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
fix a SCCP miscompilation that could happen when a forced constant is changed to a constant, we would end up adding the instruction to the wrong worklist, preventing it from being properly revisited. This fixes rdar://7832370 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e597f00e1a88847677e04a70ecfc9f21d372fd9d |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
fix a really nasty bug that Evan was tracking in SCCP. When resolving undefs in branches/switches, we have two cases: a branch on a literal undef or a branch on a symbolic value which is undef. If we have a literal undef, the code was correct: forcing it to a constant is the right thing to do. If we have a branch on a symbolic value that is undef, we should force the symbolic value to a constant, which then makes the successor block live. Forcing the condition of the branch to being a constant isn't safe if later paths become live and the value becomes overdefined. This is the case that 'forcedconstant' is designed to handle, so just use it. This fixes rdar://7765019 but there is no good testcase for this, the one I have is too insane to be useful in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c8b82ccbcf3b2e2384d2c0b5176e7b0b40b7f82f |
|
01-Apr-2010 |
Gabor Greif <ggreif@gmail.com> |
Introduce ImmutableCallSite, useful for contexts where no mutation is necessary. Inherits from new templated baseclass CallSiteBase<> which is highly customizable. Base CallSite on it too, in a configuration that allows full mutation. Adapt some call sites in analyses to employ ImmutableCallSite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
60ad781c61815ca5b8dc2a45a102e1c8af65992f |
|
26-Mar-2010 |
Gabor Greif <ggreif@gmail.com> |
rename use_const_iterator to const_use_iterator for consistency's sake git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c9f7500d1752feac7cece26d20007a99d21f677c |
|
24-Mar-2010 |
Gabor Greif <ggreif@gmail.com> |
Finally land the InvokeInst operand reordering. I have audited all getOperandNo calls now, fixing hidden assumptions. CallSite related uglyness will be eliminated successively. Note this patch has a long and griveous history, for all the back-and-forths have a look at CallSite.h's log. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99399 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
bd1f99341eb1b0afd7e42d2741eb97c7ae0d86a3 |
|
24-Mar-2010 |
Gabor Greif <ggreif@gmail.com> |
increase const goodness and remove pointless getUser() calls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9fcd72b71afda971915ff17614431a725811be4b |
|
27-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
fix grammaro's pointed out by daniel git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d38cdb020ec534417e644a0962b7668525e7f658 |
|
27-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
fix PR6414, a nondeterminism issue in IPSCCP which was because of a subtle interation in a loop operating in densemap order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1df9859c40492511b8aa4321eb76496005d3b75b |
|
16-Feb-2010 |
Duncan Sands <baldrick@free.fr> |
There are two ways of checking for a given type, for example isa<PointerType>(T) and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
971cc7e8838f49755535b2b9768470249c9c2730 |
|
05-Jan-2010 |
David Greene <greened@obbligato.org> |
Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
8f3817f505029e97d28c54548069d5bbaa9d5527 |
|
23-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Fix a use of an invalidated iterator in the case where there are multiple adjacent uses of a dead basic block from the same user. This fixes PR5596. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
6a2392131e2e5b8c4123d69cc959831b4fe719ca |
|
20-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Fix IPSCCP's code for deleting dead blocks to tolerate outstanding blockaddress users. This fixes PR5569. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
103f2434b8ebb0aec11af141c37bfb02854a5420 |
|
10-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
fix a crash in SCCP handling extractvalue of an array, pointed out and tracked down by Stephan Reiter! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
bcaa2157ddc22cb1098289943e8dd147a854698b |
|
05-Nov-2009 |
Benjamin Kramer <benny.kra@googlemail.com> |
Do map insert+find in one step. TODO -= 2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
0fb7e18edd49f8df705a27e789eb925e18d4f44e |
|
04-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Fix an iterator invalidation bug that happens when a hashtable resizes in IPSCCP. This fixes PR5394. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
fc36a562aed22490d311c6d0b6d2b7d3430e49a7 |
|
04-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
reimplement multiple return value handling in IPSCCP, making it more aggressive an correct. This survives building llvm in 64-bit mode with optimizations and the built llvm passes make check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
abf67ef548c257526d2f5f71521ddc8420784ac1 |
|
03-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
finish half thunk thought git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2396cc37ae6f29693b0984e0d9129487a4e3830c |
|
03-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
fix an IPSCCP bug I introduced when I changed IPSCCP to start working on functions that don't have local linkage. Basically, we need to be more careful about propagating argument information to functions whose results we aren't tracking. This fixes a miscompilation of LLVMCConfigurationEmitter.cpp when built with an llvm-gcc that has ipsccp enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c175e5de2dbb04e835b13f0554a7ba2f25ba4fc3 |
|
03-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
fix a subtle bug I introduced when refactoring SCCP. Testcase to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
14532d03a17c83830e8ee765bf69bbf7198479dc |
|
03-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
turn IPSCCP back on now that the iterator invalidation bug is fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5cc66d979dfe43fcdb456e92a7df56427fa647cb |
|
03-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
fix a nasty iterator invalidation bug from my conversion from std::map to DenseMap, exposed on release llvm-gcc bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3774c91854bcbfddb8c1b01b41841984d2c7ed32 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
revert r8579[56], which are causing unhappiness in buildbot land. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2bbbbd6ac823181f8c3cceb55482254c4255a65a |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
disable IPSCCP support for multiple return values, it is buggy, so just disable it until I can fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
12c8d5f5fe24c195b90264931479cc741cd1bb07 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
improve IPSCCP to be able to propagate the result of "!mayBeOverridden" function to calls of that function, regardless of whether it has local linkage or has its address taken. Not escaping should only affect whether we make an aggressive assumption about the arguments to a function, not whether we can track the result of it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ff3ca159512c7e7a406e2ceb68c298460aa5c27a |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
don't mark the arguments of prototype overdefined, they will never be queried. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e01985c95f63e96f3620c27fee6d8b33c2d0bbf8 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
restore some code I removed in r85788, refactor it into a shared place instead of duplicating it 4 times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
574fa9e83caf11a65b3dec6e901f65d076ae3dde |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove some confused code that dates from when we had "multiple return values" but not "first class aggregates" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
09275299e286da115fdc4faf1bded9f04ff28ee1 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
avoid redundant lookups in BBExecutable, and make it a SmallPtrSet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5638dc618acd725d1128e77cd28a6e0ed66185c4 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Use the libanalysis 'ConstantFoldLoadFromConstPtr' function instead of reinventing SCCP-specific logic. This gives us new powers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2a0433beea44b63da36fd051c29af69ff2675b38 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
switch the main 'ValueState' map from being an std::map to being a DenseMap. Doing this required being aware of subtle iterator invalidation issues, but it provides a big speedup. In a release-asserts build, this sped up optimizing 403.gcc from 1.34s -> 0.79s (IPSCCP) and 1.11s -> 0.44s (SCCP). This commit also conflates in a bunch of general cleanups, sorry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
89112b608f50e2944619b320bd04d31bbd57b370 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
only IPSCCP incoming arguments if the function is executable, this fixes an assertion on the buildbot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
36c9952b1b218f99697910fc81588a29f600e6aa |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
add a new ValueState::getConstantInt() helper, use it to simplify some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
38871e4c3bc9a8fc1f520dc8f2868381061ec92b |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
tidy up some more: remove some extraneous inline specifiers, return harder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
8db50122a4f9e6f573786ac473bb3cd7e955a551 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate the SCCPSolver::getValueMapping method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
301a2792bea39a59be47d8950a0c5c8f998199c1 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
fix failures introduced in r85774 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cc4f60b1134c745139367d529d37d316d2c59e99 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
factor duplicated code into a new DeleteInstructionInBlock function, eliminate temporary (and pointless) smallvector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2f09625a9fde578e5ca2cc8cc696efaa857c5f59 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
Chris used to use '...' instead of proper grammar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ea0db070a1862ede85719110b59f0bbb00dcf7f9 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove some extraneous llvmcontext stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7927220aef34e056c87b066d4bd87c81e6b0c225 |
|
02-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
change LatticeVal to use PointerIntPair to save some space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b2710041fbed34ae888a6fed4172aea92bced1b5 |
|
01-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
teach ipsccp and ipconstprop that a blockaddress doesn't 'take the address' of a function in a way that should prevent ip constprop. This allows clang/test/CodeGen/indirect-goto.c to pass with the new indirect goto lowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
4c0236fd8b94f9721bac8a66c3220e797310c593 |
|
29-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
teach various passes about blockaddress. We no longer crash on any clang tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
f006b183e2d2bebcf6968d1dd7350397c95b0325 |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocFreeHelper as MemoryBuiltins git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
f2becca90b832cc02345fba063b9b439b2be33ad |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
046e78ce55a7c3d82b7b6758d2d77f2d99f970bf |
|
27-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Remove FreeInst. Remove LowerAllocations pass. Update some more passes to treate free calls just like they were treating FreeInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
66284e063a1e46500acae48bdc0e4a00652021d1 |
|
24-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Auto-upgrade free instructions to calls to the builtin free function. Update all analysis passes and transforms to treat free calls just like FreeInst. Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7b929dad59785f62a66f7c58615082f98441e95e |
|
23-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Remove AllocationInst. Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2b6183d2543287e5371319d16010bf651a207b1b |
|
20-Oct-2009 |
Torok Edwin <edwintorok@gmail.com> |
Fix PR4313: IPSCCP was not setting the lattice value for the invoke instruction when the invoke had multiple return values: it set the lattice value only on the extractvalue. This caused the invoke's lattice value to remain the default (undefined), and later propagated to extractvalue's operand, which incorrectly introduces undefined behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c6f69e94fa46f585b59bb9d7ace3224b0e638c95 |
|
05-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Remove an unnnecessary LLVMContext argument in ConstantFoldLoadThroughGEPConstantExpr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cf0fe8d813727383d630055bb9d1cde21b00b7e7 |
|
05-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
strength reduce a ton of type equality tests to check the typeid (Through the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
32c0d2255f9c85972baf4157c59ce39a16c3ee91 |
|
27-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
calls to external functions are already marked overdefined, special casing malloc isn't needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c3384995258efcec26acf3a88715dc99cd871c3e |
|
24-Sep-2009 |
Torok Edwin <edwintorok@gmail.com> |
Constant propagating byval pointer is safe if function is readonly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
30a94e3b4203cee64db0edd997780bbe4ad0acdc |
|
24-Sep-2009 |
Torok Edwin <edwintorok@gmail.com> |
Don't constant propagate byval pointers, since they are not really pointers, but rather structs passed by value. This fixes PR5038. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
83d63919bd990ce00f62e18114504b9e4a5cb35e |
|
19-Sep-2009 |
Victor Hernandez <vhernandez@apple.com> |
Enhance transform passes so that they apply the same tranforms to malloc calls as to MallocInst. Reviewed by Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3e8b6631e67e01e4960a7ba4668a50c596607473 |
|
02-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
8a67ac525ed874473f0cbe4fc4a02a2606bff7dd |
|
30-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
add getPointerAddressSpace() to GEP instruction, use the method in a few scalar xforms to simplify things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
bdff548e4dd577a72094d57b282de4e765643b96 |
|
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate the "Value" printing methods that print to a std::ostream. This required converting a bunch of stuff off DOUT and other cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
873257723084bad749c1cc13a2d35b35c229942e |
|
17-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Fix debug output to include a newline after printing a Value, now that Value's operator<< doesn't include one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1d0be15f89cb5056e20e2d24faa8d6afb1573bca |
|
13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContexts through the IntegerType APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a7235ea7245028a0723e8ab7fd011386b3900777 |
|
31-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are metadata related, which I'm waiting on to avoid conflicting with Devang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5defacc6e605f4651c6300237cef8e9bb2eb6d0e |
|
31-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move getTrue() and getFalse() to 2.5-like APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9e9a0d5fc26878e51a58a8b57900fcbf952c2691 |
|
31-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move more code back to 2.5 APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
baf3c404409d5e47b13984a7f95bfbd6d1f2e79e |
|
29-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move ConstantExpr to 2.5 API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
93b67e40de356569493c285b86b138a3f11b5035 |
|
26-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Eliminate some uses of DOUT, cerr, and getNameStart(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ce63ffb52f249b62cdf2d250c128007b13f27e71 |
|
25-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
More migration to raw_ostream, the water has dried up around the iostream hole. - Some clients which used DOUT have moved to DEBUG. We are deprecating the "magic" DOUT behavior which avoided calling printing functions when the statement was disabled. In addition to being unnecessary magic, it had the downside of leaving code in -Asserts builds, and of hiding potentially unnecessary computations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e922c0201916e0b980ab3cfe91e1413e68d55647 |
|
22-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Get rid of the Pass+Context magic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b3056faa5554ded7ac1ac5865d10ef5839fb77d3 |
|
21-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Rename getConstantInt{True|False} to get{True|False} at Chris' behest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
001dbfebcbbded8c8e74b19e838b50da2b6c6fb5 |
|
16-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move the ConstantInt uniquing table into LLVMContextImpl. This exposed a number of issues in our current context-passing stuff, which is also fixed here git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c23197a26f34f559ea9797de51e187087c039c42 |
|
14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
73c6b7127aff4499e4d6a2edb219685aee178ee1 |
|
13-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move more functionality over to LLVMContext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c25e7581b9b8088910da31702d4ca21c4734c6d7 |
|
11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7d696d80409aad20bb5da0fc4eccab941dd371d4 |
|
11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
Convert more assert(0)+abort() -> LLVM_UNREACHABLE, and abort()/exit() -> llvm_report_error(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
07cf79ef537caff6d39145f190a28a336e629b6f |
|
07-Jul-2009 |
Owen Anderson <resistor@mac.com> |
"LLVMContext* " --> "LLVMContext *" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
76f600b205606a055ec35e7d3fd1a99602329d67 |
|
07-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's through the ValueTracking API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
508955156a25a9abc470a29e1760aa176d341cf9 |
|
06-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Thread LLVMContext through the constant folding APIs, which touches a lot of files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
fa5cbd6d0fbda23fd669c8718e07b19001b2d21a |
|
03-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Even more passes being LLVMContext'd. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d7f20b6b98839210706aa056653b2ccd4e402db2 |
|
07-Jun-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Don't crash on multiple return value with no obvious inserted value. Fixes PR4314. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e3f1fb1ee862a9a54c4a22f579460ac1e968b3d6 |
|
28-May-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Use Operands.data() instead of &Operands[0] where Operands is a potentially empty SmallVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
64da9409cb27f43825a8ab0a3b49c2a73cae36ba |
|
21-Mar-2009 |
Duncan Sands <baldrick@free.fr> |
Factorize out a concept - no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ab6b226978644c438a3a7768a06dcd48509d000c |
|
20-Mar-2009 |
Duncan Sands <baldrick@free.fr> |
Don't load values out of global constants with weak linkage: the value may be replaced with something different at link time. (Frontends that want to allow values to be loaded out of weak constants can give their constants weak_odr linkage). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
bb46f52027416598a662dc1c58f48d9d56b1a65b |
|
15-Jan-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add the private linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d9d46241ece12351fce06b55baad2c83b50922a6 |
|
14-Jan-2009 |
Chris Lattner <sabre@nondot.org> |
Fix PR3325, a miscompilation of invokes by IPSCCP. Patch by Jay Foad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cb9a354d1323bed4043e716503226678ae520f53 |
|
21-Nov-2008 |
Devang Patel <dpatel@apple.com> |
Fix unused variable warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
af38613e319fa9a8868578e94a48ec6349788266 |
|
03-Nov-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Replace explicit loop with utility function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ae73dc1448d25b02cabc7c64c86c64371453dda8 |
|
04-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Tidy up several unbeseeming casts from pointer to intptr_t. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7eb01bfc1645abbed0ee898a5df7ff9e4f407c38 |
|
24-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
improve encapsulation of the BBExecutable set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cf712dee9398ea24720da9dc14462df5d9471762 |
|
24-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
Switch an assortment of maps, sets and vectors to more efficient versions, patch contributed by m-s! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7a7cf6b98465fb307e1edaababd2c03c1944c9b0 |
|
15-Aug-2008 |
Bill Wendling <isanbard@gmail.com> |
Temporarily revert r54792. It's causing an ICE during bootstrapping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1df183f554eb742e874ebc14af60694540e5d0f8 |
|
14-Aug-2008 |
Devang Patel <dpatel@apple.com> |
Use DenseMap. Patch by Pratik Solanki. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2edeb63eced945bfa2af7d5c6a6bb0fe3503a070 |
|
13-Aug-2008 |
Dan Gohman <gohman@apple.com> |
Fix SCCP's handling of struct value loads and stores. SCCP doesn't track individual leaf values in such cases, so it needs to treat struct values as normal values in this case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
fc74abfba5128544a750fce22fdf13eb0403e3ce |
|
23-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Enable first-class aggregates support. Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
60ea268645a3b082d4ccd86c113a1a530fc2b9f6 |
|
20-Jun-2008 |
Dan Gohman <gohman@apple.com> |
Tidy up some commments and use the getAggregateOperand and getInsertedValueOperand accessors. Thanks Matthijs! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
dfaceb49fca5ea37ded300dfe0867aa4b891f98b |
|
20-Jun-2008 |
Dan Gohman <gohman@apple.com> |
Fix the conditions under which SCCP should examine insertvalue instructions. Thanks to Matthijs Kooijman for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c4b65ea56baf2231da6b0f33b3bf33d08ffcf567 |
|
20-Jun-2008 |
Dan Gohman <gohman@apple.com> |
Teach SCCP about insertvalue and extractvalue, and about propagating constants across aggregate return values when insertvalue and extractvalue are used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
60301608f8fac2e476db250797b533bbe415b404 |
|
24-May-2008 |
Chris Lattner <sabre@nondot.org> |
Fix PR2358 by resolving calls with undef arguments to overdefined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9bca583f9d674eb27f492d46074f5621dd166f5a |
|
23-May-2008 |
Dale Johannesen <dalej@apple.com> |
Allow for switch with no cases. Was causing fault in gcc.dg/pr27531-1.c. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
844731a7f1909f55935e3514c9e713a62d67662e |
|
13-May-2008 |
Dan Gohman <gohman@apple.com> |
Clean up the use of static and anonymous namespaces. This turned up several things that were neither in an anonymous namespace nor static but not intended to be global. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5c8e8d7fc5b042153fe8b0f0813368c49ec007a5 |
|
11-May-2008 |
Chris Lattner <sabre@nondot.org> |
Fix various DOUTs to not call the extremely expensive Value::getName() method. DOUT statements are disabled when assertions are off, but the side effects of getName() are still evaluated. Just call getNameSTart, which is close enough and doesn't cause heap traffic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3a73c9e5f9e1f9baf77b744adf3adb53639b8af5 |
|
11-May-2008 |
Chris Lattner <sabre@nondot.org> |
Simplify code by using SwitchInst::findCaseValue instead of reimplementing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
280a6e607d8eb7401749a92db624a82de47da777 |
|
25-Apr-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989 r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
eb5f4092d9fab33c10a27549a80edd3ac25de68f |
|
24-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
code restructuring, not functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7cb22ecf226842f04f2ee4b8ed040ea503332499 |
|
24-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
Don't replace multiple result of calls with undef, sccp tracks getresult values, not call values in this case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
f4023a1ef68197d995b4c6aa1ea27d38d7143cb4 |
|
24-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
code cleanup, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c6ee00b8eec0a682f25810c7912272cd76c87a2c |
|
23-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
Rewrite multiple return value handling in SCCP. Before, the -sccp pass would turn every getresult instruction into undef. This helps with rdar://5778210 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d4e0af9f8945a1fb7b053f542ab114eb5908350d |
|
09-Apr-2008 |
Devang Patel <dpatel@apple.com> |
Be conservative if getresult operand is neither call nor invoke. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
051a950000e21935165db56695e35bade668193b |
|
06-Apr-2008 |
Gabor Greif <ggreif@gmail.com> |
API changes for class Use size reduction, wave 1. Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c9235d2e855c56e9aa157969f8132a05f9ba89d8 |
|
22-Mar-2008 |
Dan Gohman <gohman@apple.com> |
Don't include <map> in Pass.h, which doesn't need it. This requires adding <map> to many files that actually do need it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9af014f80c4c45ee815627e8c08eb9a1de6b2a14 |
|
11-Mar-2008 |
Devang Patel <dpatel@apple.com> |
Add TODO reminder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7c490d4104baf6984ff04cf6a60f2f8825c54812 |
|
11-Mar-2008 |
Devang Patel <dpatel@apple.com> |
Initial multiple return values support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a66696ef0d6786befc7815cc25b37d2bc5e0010a |
|
09-Mar-2008 |
Nick Lewycky <nicholas@mxc.ca> |
SCCP also needs to be taught to follow unwind_to git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
6c36a0f9ee874129dce1a7453d6cb9af4ab5f636 |
|
08-Mar-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Not all users of a BB are Instructions any more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
07e6e56f57e8781a8d7bc601cc9034a3741d84c2 |
|
20-Feb-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Make Transforms to be 4.3 warnings-clean git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
05bb789430bab7d8fae1e94fb9aa0bb21e679ebf |
|
28-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Fix PR1938 by forcing the code that uses an undefined value to branch one way or the other. Rewriting the code itself prevents subsequent analysis passes from making contradictory conclusions about the code that could cause an infeasible path to be made feasible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
4ee451de366474b9c228b4e5fa573795a715216d |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b15147ea4cc6716924ced6eff65358a95c35bd16 |
|
29-Dec-2007 |
Christopher Lamb <christopher.lamb@gmail.com> |
Disable null pointer folding transforms for non-generic address spaces. This should probably be a target-specific predicate based on address space. That way for targets where this isn't applicable the predicate can be optimized away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cb406c25973b4e88a6c10ad839ef1beeb3664715 |
|
03-Oct-2007 |
Dan Gohman <gohman@apple.com> |
Use empty() member functions when that's what's being tested for instead of comparing begin() and end(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e2abf12436fb50d37edd1dba4c08cf1f650af4bc |
|
20-Jul-2007 |
Duncan Sands <baldrick@free.fr> |
Place SCCPSolver also in the anonymous namespace. This pacifies g++-4.2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9f26f73179edecbbac322c54aee7eda2fc3907ec |
|
18-May-2007 |
Devang Patel <dpatel@apple.com> |
Fix PR1431 Test case at Transformations/SCCP/2007-05-16-InvokeCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ecd94c804a563f2a86572dcf1d2e81f397e19daa |
|
06-May-2007 |
Nick Lewycky <nicholas@mxc.ca> |
Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1997473cf72957d0e70322e2fe6fe2ab141c58a6 |
|
03-May-2007 |
Devang Patel <dpatel@apple.com> |
Drop 'const' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3e15bf33e024b9df9e89351a165acfdb1dde51ed |
|
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
794fd75c67a2cdc128d67342c6d88a504d186896 |
|
01-May-2007 |
Devang Patel <dpatel@apple.com> |
Do not use typeinfo to identify pass in pass manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e34e9a29dc424baed8aed200c6a940f2c12c2a2f |
|
15-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
fix long lines git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
57939df2ebe0f1bc66dd6549c35f94feb0e18a0a |
|
04-Mar-2007 |
Chris Lattner <sabre@nondot.org> |
minor cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9d6565a5b1fbc4286d6ee638d8f47a3171a9ed7e |
|
15-Feb-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1195: Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9133fe28954d498fc4de13064c7d65bd811de02c |
|
06-Feb-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes in the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c1ec780d1eda06a1c753bd414df5af73fad0d66c |
|
02-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
Switch this back to using an std::map. DenseMap entries are getting invalidated git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1c1f112f7432a01d50678c41f23e7811cdd0d41e |
|
02-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
Remove more malloc thrashing, this speeds up IPSCCP on kimwitu another 6.7%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cc56aad06d35e002e0debb616dd838f2a88f4ce8 |
|
02-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
Convert an std::set to SmallSet, this speeds up IPSCCP 17% on kimwitu. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e777ff21b0a026715cb5c5549a7f943209cf3e39 |
|
02-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
eliminate a malloc/free for (almost) every GEP processed. This speeds up IPSCCP 3.3% on kimwitu. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b59673e65086e8cc150982b96a25366957357b9c |
|
02-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
switch hash_map's over to DenseMap in SCCP. This speeds up SCCP by 30% in a release-assert build on kimwitu++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
832254e1c2387c0cbeb0a820b8315fbe85cb003a |
|
02-Feb-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Changes to support making the shift instructions be true BinaryOperators. This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
79066fa6acce02c97c714a5a6e151ed8a249721c |
|
31-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Adjust #includes to match movement of constant folding code from transformutils to libanalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cd2492e6ff67d51bafe20412fdb91cb8bcc22095 |
|
31-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
use smallvector instead of vector to make constant folding a bit more efficient git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 |
|
30-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid confusion with external linkage types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
54a525d7ae4ce36780d840cfec075d4080f0764a |
|
13-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Fix a minor bug handling constant exprs, introduced by a recent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a54b7cbd452b3adb2f51346140d996b29c2cdb30 |
|
12-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1064: Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
579dca12c2cfd60bc18aaadbd5331897d48fec29 |
|
12-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Implement review feedback for the ConstantBool->ConstantInt merge. Chris recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
4fe16d607d11e29d742208894909733f5ad01f8f |
|
11-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Rename BoolTy as Int1Ty. Patch by Sheng Zhou. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
6b6b6ef1677fa71b1072c2911b4c1f9524a558c9 |
|
11-Jan-2007 |
Zhou Sheng <zhousheng00@gmail.com> |
For PR1043: Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7ce2f8b265e5d170cecbe61ea7f4269876bf07ef |
|
04-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Enable a couple xforms for packed vectors (undef | v) -> -1 for packed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
52ab904ee599aea86225dadb3dedd9fee46a70c8 |
|
03-Jan-2007 |
Jim Laskey <jlaskey@mac.com> |
Vectors are not supported by ConstantInt::getAllOnesValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ee5d25e5cc064c954a79f735ae767d21198a0b4e |
|
31-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Fix a typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e4d87aa2de6e52952dca73716386db09aad5a8fd |
|
23-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3bad2533bb18d45a811e56d9fd3a2d1e7b94be9e |
|
20-Dec-2006 |
Chris Lattner <sabre@nondot.org> |
handle undef values much more carefully: generalize the resolveundefbranches code to handle instructions as well, so that we properly fold things like X & undef -> 0. This fixes Transforms/SCCP/2006-12-19-UndefBug.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
0e5f499638c8d277b9dc4a4385712177c53b5681 |
|
19-Dec-2006 |
Chris Lattner <sabre@nondot.org> |
Switch over Transforms/Scalar to use the STATISTIC macro. For each statistic converted, we lose a static initializer. This also allows GCC to emit warnings about unused statistics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
4da49122f3f3c8da68a52723d846b88c72166a68 |
|
12-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Change inferred getCast into specific getCast. Passes all tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e81561909d128c6e2d8033cb5465a49b2596b26a |
|
07-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are now cerr, cout, and NullStream resp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ac0b6ae358944ae8b2b5a11dc08f52c3ed89f2da |
|
06-Dec-2006 |
Chris Lattner <sabre@nondot.org> |
Detemplatize the Statistic class. The only type it is instantiated with is 'unsigned'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
67a821d9a30b39fc7d37153a6ebf78bed7b913e3 |
|
05-Dec-2006 |
Devang Patel <dpatel@apple.com> |
SCCP does not handle Packed Type properly. Disable Packed Type handling for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b7427031372337e6d67f9573ec6c722ab5ea913e |
|
26-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Removed #include <iostream> and replaced with llvm_* streams. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3ed469ccd7b028a030b550d84b7336d146f5d8fa |
|
02-Nov-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR786: Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ddaaa374879f2f736f7bfa20f4b25202fcb85708 |
|
23-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
Handle fallout from the recent branch-on-undef changes. This fixes Prolangs-C/agrep and SCCP/2006-10-23-IPSCCP-Crash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d2d86703f0b9024e1796737f1dea478961a9b32b |
|
22-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
3 Changes: 1. Better document what is going on here. 2. Only hack on one branch per iteration, making the results less conservative. 3. Handle the problematic case by marking edges executable instead of by playing with value lattice states. This is far less pessimistic, and fixes SCCP/ipsccp-gvar.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
6734bffe2471786ab0d943f236f6b02bc95084b4 |
|
20-Oct-2006 |
Chris Lattner <sabre@nondot.org> |
Fix an ugly problem in SCCP. This fixes Benchmarks/Misc-C++/mandel-text.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
47811b76ca92ddfebdd73c633d04ba8a4f5b7b59 |
|
29-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
Eliminate ConstantBool::True and ConstantBool::False. Instead, provide ConstantBool::getTrue() and ConstantBool::getFalse(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7f8897f22e88271cfa114998a4d6088e7c8e8e11 |
|
28-Aug-2006 |
Chris Lattner <sabre@nondot.org> |
eliminate RegisterOpt. It does the same thing as RegisterPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
543abdf1d0914228899061b36674fb1c6234aaff |
|
08-Apr-2006 |
Chris Lattner <sabre@nondot.org> |
Add supprot for shufflevector git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
fe243ebb64cccc649bb31e76163da58b68e8dd84 |
|
08-Feb-2006 |
Chris Lattner <sabre@nondot.org> |
Implement some more interesting select sccp cases. This implements: test/Regression/Transforms/SCCP/select.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
dac58ad983c62b49629e1f2969f4e0a621167d63 |
|
23-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Make iostream #inclusion explicit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
8fcf01ead0ab0a43df2440fa93088ca746a37a47 |
|
17-Jan-2006 |
Robert Bocchino <bocchino@illinois.edu> |
Lowerpacked and SCCP support for the insertelement operation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
56107e21a5cb5f2114dd1974c86f17cda47005e5 |
|
10-Jan-2006 |
Robert Bocchino <bocchino@illinois.edu> |
Added lower packed support for the extractelement operation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ebe61201d182123b699241e31d5123206836515c |
|
26-Sep-2005 |
Chris Lattner <sabre@nondot.org> |
Eliminate GetGEPGlobalInitializer in favor of the more powerful ConstantFoldLoadThroughGEPConstantExpr function in the utils lib. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9d80930e950214d026afd3a3d18cda32629efdb9 |
|
23-Apr-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Eliminate tabs and trailing spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
fd93908ae8b9684fe71c239e3c6cfe13ff6a2663 |
|
22-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7d27fc0252cb03b61c59b8a1e3307455c410266b |
|
19-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
Wrap some long lines. Make IPSCCP strip off dead constant exprs that are using functions, making them appear as though their address is taken. This allows us to propagate some more pool descriptors, lowering the overhead of pool alloc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e4d5c441e04bdc00ccf1804744af670655123b07 |
|
15-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
This mega patch converts us from using Function::a{iterator|begin|end} to using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2cc34627bb870b6a304efe673736fed2f6a63800 |
|
08-Jan-2005 |
Chris Lattner <sabre@nondot.org> |
Silence warnings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a177c6747195f2abe5a0fc10e1a65d6c0afb85b5 |
|
12-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
If one side of and/or is known to be 0/-1, it doesn't matter if the other side is overdefined. This allows us to fold conditions like: if (X < Y || Y > Z) in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
dade2d22babb0877fcbfd13fecd3742991bebed9 |
|
11-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Two bug fixes: 1. Actually increment the Statistic for the GV elim optzn 2. When resolving undef branches, only resolve branches in executable blocks, avoiding marking a bunch of completely dead blocks live. This has a big impact on the quality of the generated code. With this patch, we positively rip up vortex, compiling Ut_MoveBytes to a single memcpy call. In vortex we get this: 12 ipsccp - Number of globals found to be constant 986 ipsccp - Number of arguments constant propagated 1378 ipsccp - Number of basic blocks unreachable 8919 ipsccp - Number of instructions removed git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
864737bf9e208566bbecb81dda9cce5245fa2bcf |
|
11-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Do not delete the entry block to a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
dd336d196ec4b695cc6a152702dab1a211377382 |
|
11-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Implement Transforms/SCCP/ipsccp-gvar.ll, by tracking values stored to non-address-taken global variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
0417feba293f58e90a7f959a4f85120dfcbda8d7 |
|
11-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Fix a bug where we could delete dead invoke instructions with uses. In functions where we fully constant prop the return value, replace all ret instructions with 'ret undef'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5f9e8b4c3fbafe0a3f968392386f2b6c83d7e45f |
|
10-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Implement SCCP/ipsccp-conditional.ll, by totally deleting dead blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
fc6ac506192e79f00597f0cf2fdf1892b0fee09d |
|
10-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Fix SCCP/2004-12-10-UndefBranchBug.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
59acc7d4efd4580efd71e6a89393bf58f66d19dd |
|
10-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
This is the initial implementation of IPSCCP, as requested by Brian. This implements SCCP/ipsccp-basic.ll, rips apart Olden/mst (as described in PR415), and does other nice things. There is still more to come with this, but it's a start. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
73559b1f4c18970f97f62d28bacfaebd4020e974 |
|
16-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Do not delete dead invoke instructions! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
14051812ff4c80ac070a0caa55316d282f78ef4d |
|
15-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Minor cleanups. There is no reason for SCCP to derive from instvisitor anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b77d5d8d50b146cc93082dbc07d5928ae80a20ca |
|
15-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Count more accurately git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7e529e4b3cbce226f26f840e434332cf0d4e2c32 |
|
15-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Two minor improvements: 1. Speedup getValueState by having it not consider Arguments. It's better to just add them before we start SCCP'ing. 2. SCCP can delete the contents of dead blocks. No really, it's ok! This reduces the size of the IR for subsequent passes, even though simplifycfg would do the same job. In practice, simplifycfg does not run until much later than sccp in gccas git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
ef36dfd31a1e7d2198264898077dc8ba6c76e97d |
|
15-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
rename InstValue to LatticeValue, as it holds for more than instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
82bec2cff0c753f551a570361d1da5bd9f48f309 |
|
15-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Substantially refactor the SCCP class into an SCCP pass and an SCCPSolver class. The only changes are minor: * Do not try to SCCP instructions that return void in the rewrite loop. This is silly and fool hardy, wasting a map lookup and adding an entry to the map which is never used. * If we decide something has an undefined value, rewrite it to undef, potentially leading to further simplications. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1fca5ff62bb2ecb5bfc8974f4dbfc56e9d3ca721 |
|
27-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Convert 'struct' to 'class' in various places to adhere to the coding standards and work better with VC++. Patch contributed by Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5d356a7c82046b5610c59545b6fbc82ca5e5da76 |
|
16-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Handle undef values as undefined on the constant lattice ignore unreachable instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
dd278277330c5a333ab1f6398c30997af08ffd69 |
|
09-Oct-2004 |
Chris Lattner <sabre@nondot.org> |
Use DEBUG instead of DebugFlag directly, as DebugFlag does not respect -debug-only! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
4b5015604908e9296800991a7c538a255356428f |
|
20-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Prototype these functions more accurately git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2da5c3dda6f5b9c4ec6d55008d33327764364bd4 |
|
15-Sep-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Convert code to compile with vc7.1. Patch contributed by Paolo Invernizzi. Thanks Paolo! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
551ccae044b0ff658fe629dd67edd5ffe75d10e8 |
|
02-Sep-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Changes For Bug 352 Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
15876bb28c9c0983279c30a123c13224648574c1 |
|
04-Aug-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Stop using getValues(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c88920df668453fe11e91725f37277cf4902f382 |
|
18-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Delete a redundant if branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
21cb67e16ae4741ba7b24848db6913047876c4bc |
|
18-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
bug 122: - Replace ConstantPointerRef usage with GlobalValue usage - Correct isa<Constant> for GlobalValue subclass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
80b2d6c8c4d6ee060bce6d3e8e899c62a31c4c8c |
|
16-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
This patch was contributed by Daniel Berlin! Speed up SCCP substantially by processing overdefined values quickly. This patch speeds up SCCP by about 30-40% on large testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2fc1230dd68e3f67d36b295adc5168733c412009 |
|
15-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Fixes working towards PR341 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
58b7b08ad77efd3fee62d8bc559432cf840beac0 |
|
13-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add SCCP support for constant folding calls, implementing: test/Regression/Transforms/SCCP/calltest.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
28977af72a11fcad5d1b54d7a96b3df02828f6fc |
|
05-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Support getelementptr instructions which use uint's to index into structure types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a2f652d420ef3023fe105602481f750cbbbf88c5 |
|
16-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Do not try to optimize PHI nodes with incredibly high degree. This reduces SCCP time from 615s to 1.49s on a large testcase that has a gigantic switch statement that all of the blocks in the function go to (an intepreter). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
6e32372fcdbac8eff07ab82c0b5b269d53bd9c51 |
|
12-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Add sccp support for select instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c76d80342e229a86bf3f780c797e29d197363bc4 |
|
07-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Since 'load null' is undefined, we can make it do whatever we want. Returning a zero value is the most likely way to cause further simplification, so we do it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
de512b5b2edebe9c9021a92c7c7a9ae9fbc380d6 |
|
15-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Adjustments to support the new ConstantAggregateZero class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b16689b647811d38ab5a5b990caed7f0014281c4 |
|
12-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Don't use ConstantExpr::getShift anymore git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b7a5d3edeed0b87b264933044fa5607f99016fc8 |
|
12-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Use constantexprs for casts. Eliminate use of the ConstantHandling interfaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
84831642e4ecdb8188df48fc62bb89cd41033daa |
|
12-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Fix fairly severe bug in my last checking where we treated all unfoldable constants as being "true" when evaluating branches. This was introduced because we now create constantexprs for the constants instead of failing the fold. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c6a4d6a066ea076409cceef0b5ca922eaf0aaddb |
|
12-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
* Implement minor performance optimization for the getelementptr case * Implement SCCP of load instructions, implementing Transforms/SCCP/loadtest.ll This allows us to fold expressions like "foo"[2], even if the pointer is only a conditional constant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1daee8b010003e8578824877f0dbe407b554b52d |
|
12-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Implement SCCP/phitest.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d7456026629fc1760a45e6e955e9834246493147 |
|
09-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Finegrainify namespacification git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
d0fde30ce850b78371fd1386338350591f9ff494 |
|
11-Nov-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Put all LLVM code into the llvm namespace, as per bug 109. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b576c94c15af9a440f69d9d03c2afead7971118c |
|
20-Oct-2003 |
John Criswell <criswell@uiuc.edu> |
Added LLVM project notice to the top of every C++ source file. Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cda965e28a3411cb9e41f58cddc4c9c1afa0e8a1 |
|
18-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
ADd support for the new varargs instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cf00c4ab3ba308d45d98c5ccab87362cf802facb |
|
10-Oct-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Fix spelling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
929c6fbcbc12fdf2826b223a9171d25bd0fc1748 |
|
08-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Update comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
16b18fdc35cec3510f48cfe01e030d23c84aca55 |
|
08-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Use a set to keep track of which edges have been noticed as executable already to avoid reprocessing PHI nodes needlessly. This speeds up the big bad PHI testcase 43%: from 104.9826 to 73.5157s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3d405b07b46a3570bc04baeb15823da0dfc157af |
|
08-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Minor fixes here and there git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7d275f459b885b84d9acb5e2292c7d3b6ebd8a6c |
|
08-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Avoid building data structures we don't really need. This improves the runtime of a test that Bill Wendling sent me from 228.5s to 105s. Obviously there is more improvement to be had, but this is a nice speedup which should be "felt" by many programs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
36143fc4440ac1fc2a0fc95a4999bcadc3ec207d |
|
08-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Add support for the unwind instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
99b28e632f194cd0014ea8bde930b0b72d0ccc6e |
|
27-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Fix bug: SCCP/2003-08-26-InvokeHandling.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5560c9d49ccae132cabf1155f18aa0480dce3eda |
|
18-Aug-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Spell `necessary' correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
6806f5614d2ec260fda954c951d33f58e77ed610 |
|
02-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
DEBUG got moved to Support/Debug.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
38b5ae4b4847196f5ec53551cf8040ba0b5fb11d |
|
24-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Fix bug: SCCP/2003-06-24-OverdefinedPHIValue.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
82c89b9f3a9b88bb63ce13b09b4f27fbb72f66fc |
|
20-May-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Hopefully, the final fix for `[Pp]ropogate'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1d16ec7381232dffddf2b0d52a823efc0047a3ca |
|
08-May-2003 |
Chris Lattner <sabre@nondot.org> |
Handle va_arg instruction correctly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
bceb2b0061d9556b58ffb97824d1998027cf6ef5 |
|
25-Apr-2003 |
Chris Lattner <sabre@nondot.org> |
Fix major problem with PHI node traversal: rechecking PHIs should go into the visit function. The worklist is for when their lattice value changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9de28289f8421e50ddcb9d0be8b70f5c6ca40253 |
|
25-Apr-2003 |
Chris Lattner <sabre@nondot.org> |
Minor non-functional changes: * Spell propagate right * Improve performance of phi node handling * Delete using directive * Other minor changes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e408e25132b8de8c757db1e3ddcd70432dfeb24d |
|
23-Apr-2003 |
Chris Lattner <sabre@nondot.org> |
Remove unnecesary &*'s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
af663465d64c40e6798c0dacb9d49e9cef763a17 |
|
04-Nov-2002 |
Chris Lattner <sabre@nondot.org> |
Make sure to _delete_ memory allocated by worklists git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a3bbcb5b664c1c851b87392119608901b2e1837c |
|
30-Oct-2002 |
Misha Brukman <brukman+llvm@gmail.com> |
Fix spelling of `propagate'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cb2610ea037a17115ef3a01a6bdaab4e3cfdca27 |
|
21-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
- Rename AnalysisUsage::preservesAll to getPreservesAll & preservesCFG to setPreservesCFG to be less confusing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a92f696b74a99325026ebbdbffd2a44317e0c10b |
|
02-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Updates to work with recent Statistic's changes: * Renamed StatisticReporter.h/cpp to Statistic.h/cpp * Broke constructor to take two const char * arguments instead of one, so that indendation can be taken care of automatically. * Sort the list by pass name when printing * Make sure to print all statistics as a group, instead of randomly when the statistics dtors are called. * Updated ProgrammersManual with new semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2a88bb70657b241343f4a545c5f0d328e2cfdeef |
|
31-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
- Implement SCCP of getelementptr instructions - Implement SCCP of globals into ConstantExprs hopefully opening new opportunities for more SCCP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cc63f1c67456f41b25e8ccb8c1dce72067ddbadf |
|
23-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Eliminated the MemAccessInst class, folding contents into GEP class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
48a4531ee4ed02f9a9cd937593ae4b188e60531f |
|
14-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Remove extra #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b804760b56388c58ee8950447416b9f907c224c8 |
|
14-Aug-2002 |
Chris Lattner <sabre@nondot.org> |
Remove support for unary operators git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a6275ccdf5e1aa208afde56c498e2b13e16442f0 |
|
26-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
* Add support for different "PassType's" * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Add support for different "PassType's" * Add new RegisterOpt/RegisterAnalysis templates for registering passes that are to show up in opt or analyze * Register Analyses now * Change optimizations to use RegisterOpt instead of RegisterPass * Remove getPassName implementations from various subclasses git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
f629309f74cf1a64aa7fd1cd5784fd7db9a8f59e |
|
23-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7e70829632f82de15db187845666aaca6e04b792 |
|
25-Jun-2002 |
Chris Lattner <sabre@nondot.org> |
MEGAPATCH checkin. For details, See: docs/2002-06-25-MegaPatchInfo.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
f016ea4ff80c56c467247a90567dd07bddb590f3 |
|
22-May-2002 |
Chris Lattner <sabre@nondot.org> |
Use the new DEBUG(x) macro to allow debugging code to be enabled on the commandline git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7f9412b50d56a3e984ba03463251b37c42c2a111 |
|
22-May-2002 |
Chris Lattner <sabre@nondot.org> |
Fix bug: test/Regression/Transforms/SCCP/2002-05-21-InvalidSimplify.ll Improperly handling edges... by not marking them alive properly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
618b4a11bbde3a9149e9735421d9eeee1784df69 |
|
20-May-2002 |
Chris Lattner <sabre@nondot.org> |
Fix bug: test/Regression/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll That was causing a miscompilation of strtol/atoi plus others git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3dec1f272219ee1f8e1499929cdf53f5bc3c2272 |
|
10-May-2002 |
Chris Lattner <sabre@nondot.org> |
Add support for printing out statistics information when -stats is added to the command line git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
022103b3f33febb7e54b8fdf2c9bc461eea78cba |
|
07-May-2002 |
Chris Lattner <sabre@nondot.org> |
Merge all individual .h files into a single Scalar.h file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
6d7491c3cc1ce46f346767fabb39d5dcda4b22bb |
|
07-May-2002 |
Chris Lattner <sabre@nondot.org> |
Add #include no longer included by llvm/Transforms/Scalar/ConstantProp.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
071d0ad2f16a608ac3a9ff8507eb0fd6594209fa |
|
07-May-2002 |
Chris Lattner <sabre@nondot.org> |
* Convert InstWorkList to vector instead of set, because on big programs it is empirically faster by a noticable margin, even though duplicates can happen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
4c1061f58c7149e884c81851b8a8f61483264560 |
|
06-May-2002 |
Chris Lattner <sabre@nondot.org> |
Implement constant propogation of shift instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
904ec289c2e39e0b48826fd940ac4486c0963ffa |
|
02-May-2002 |
Chris Lattner <sabre@nondot.org> |
Ok, really it only takes me 3 times to get this right! Now use #if 0 instead of #ifdef 0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
52a9a1def873835e1588276bfbdb2ffed9b5708a |
|
02-May-2002 |
Chris Lattner <sabre@nondot.org> |
Oops, disable debugging code all the way. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b9a66344662eb5e3fa7b8ec7d99fc5c39f180063 |
|
02-May-2002 |
Chris Lattner <sabre@nondot.org> |
* Finish the implementation of isEdgeFeasible this fixes bug: test/Regression/Transforms/SCCP/2002-05-02-EdgeFailure.ll * SCCP now preserves the CFG: It leaves conditional branches the way they are in the program, not simplifying them. A seperate pass should eliminate the potentially dead basic blocks and edges in the CFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
59f0ce2a41b4349f8062ba050dd84e34635781b5 |
|
02-May-2002 |
Chris Lattner <sabre@nondot.org> |
* Enable SCCP debugging to be turned on with a simple change of #define * Change worklist to a set so that duplicates cannot happen * Add support for the invoke instruction * Avoid marking store and free instructions as overdefined, since they cannot produce a value anyway. * Inline the OperandChangedState implementation * Add isEdgeFeasible in preparation to fix a bug. Right now it behaves exactly as before. * Remove obsolete comment about constant pools git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
0e9c515439f3af718a3640a9a29e9353978541c4 |
|
02-May-2002 |
Chris Lattner <sabre@nondot.org> |
* Simplify the code by not bothering to name the folded constant * Do not skip the instruction immediately after a folded instruction. This was causing the testcase failure: test/Regression/Transforms/SCCP/2002-05-02-MissSecondInst.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
0dbfc05a2aed61cdb1f83f74474749eb66e0856f |
|
29-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Significantly clean up SCCP pass. Now the two classes are merged and in an anonymous namespace where they belong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c6f3ae5c66c8e0dab6a2bd9601d0e253ef9ba794 |
|
29-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Eliminate duplicate or unneccesary #include's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
96c466b06ab0c830b07329c1b16037f585ccbe40 |
|
29-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Add new optional getPassName() virtual function that a Pass can override to make debugging output a lot nicer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
97e52e43361e77963145b95a576db11b4d14d309 |
|
28-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFGA git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
31bcdb822fe9133b1973de51519d34e5813a6184 |
|
28-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Split ConstantVals.h into Constant.h and Constants.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
f57b845547302d24ecb6a9e79d7bc386f761a6c9 |
|
27-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
* Rename MethodPass class to FunctionPass - Rename runOnMethod to runOnFunction * Transform getAnalysisUsageInfo into getAnalysisUsage - Method is now const - It now takes one AnalysisUsage object to fill in instead of 3 vectors to fill in - Pass's now specify which other passes they _preserve_ not which ones they modify (be conservative!) - A pass can specify that it preserves all analyses (because it never modifies the underlying program) * s/Method/Function/g in other random places as well git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
f2361c5e5c2917e6f19a55927b221d8671753a40 |
|
27-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Changes because the Terminator::getSuccessor function now FAILS if successor IDX is out of range instead of returning null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
2a632551a77851e9810d007ba07738f8f6babeab |
|
18-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Convert SCCP over to use InstVisitor instead of hand crafted switch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
6428a27ee3d54660a315c864d98b821d0607dfca |
|
18-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
GEP instructions can never be constant propogated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
73e214244f2403b5ba0ef81b8839600f3c8ffebc |
|
09-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
Move FunctionArgument out of iOther.h into Argument.h and rename class to be 'Argument' instead of FunctionArgument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
237e6d10f24863cf48821b601b4164794e89d847 |
|
09-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
s/Method/Function Remove extraneous #includes of llvm/Assembly/Writer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
968ddc921e70d098923a6dc585f86b6ebc3fd13e |
|
08-Apr-2002 |
Chris Lattner <sabre@nondot.org> |
ConstantHandling moved into VMCore library git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
79df7c0aaa18129e55968c8783ef8346807bd4af |
|
26-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Change references from Method to Function change references from MethodARgument to FunctionArgument git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
0fce76a009bccfa427575643a2b793fd53e8aff1 |
|
11-Mar-2002 |
Chris Lattner <sabre@nondot.org> |
Fix bug: test/Regression/Other/2002-03-11-ConstPropCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
bd0ef77cde9c9e82f2b4ad33e4982c46274d6540 |
|
26-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Change over to use new style pass mechanism, now passes only expose small creation functions in their public header file, unless they can help it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
221d688a5ef21a22c2368c9fff0e92d7966c95e5 |
|
12-Feb-2002 |
Chris Lattner <sabre@nondot.org> |
Method.h no longer includes BasicBlock.h Method::inst_* is now in llvm/Support/InstIterator.h GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
fcc93d2c0aece88c79648be3b76f98ee9e29e826 |
|
31-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
MethodPass's are now guaranteed to not be run on external methods! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
59b6b8e0b3e51dd899da25bd25b0793cc8229eea |
|
22-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Move stuff out of the Optimizations directories into the appropriate Transforms directories. Eliminate the opt namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
697954c15da58bd8b186dbafdedd8b06db770201 |
|
20-Jan-2002 |
Chris Lattner <sabre@nondot.org> |
Changes to build successfully with GCC 3.02 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
e9bb2df410f7a22decad9a883f7139d5857c1520 |
|
03-Dec-2001 |
Chris Lattner <sabre@nondot.org> |
Rename ConstPoolVal -> Constant Rename ConstPool* -> Constant* Rename ConstPoolVals.h -> ConstantVals.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7061dc50b2513731d7b346ab16183cda4a44619f |
|
03-Dec-2001 |
Chris Lattner <sabre@nondot.org> |
Split the PHINode class out from the iOther.h file into the iPHINode.h file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cee8f9ae67104576b2028125b56e9ba4856a1d66 |
|
27-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Create a new #include "Support/..." directory structure to move things from "llvm/Support/..." that are not llvm dependant. Move files and fix #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5b7d42b142b3dc0b2c35754659f6e52a57b09252 |
|
26-Nov-2001 |
Chris Lattner <sabre@nondot.org> |
Misc cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
37aabf28b3ae64356b58d7e0bed2c6764bc52334 |
|
31-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Implemented constant propogation of cast instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
5680ee6b28974c9cf6cab9f603d30e6eda2715bc |
|
18-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Convert optimizations to the pass infrastructure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
93d39d23b4775e756aec453d3a92ca334f91424c |
|
13-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Support the invoke instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b00c582b6d40e6b9ff2d1ed4f5eaf7930e792ace |
|
02-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Commit more code over to new cast style git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
1d87bcf4909b06dcd86320722653341f08b8b396 |
|
01-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Convert more code to use new style casts Eliminate old style casts from value.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
9636a91649f168f41b477cba705287665e054f79 |
|
01-Oct-2001 |
Chris Lattner <sabre@nondot.org> |
Add support for new style casts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
b70d82fb396b83f54d75540bdb41f236d4c001cd |
|
07-Sep-2001 |
Chris Lattner <sabre@nondot.org> |
* Eliminate reference to ConstantPool class * Constants are global objects that are not allocated or freed git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
57dbb3ad63b6a0e77798edb156ef43daa3bfc67e |
|
23-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Moved inline/llvm/Tools/* to include/llvm/Support/* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
bc7135f5c0aa0c1045e18ff18c98633349dc660c |
|
15-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Support external methods git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
3b7bfdb201fadea61639dee8f4de4181d745e858 |
|
14-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Add knowledge about the struct form of the GetElementPtr instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
0bd654a049490a56b6c39f56acf7c8e634085c23 |
|
08-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Implement checking for new instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
a41f50dea8573e4a610b5aa5e45b5c368559b084 |
|
07-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Broad superficial changes: * Renamed getOpcode to getOpcodeName * Changed getOpcodeName to return a const char * instead of string * Added a getOpcode method to replace getInstType * Changed code to use getOpcode instead of getInstType git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
c8b25d40cbec063b1ca99cc1adf794399c6d05c0 |
|
07-Jul-2001 |
Chris Lattner <sabre@nondot.org> |
Changed the fundemental architecture of Operands for Instructions. Now Operands are maintained as a vector<Use> in the User class, and operator iterators are provided as before. Getting an operand no longer requires a virtual function call. WARNING: getOperand(x) where x >= getNumOperands() will now assert instead of returning null! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
49c8f64747875e327754f6bb458d4b8409073082 |
|
30-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Rename DoSparseConditionalConstantProp -> DoSCCP git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
7e02b7e600ce8b719b34e2df7a7e44310229564d |
|
30-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Optimizations got their own header files Optimizations now live in the 'opt' namespace include/llvm/Opt was renamed include/llvm/Optimizations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
cb056de508c4938304b3a5a75e77eee19f6f98d1 |
|
30-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Added documentation. Constant fold terminators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|
138a124f09de272b2ab93cfd6e2a8a283d18029b |
|
28-Jun-2001 |
Chris Lattner <sabre@nondot.org> |
Add a new Sparse Conditional Constant Propogation pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Scalar/SCCP.cpp
|