01d7203ef8316fdd71c3cec59f8e68fb869e0dbf |
|
06-Aug-2013 |
Tom Stellard <thomas.stellard@amd.com> |
Factor FlattenCFG out from SimplifyCFG Patch by: Mei Ye git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
57e6b2d1f3de0bf459e96f7038e692d624f7e580 |
|
27-Jul-2013 |
Tom Stellard <thomas.stellard@amd.com> |
SimplifyCFG: Use parallel-and and parallel-or mode to consolidate branch conditions Merge consecutive if-regions if they contain identical statements. Both transformations reduce number of branches. The transformation is guarded by a target-hook, and is currently enabled only for +R600, but the correctness has been tested on X86 target using a variety of CPU benchmarks. Patch by: Mei Ye git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
be87bce32bc9af9bc5918a6e08806b61e3088165 |
|
20-Jun-2013 |
Meador Inge <meadori@codesourcery.com> |
Remove the simplify-libcalls pass (finally) This commit completely removes what is left of the simplify-libcalls pass. All of the functionality has now been migrated to the instcombine and functionattrs passes. The following C API functions are now NOPs: 1. LLVMAddSimplifyLibCallsPass 2. LLVMPassManagerBuilderSetDisableSimplifyLibCalls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
f9fd58a44bbc7d9371ce39eb20eec16b0f1f7395 |
|
19-Jun-2013 |
Bill Wendling <isanbard@gmail.com> |
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
ad966ea7a81a538425d5319f6d8568e460639e54 |
|
19-Jun-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Move StructurizeCFG out of R600 to generic Transforms. Register it with PassManager git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
c14f1c4587ba19781e557dee605efac0e1bd6109 |
|
14-Mar-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
24c4898973a074713201fb9351d302b9f7733e92 |
|
28-Jan-2013 |
Michael Gottesman <mgottesman@apple.com> |
Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
e4ba75f43e2ab1480d119d2d4eb878256274e0fb |
|
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Switch the SCEV expander and LoopStrengthReduce to use TargetTransformInfo rather than TargetLowering, removing one of the primary instances of the layering violation of Transforms depending directly on Target. This is a really big deal because LSR used to be a "special" pass that could only be tested fully using llc and by looking at the full output of it. It also couldn't run with any other loop passes because it had to be created by the backend. No longer is this true. LSR is now just a normal pass and we should probably lift the creation of LSR out of lib/CodeGen/Passes.cpp and into the PassManagerBuilder. =] I've not done this, or updated all of the tests to use opt and a triple, because I suspect someone more familiar with LSR would do a better job. This change should be essentially without functional impact for normal compilations, and only change behvaior of targetless compilations. The conversion required changing all of the LSR code to refer to the TTI interfaces, which fortunately are very similar to TargetLowering's interfaces. However, it also allowed us to *always* expect to have some implementation around. I've pushed that simplification through the pass, and leveraged it to simplify code somewhat. It required some test updates for one of two things: either we used to skip some checks altogether but now we get the default "no" answer for them, or we used to have no information about the target and now we do have some. I've also started the process of removing AddrMode, as the TTI interface doesn't use it any longer. In some cases this simplifies code, and in others it adds some complexity, but I think it's not a bad tradeoff even there. Subsequent patches will try to clean this up even further and use other (more appropriate) abstractions. Yet again, almost all of the formatting changes brought to you by clang-format. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a04a4a79ea365d1ba96ed4b5861e879b267162e2 |
|
19-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
revert r166264 because the LTO build is still failing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
725f1d12801109a3b1d081a6e1c9e44426b2cf34 |
|
19-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
recommit the patch that makes LSR and LowerInvoke use the TargetTransform interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3b9a911efcf280950f878a050728450423875639 |
|
18-Oct-2012 |
Bob Wilson <bob.wilson@apple.com> |
Temporarily revert the TargetTransform changes. The TargetTransform changes are breaking LTO bootstraps of clang. I am working with Nadav to figure out the problem, but I am reverting it for now to get our buildbots working. This reverts svn commits: 165665 165669 165670 165786 165787 165997 and I have also reverted clang svn 165741 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
e3d0e86919730784faaddcb5d9b0257c39b0804b |
|
11-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
Add a new interface to allow IR-level passes to access codegen-specific information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1c8db50a9aca4229ebee75ed9cfbf8b222292787 |
|
15-Sep-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Port the SSAUpdater-based promotion logic from the old SROA pass to the new one, and add support for running the new pass in that mode and in that slot of the pass manager. With this the new pass can completely replace the old one within the pipeline. The strategy for enabling or disabling the SSAUpdater logic is to do it by making the requirement of the domtree analysis optional. By default, it is required and we get the standard mem2reg approach. This is usually the desired strategy when run in stand-alone situations. Within the CGSCC pass manager, we disable requiring of the domtree analysis and consequentially trigger fallback to the SSAUpdater promotion. In theory this would allow the pass to re-use a domtree if one happened to be available even when run in a mode that doesn't require it. In practice, it lets us have a single pass rather than two which was simpler for me to wrap my head around. There is a hidden flag to force the use of the SSAUpdater code path for the purpose of testing. The primary testing strategy is just to run the existing tests through that path. One notable difference is that it has custom code to handle lifetime markers, and one of the tests has been enhanced to exercise that code. This has survived a bootstrap and the test suite without serious correctness issues, however my run of the test suite produced *very* alarming performance numbers. I don't entirely understand or trust them though, so more investigation is on-going. To aid my understanding of the performance impact of the new SROA now that it runs throughout the optimization pipeline, I'm enabling it by default in this commit, and will disable it again once the LNT bots have picked up one iteration with it. I want to get those bots (which are much more stable) to evaluate the impact of the change before I jump to any conclusions. NOTE: Several Clang tests will fail because they run -O3 and check the result's order of output. They'll go back to passing once I disable it again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
713aa9431d84805c5b7ddce57159d14ee94cd548 |
|
14-Sep-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Introduce a new SROA implementation. This is essentially a ground up re-think of the SROA pass in LLVM. It was initially inspired by a few problems with the existing pass: - It is subject to the bane of my existence in optimizations: arbitrary thresholds. - It is overly conservative about which constructs can be split and promoted. - The vector value replacement aspect is separated from the splitting logic, missing many opportunities where splitting and vector value formation can work together. - The splitting is entirely based around the underlying type of the alloca, despite this type often having little to do with the reality of how that memory is used. This is especially prevelant with unions and base classes where we tail-pack derived members. - When splitting fails (often due to the thresholds), the vector value replacement (again because it is separate) can kick in for preposterous cases where we simply should have split the value. This results in forming i1024 and i2048 integer "bit vectors" that tremendously slow down subsequnet IR optimizations (due to large APInts) and impede the backend's lowering. The new design takes an approach that fundamentally is not susceptible to many of these problems. It is the result of a discusison between myself and Duncan Sands over IRC about how to premptively avoid these types of problems and how to do SROA in a more principled way. Since then, it has evolved and grown, but this remains an important aspect: it fixes real world problems with the SROA process today. First, the transform of SROA actually has little to do with replacement. It has more to do with splitting. The goal is to take an aggregate alloca and form a composition of scalar allocas which can replace it and will be most suitable to the eventual replacement by scalar SSA values. The actual replacement is performed by mem2reg (and in the future SSAUpdater). The splitting is divided into four phases. The first phase is an analysis of the uses of the alloca. This phase recursively walks uses, building up a dense datastructure representing the ranges of the alloca's memory actually used and checking for uses which inhibit any aspects of the transform such as the escape of a pointer. Once we have a mapping of the ranges of the alloca used by individual operations, we compute a partitioning of the used ranges. Some uses are inherently splittable (such as memcpy and memset), while scalar uses are not splittable. The goal is to build a partitioning that has the minimum number of splits while placing each unsplittable use in its own partition. Overlapping unsplittable uses belong to the same partition. This is the target split of the aggregate alloca, and it maximizes the number of scalar accesses which become accesses to their own alloca and candidates for promotion. Third, we re-walk the uses of the alloca and assign each specific memory access to all the partitions touched so that we have dense use-lists for each partition. Finally, we build a new, smaller alloca for each partition and rewrite each use of that partition to use the new alloca. During this phase the pass will also work very hard to transform uses of an alloca into a form suitable for promotion, including forming vector operations, speculating loads throguh PHI nodes and selects, etc. After splitting is complete, each newly refined alloca that is a candidate for promotion to a scalar SSA value is run through mem2reg. There are lots of reasonably detailed comments in the source code about the design and algorithms, and I'm going to be trying to improve them in subsequent commits to ensure this is well documented, as the new pass is in many ways more complex than the old one. Some of this is still a WIP, but the current state is reasonbly stable. It has passed bootstrap, the nightly test suite, and Duncan has run it successfully through the ACATS and DragonEgg test suites. That said, it remains behind a default-off flag until the last few pieces are in place, and full testing can be done. Specific areas I'm looking at next: - Improved comments and some code cleanup from reviews. - SSAUpdater and enabling this pass inside the CGSCC pass manager. - Some datastructure tuning and compile-time measurements. - More aggressive FCA splitting and vector formation. Many thanks to Duncan Sands for the thorough final review, as well as Benjamin Kramer for lots of review during the process of writing this pass, and Daniel Berlin for reviewing the data structures and algorithms and general theory of the pass. Also, several other people on IRC, over lunch tables, etc for lots of feedback and advice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
78435f6bb7574d3d26f8c5151e2c140c525b7994 |
|
21-Jul-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
move the bounds checking pass to the instrumentation folder, where it belongs. I dunno why in the world I dropped it in the Scalar folder in the first place. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
2114a8aaba99e901735e69818bb789757ed05cfd |
|
21-Jun-2012 |
Nadav Rotem <nadav.rotem@intel.com> |
Add a number of threshold arguments to the SRA pass. A patch by Tom Stellard with minor changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
5c525b59d5e0036a778d278eeff4832edfd41357 |
|
22-May-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
add a new pass to instrument loads and stores for run-time bounds checking move EmitGEPOffset from InstCombine to Transforms/Utils/Local.h (a draft of this) patch reviewed by Andrew, thanks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
2f6263c96a6ed234b8d314cc35c8e2fcc3e81ccc |
|
17-Jan-2012 |
Dan Gohman <gohman@apple.com> |
Add a new ObjC ARC optimization pass to eliminate unneeded autorelease push+pop pairs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
0572c7d31ec0b8636906a66cb5f4215be85ed5e0 |
|
08-Dec-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Remove reference to dead GEPSplitterPass. PR11506. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
827454e6e28cfed93db990b03b720ef7c23e6917 |
|
17-Oct-2011 |
Devang Patel <dpatel@apple.com> |
svn mv Target/ARM/ARMGlobalMerge.cpp Transforms/Scalar/GlobalMerge.cpp There is no reason to have simple IR level pass in lib/Target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
f940a1a869b4fe6f857e7fd8aeb97e7b7e9b390e |
|
31-Aug-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove the old tail duplication pass. It is not used and is unable to update ssa, so it has to be run really early in the pipeline. Any replacement should probably use the SSAUpdater. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
9da9934e27dfb48de77b80a3e20ed2d869b52024 |
|
06-Jul-2011 |
Jakub Staszak <jstaszak@apple.com> |
Introduce "expect" intrinsic instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
9fbd318d36e618fb08fb53bb48b7c848e617a8a7 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
The ARC language-specific optimizer. Credit to Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
32644d9bfdacac3a3ffa71ace5b2c2fdb58c8702 |
|
13-Apr-2011 |
Junjie Gu <jgu222@gmail.com> |
Passing unroll parameters (unroll-count, threshold, and partial unroll) via LoopUnroll class's ctor. Doing so will allow multiple context with different loop unroll parameters to run. This is a minor change and no effect on existing application. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1551abdea6206870df86f730a289a74ef506d259 |
|
28-Feb-2011 |
Dan Gohman <gohman@apple.com> |
Delete the SimplifyHalfPowrLibCalls pass, which was unused, and only existed as the result of a misunderstanding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
b1686c32fc694636cbf15a59b23b2a741b65ecf4 |
|
18-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Remove outdated references to dominance frontiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
b352d6eb49927a7c707cbd9046cfc525b0c3f2d7 |
|
14-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
split SROA into two passes: one that uses DomFrontiers (-scalarrepl) and one that uses SSAUpdater (-scalarrepl-ssa) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
832f61117d69019376c4aabedd4de3831279e288 |
|
03-Jan-2011 |
Cameron Zwarich <zwarich@apple.com> |
Add a new loop-instsimplify pass, with the intention of replacing the instance of instcombine that is currently in the middle of the loop pass pipeline. This commit only checks in the pass; it will hopefully be enabled by default later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
12be936cc912b1ff4d1c73c7f2c805a3462da1ab |
|
02-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
sketch out a new early cse pass. No functionality yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
b0db161f5b85c4a31046d2271d9e270991b53a15 |
|
26-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
Start of a pass for recognizing memset and memcpy idioms. No functionality yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
43ff68ded09bf6f722548fa6c62d742483bd133c |
|
20-Dec-2010 |
Duncan Sands <baldrick@free.fr> |
Add a new convenience pass for testing InstructionSimplify. Previously it could only be tested indirectly, via instcombine, gvn or some other pass that makes use of InstructionSimplify, which means that testcases had to be carefully contrived to dance around any other transformations that that pass did. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
d82e9e7d939bb4b4f4773e9853c061e14188f705 |
|
08-Oct-2010 |
Devang Patel <dpatel@apple.com> |
Remove LoopIndexSplit pass. It is neither maintained nor used by anyone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
25e9405272630204eb721d8b6ab47a5a25f24885 |
|
31-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Rename ValuePropagation to a more descriptive CorrelatedValuePropagation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
5f88af537637831451ff9ffa08c597e05e7dc9fb |
|
28-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
remove the ABCD and SSI passes. They don't have any clients that I'm aware of, aren't maintained, and LVI will be replacing their value. nlewycky approved this on irc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a0b59f6bd23afaeba923b94f46838cffd5218a12 |
|
28-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Add a prototype of a new peephole optimizing pass that uses LazyValue info to simplify PHIs and select's. This pass addresses the missed optimizations from PR2581 and PR4420. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
60493c3f4ff9b20f43a3abc605bc64642de75b59 |
|
06-Aug-2010 |
Dan Gohman <gohman@apple.com> |
Eliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg") instead, as an example of what this looks like. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
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/include/llvm/Transforms/Scalar.h
|
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/include/llvm/Transforms/Scalar.h
|
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/include/llvm/Transforms/Scalar.h
|
3bababf880bfeaf1bcda7e4f808007621b6bfac8 |
|
03-Aug-2010 |
Peter Collingbourne <peter@pcc.me.uk> |
Add an atomic lowering pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
28a193ed8b4b37593afb76f9130eacf393ea9383 |
|
07-May-2010 |
Dan Gohman <gohman@apple.com> |
Add an LLVM IR version of code sinking. This uses the same simple algorithm as MachineSink, but it isn't constrained by MachineInstr-level details. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
c6f0aadc3b4f7e79bd3f4e59b1192f770fc63a5d |
|
27-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Fix a problem that lower invoke has with allocas (PR6694), and add a version of createLowerInvokePass that allows the client to specify whether it wants "expensive" or "cheap" lowering. Patch by Alex Mac! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
fd649015795ec187dace55f6c00e9d0999ba0373 |
|
13-Apr-2010 |
Owen Anderson <resistor@mac.com> |
SCCVN, we hardly knew ye! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
b29d7d25423bc91a06a8a16aee3ff0ea96980706 |
|
28-Feb-2010 |
Bob Wilson <bob.wilson@apple.com> |
Revert r97245 which seems to be causing performance problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
8561dcd7306f4a4d45b1f2372e7cd40a753f2cc6 |
|
26-Feb-2010 |
Bob Wilson <bob.wilson@apple.com> |
Move the EnableFullLoadPRE flag from a separate command-line option to an argument of createGVNPass and set it automatically for -O3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
60df9077ebe2a38723beadedd88e349f9aa214cb |
|
26-Feb-2010 |
Bob Wilson <bob.wilson@apple.com> |
Remove unused "NoPRE" parameter in GVN and createGVNPass(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
d2592ff69ba86d8d5da5b598429f373cb2842699 |
|
09-Feb-2010 |
Eric Christopher <echristo@apple.com> |
Pull these back out, they're a little too aggressive and time consuming for a simple optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1926b648e132631282aa15d25e4f8278f87c24fb |
|
09-Feb-2010 |
Eric Christopher <echristo@apple.com> |
Add a new pass to do llvm.objsize lowering using SCEV. Initial skeleton and SCEVUnknown lowering implemented, the rest should come relatively quickly. Move testcase to new directory. Move pass to right before SimplifyLibCalls - which is moved down a bit so we can take advantage of a few opts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
4ec01b268e85b62b0eabe27d8fd97e8066a81b8f |
|
14-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Add an option for running GVN with redundant load processing disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
f8fb7c26ee251e71be8a5372dc4936f3042c7553 |
|
11-Nov-2009 |
Chris Lattner <sabre@nondot.org> |
remove the now dead condprop pass, PR3906. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
9f476e3179713a1e93bbf634855b85a93f8653cd |
|
31-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Remove CodeGenLICM. It's largely obsoleted by MachineLICM's new ability to unfold loop-invariant loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
2f192c256c28f3b6c018f59e96380cd26f59c767 |
|
30-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add option to createGVNPass to disable PRE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
40cc524edee857eab238338200d2cc80f840f52f |
|
28-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Add ABCD, a generalized implementation of the Elimination of Array Bounds Checks on Demand algorithm which looks at arbitrary branches instead of loop iterations. This is GSoC work by Andre Tavares with only editorial changes applied! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
8b251c25b2a999f48db47509db2ddb9e80cd49ff |
|
27-Oct-2009 |
Owen Anderson <resistor@mac.com> |
Forgot to commit these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
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/include/llvm/Transforms/Scalar.h
|
6000e253d4b59677030fdf2f53f8d1e5fa00a1a4 |
|
26-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Check in the experimental GEP splitter pass. This pass splits complex GEPs (more than one non-zero index) into simple GEPs (at most one non-zero index). In some simple experiments using this it's not uncommon to see 3% overall code size wins, because it exposes redundancies that can be eliminated, however it's tricky to use because instcombine aggressively undoes the work that this pass does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a276c603b82a11b0bf0b59f0517a69e4b63adeab |
|
17-Oct-2009 |
Victor Hernandez <vhernandez@apple.com> |
Remove MallocInst from LLVM Instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
7963e159515bfb21c39739b84a1abc5b36c0a5a7 |
|
06-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
remove predicate simplifier, it never got the last bugs beaten out of it, and jump threading, condprop and gvn are now getting most of the benefit. This was approved by Nicholas and Nicolas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
99be299edb6531cad64785196d65414b888e7453 |
|
01-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
remove the GVNPRE pass. It has been subsumed by the GVN pass. Ok'd by Owen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
d84db1133345234738b646c70b907bf8a0983ac9 |
|
28-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Convert LoopSimplify and LoopExtractor from FunctionPass to LoopPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
6f65d79750154c92c3e184c8cf3233a66c411c87 |
|
16-Sep-2009 |
Dan Gohman <gohman@apple.com> |
Add a new pass for doing late hoisting of floating-point and vector constants out of loops. These aren't covered by the regular LICM pass, because in LLVM IR constants don't require separate instructions. They're not always covered by the MachineLICM pass either, because it doesn't know how to unfold folded constant-pool loads. This is somewhat experimental at this point, and off by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
72efa18f1d6845fefc8cfeb5db7ca1a55cae55c4 |
|
25-Jul-2009 |
Dan Gohman <gohman@apple.com> |
Update comments to new-style syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
4c12ee5f612f5f67af9e7715dba44d28f9c03ad5 |
|
09-Jul-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Forgot a couple files when adding the -ssi-everything pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
715029478c0a54cab2c366816d11d712bf51efc5 |
|
03-Jul-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Add Static Single Information construction pass written by André Tavares! Use it by requiring it through the pass manager, then calling its createSSI method on the variables that you want in SSI form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a119de86a064414622562cfe32953de7f9b0ee40 |
|
15-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Fix old-style type names in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
8f027c7fea068394be9026a80a8cbe045ed021ee |
|
05-Nov-2008 |
Dan Gohman <gohman@apple.com> |
Add a new pass to simplify specific half_powr function calls. This is a specialized pass that it not likely to be generally useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3d54502304bcc421b37881b225bf95c9a6024264 |
|
27-Oct-2008 |
Torok Edwin <edwintorok@gmail.com> |
export an ID for the instructionNamer, allowing analysis/transformation passes that need it to require it by ID. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
394f0441e06dafca29f0752cf400990a5b8fe4b1 |
|
23-Oct-2008 |
Daniel Dunbar <daniel@zuster.org> |
Change create*Pass factory functions to return Pass* instead of LoopPass*. - Although less precise, this means they can be used in clients without RTTI (who would otherwise need to include LoopPass.h, which eventually includes things using dynamic_cast). This was the simplest solution that presented itself, but I am happy to use a better one if available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
acdb2eeb45ba6d9e71d0e0d0c5a0d82183422345 |
|
19-Sep-2008 |
Duncan Sands <baldrick@free.fr> |
Remove the MarkModRef pass (use AddReadAttrs instead). Unfortunately this means removing one regression test of GlobalsModRef because I couldn't work out how to perform it without MarkModRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3cd652d5304135c8264b1fd63095ab3e47ae73a4 |
|
01-Sep-2008 |
Duncan Sands <baldrick@free.fr> |
Add a small pass that sets the readnone/readonly attributes on functions, based on the result of alias analysis. It's not hardwired to use GlobalsModRef even though this is the only (AFAIK) alias analysis that results in this pass actually doing something. Enable as follows: opt ... -globalsmodref-aa -markmodref ... Advantages of this pass: (1) records the result of globalsmodref in the bitcode, meaning it is available for use by later passes (currently the pass manager isn't smart enough to magically make an advanced alias analysis available to all later passes), which may expose more optimization opportunities; (2) hopefully speeds up compilation when code is optimized twice, for example when a file is compiled to bitcode, then later LTO is done on it: marking functions readonly/readnone when producing the initial bitcode should speed up alias analysis during LTO; (3) good for discovering that globalsmodref doesn't work very well :) Not currently turned on by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3793325cb3b4d97a295e5aaa419cfcf2866940c9 |
|
23-Aug-2008 |
Chris Lattner <sabre@nondot.org> |
Add a new trivial -inst-namer pass which makes it possible to diff the before/after effects of a pass, crazy! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3688f268cb31dbfb5b36131d96af668fa2fc6a8d |
|
15-Aug-2008 |
Owen Anderson <resistor@mac.com> |
Remove GCSE, ValueNumbering, and LoadValueNumbering. These have been deprecated for almost a year; it's finally time for them to go away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1baa88e3de8947b02d9ef4caa73e5860f048ec6e |
|
29-May-2008 |
Dan Gohman <gohman@apple.com> |
Prune and tidy #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
9c78a399076f8356a53ee67dca9c78e594e34967 |
|
14-May-2008 |
Dan Gohman <gohman@apple.com> |
Whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
6ddba2b933645d308428201e942abe1274fa5085 |
|
13-May-2008 |
Dan Gohman <gohman@apple.com> |
Change class' public PassInfo variables to by initialized with the address of the PassInfo directly instead of calling getPassInfo. This eliminates a bunch of dynamic initializations of static data. Also, fold RegisterPassBase into PassInfo, make a bunch of its data members const, and rearrange some code to initialize data members in constructors instead of using setter member functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
fd1cbbe9cfeddab8ec99a9325c1e87311609c0a3 |
|
01-May-2008 |
Chris Lattner <sabre@nondot.org> |
Delete the IPO simplify-libcalls and completely reimplement it as a FunctionPass. This makes it simpler, fixes dozens of bugs, adds a couple of minor features, and shrinks is considerably: from 2214 to 1437 lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
0396cd33ca2d879d1cf0e9b252ce43a760449fff |
|
29-Apr-2008 |
Owen Anderson <resistor@mac.com> |
Rename DeadLoopElimination to LoopDeletion, part 2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
0ff7708a5bbde331f9f54fb955bf7a2e96af710e |
|
29-Apr-2008 |
Owen Anderson <resistor@mac.com> |
Add dead loop elimination, which removes dead loops for which we can compute the trip count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
8383a7b7a6acdae478d4b4c2520915153b73f676 |
|
20-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
Add a new Jump Threading pass, which will handle cases such as those in PR2235. Right now the pass is not very effective. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a723d1e48f4a261512c28845c53eda569fa5218c |
|
09-Apr-2008 |
Owen Anderson <resistor@mac.com> |
Factor a bunch of functionality related to memcpy and memset transforms out of GVN and into its own pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
75542bd56b4d38d7a2fdf8596a0128509a51e89d |
|
19-Feb-2008 |
Chris Lattner <sabre@nondot.org> |
remove the LowerSelect pass. The last client was the old Sparc backend, which is long dead by now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
15f166c7b6ed054e9a9b54161dd9342d9f083564 |
|
19-Feb-2008 |
Chris Lattner <sabre@nondot.org> |
remove the lower packed pass. It can never work and even the parts that could work don't work fully. This fixes PR1705. Oh yeah, we don't have packed types anymore either ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
beefd3d0f81ecd206601e62228975111c4cf84f4 |
|
27-Jan-2008 |
Bill Wendling <isanbard@gmail.com> |
The CorrelatedExpressionElimination pass is known to be buggy. Remove it. This fixes PR1769. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
8fa89291774a29ee30adb9d0fd01655c84eaac13 |
|
07-Jan-2008 |
Gordon Henriksen <gordonhenriksen@mac.com> |
With this patch, the LowerGC transformation becomes the ShadowStackCollector, which additionally has reduced overhead with no sacrifice in portability. Considering a function @fun with 8 loop-local roots, ShadowStackCollector introduces the following overhead (x86): ; shadowstack prologue movl L_llvm_gc_root_chain$non_lazy_ptr, %eax movl (%eax), %ecx movl $___gc_fun, 20(%esp) movl $0, 24(%esp) movl $0, 28(%esp) movl $0, 32(%esp) movl $0, 36(%esp) movl $0, 40(%esp) movl $0, 44(%esp) movl $0, 48(%esp) movl $0, 52(%esp) movl %ecx, 16(%esp) leal 16(%esp), %ecx movl %ecx, (%eax) ; shadowstack loop overhead (none) ; shadowstack epilogue movl 48(%esp), %edx movl %edx, (%ecx) ; shadowstack metadata .align 3 ___gc_fun: # __gc_fun .long 8 .space 4 In comparison to LowerGC: ; lowergc prologue movl L_llvm_gc_root_chain$non_lazy_ptr, %eax movl (%eax), %ecx movl %ecx, 48(%esp) movl $8, 52(%esp) movl $0, 60(%esp) movl $0, 56(%esp) movl $0, 68(%esp) movl $0, 64(%esp) movl $0, 76(%esp) movl $0, 72(%esp) movl $0, 84(%esp) movl $0, 80(%esp) movl $0, 92(%esp) movl $0, 88(%esp) movl $0, 100(%esp) movl $0, 96(%esp) movl $0, 108(%esp) movl $0, 104(%esp) movl $0, 116(%esp) movl $0, 112(%esp) ; lowergc loop overhead leal 44(%esp), %eax movl %eax, 56(%esp) leal 40(%esp), %eax movl %eax, 64(%esp) leal 36(%esp), %eax movl %eax, 72(%esp) leal 32(%esp), %eax movl %eax, 80(%esp) leal 28(%esp), %eax movl %eax, 88(%esp) leal 24(%esp), %eax movl %eax, 96(%esp) leal 20(%esp), %eax movl %eax, 104(%esp) leal 16(%esp), %eax movl %eax, 112(%esp) ; lowergc epilogue movl 48(%esp), %edx movl %edx, (%ecx) ; lowergc metadata (none) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
e4b83877d524adddac6ea9d2abb96a14739a4829 |
|
06-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
back out accidental commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
2e48a70b35635165703838fc8d3796b664207aa1 |
|
06-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
rename isStore -> mayStore to more accurately reflect what it captures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a997c498e0b61d60b28a2a45e2dacd846aa24129 |
|
05-Jan-2008 |
Owen Anderson <resistor@mac.com> |
Didn't mean to commit this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
d94b6a16fec7d5021e3922b0e34f9ddb268d54b1 |
|
05-Jan-2008 |
Owen Anderson <resistor@mac.com> |
Move some more functionality from MRegisterInfo to TargetInstrInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
7ed47a13356daed2a34cd2209a31f92552e3bdd8 |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Don't attribute in file headers anymore. See llvmdev for the discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
7e9edda51d120c1c7c099929944f909a4f296a39 |
|
15-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Remove RLE from the headers, since the pass itself is gone now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a9e9286630262092e404c6b3c6ecf159b50a87b9 |
|
08-Aug-2007 |
Devang Patel <dpatel@apple.com> |
Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
fee76bd9ba038a4640259ffcbb2c6e2bd970a3ca |
|
07-Aug-2007 |
Devang Patel <dpatel@apple.com> |
Begin loop index split pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
f6a05f949f39d94d846dff9bf5093a838c6ebc4b |
|
01-Aug-2007 |
Owen Anderson <resistor@mac.com> |
Rename FastDSE to just DSE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1ad2cb75553a30bcec9fdc15733a20df6bc50431 |
|
24-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Add a GVN pass, using the value numbering code I developed for GVNPRE and the load elimination code from RedundantLoadElimination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a7f98e2919c2e1ac39e6b82b11fd9e3a7aef00a0 |
|
24-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Rename a lot of things to change FastDLE to RedundantLoadElimination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
48a19fb884c281a7c5367fdb0ccc3e10a64fd17f |
|
23-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
ffe40aa97d1557cb00530ac26c60ddde9fe0e7c6 |
|
23-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Add FastDLE, the load-elimination counterpart of FastDSE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
b4559a2179bf64fa38b2cccf91b067cc6fcc8e9d |
|
14-Jul-2007 |
Devang Patel <dpatel@apple.com> |
Make LCSSA a loop pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
b77c457cc87aeeb166995aed793a516e9e431703 |
|
11-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Add FastDSE, a new algorithm for doing dead store elimination. This algorithm is not as accurate as the current DSE, but it only a linear scan over each block, rather than quadratic. Eventually (once it has been improved somewhat), this will replace the current DSE. NOTE: This has not yet been extensively tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
ff366850aa9956e167e78d4f5b57aae10d8c5779 |
|
09-Jul-2007 |
Devang Patel <dpatel@apple.com> |
Expose struct size threhold to allow users to tweak their own setting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
980c4e0466fb10fab3eece4bde6bdebf0f336840 |
|
06-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Rename. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
743f7e8839dc02f2e808e977803368c431279189 |
|
06-Jun-2007 |
Devang Patel <dpatel@apple.com> |
Avoid non-trivial loop unswitching while optimizing for size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1f476f4d84028c69777b9d309579209666f45543 |
|
30-May-2007 |
Owen Anderson <resistor@mac.com> |
Put GVN-PRE in all the right places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
c4625da483ff9e835aef886864e37dd68fb7a03c |
|
07-Apr-2007 |
Devang Patel <dpatel@apple.com> |
Add loop rotation pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
dbe0deca339585dfbaed5951ef0ca2c6a0df173c |
|
31-Mar-2007 |
Chris Lattner <sabre@nondot.org> |
Split the sdisel code munging stuff out into its own opt-pass, CodeGenPrepare. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
5ee99979065d75605d150d7e567e4351024aae8f |
|
07-Mar-2007 |
Devang Patel <dpatel@apple.com> |
Now IndVarSimplify is a LoopPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
54959d6cf68a9b575c98c074babe9867682a7271 |
|
07-Mar-2007 |
Devang Patel <dpatel@apple.com> |
Now LICM is a LoopPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3f1a1e0366a7881aed814df6060e058e2f0516c7 |
|
07-Mar-2007 |
Devang Patel <dpatel@apple.com> |
Now LoopUnroll is a LoopPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1bc89361c2ba023f305bf00edd4b5d95b021cac6 |
|
07-Mar-2007 |
Devang Patel <dpatel@apple.com> |
Now LoopUnswitch is a LoopPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
0f54dcbf07c69e41ecaa6b4fbf0d94956d8e9ff5 |
|
06-Mar-2007 |
Devang Patel <dpatel@apple.com> |
Now LoopStrengthReduce is a LoopPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
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/include/llvm/Transforms/Scalar.h
|
7ba98a90008727e2fa0dfc1787cad71e1b6021eb |
|
04-Feb-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1072: Removing -raise has neglible positive or negative side effects so we are opting to remove it. See the PR for comparison details. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
4d447f512122a8c3784f4ab2c55b4b1be47db82e |
|
26-Jan-2007 |
Devang Patel <dpatel@apple.com> |
Inherit BasicBlockPass directly from Pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1ccc47ec386e6726ca76955b0e739328a49a65c5 |
|
13-Oct-2006 |
Bill Wendling <isanbard@gmail.com> |
Corrected formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
2a0013f59fb3b23010c0509fab8bf509eb30fb36 |
|
04-Sep-2006 |
Duraid Madina <duraid@octopus.com.au> |
add setJumpBufSize() and setJumpBufAlignment() to target-lowering. Call these from your backend to enjoy setjmp/longjmp goodness, see lib/Target/IA64/IA64ISelLowering.cpp for an example git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
05450ae12828337c52f27d68ec9d611dda93c939 |
|
29-Aug-2006 |
Nick Lewycky <nicholas@mxc.ca> |
Add PredicateSimplifier pass. Collapses equal variables into one form and simplifies expressions. This implements the optimization described in PR807. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a4529321713313545f53ee759800705bdb3f2a29 |
|
08-Jun-2006 |
Owen Anderson <resistor@mac.com> |
Update some comments, and expose LCSSAID in preparation for having other passes require LCSSA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
11f510b577878e61e62a3a9c5c8d86483961d20c |
|
26-May-2006 |
Owen Anderson <resistor@mac.com> |
Skeletal LCSSA pass. This is currently non-functional. Expect functionality and documentation updates soo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
b3674e475389b72939bf90965790d63e9fa24b95 |
|
02-May-2006 |
Chris Lattner <sabre@nondot.org> |
Add pass ID's for various passes, so they can be AddRequiredID. Patch by Domagoj Babic! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
73173e72d6524305cb32fef49faefcbd447584b9 |
|
20-Apr-2006 |
Chris Lattner <sabre@nondot.org> |
remove a dead prototype git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
d1d6b5cce260808deeac0227b00f6f81a20b2c6f |
|
16-Mar-2006 |
Evan Cheng <evan.cheng@apple.com> |
For each loop, keep track of all the IV expressions inserted indexed by stride. For a set of uses of the IV of a stride which is a multiple of another stride, do not insert a new IV expression. Rather, reuse the previous IV and rewrite the uses as uses of IV expression multiplied by the factor. e.g. x = 0 ...; x ++ y = 0 ...; y += 4 then use of y can be rewritten as use of 4*x for x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
d277f2c66914aecb619c12855f6afae4c7ef883b |
|
14-Mar-2006 |
Evan Cheng <evan.cheng@apple.com> |
Added target lowering hooks which LSR consults to make more intelligent transformation decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
7c0c5670588e39222bb039755cdf9030ab17c64e |
|
22-Nov-2005 |
Andrew Lenharth <andrewl@lenharth.org> |
Reg2Mem is something a pass may depend on, so allow that git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
183119cdf6b4c448170bfdd2d30ac32f9ee20e31 |
|
10-Nov-2005 |
Andrew Lenharth <andrewl@lenharth.org> |
The pass everyone has been waiting for! Reg2Mem for fun you can opt -reg2mem -mem2reg git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
14b0529532904b9e5a1e34526b4a3209f3e5bc62 |
|
05-Nov-2005 |
Nate Begeman <natebegeman@mac.com> |
Add support alignment of allocation instructions. Add support for specifying alignment and size of setjmp jmpbufs. No targets currently do anything with this information, nor is it presrved in the bytecode representation. That's coming up next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3aa4e1533107814205f2ef990345a8b75ca652f5 |
|
29-Oct-2005 |
Chris Lattner <sabre@nondot.org> |
Remove the LowerConstantExpressionsPass pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
34695381d626485a560594f162701088079589df |
|
21-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
73459d097b6439bfa3476036299c4a78724cbb36 |
|
15-Apr-2005 |
Chris Lattner <sabre@nondot.org> |
add a new prototype git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
ab7ada3ed6a3dbefa05714a5de437997f7f6042c |
|
28-Mar-2005 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Rename createPromoteMemoryToRegister() to createPromoteMemoryToRegisterPass() to be consistent with other pass creation functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
2f3c9b7562bcdc1795b2bd0ca28b283a8e972826 |
|
04-Mar-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Add support for not strength reducing GEPs where the element size is a small power of two. This emphatically includes the zeroeth power of two. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
7dd732bf805ff0ea792054e507ac55374ba8407b |
|
03-Mar-2005 |
Chris Lattner <sabre@nondot.org> |
Add an argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
bf65268def058af3e1d35aba233d5f0fd5a80fce |
|
08-Jan-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Add more missing createXxxPass functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
92f6c15d8f40aa81c65bda18149855a0b025a68e |
|
02-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Move the strip pass from Scalar to IPO lib git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
4c4c415fca2d1bd29309dbee1df439d0aa89bde9 |
|
17-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
New prototype for lowerpacked pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
8226db66a2a1b8df268ed4df9709bfbca7bab156 |
|
07-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
This is V9 specific stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
eaa13851a7fe604363577350c5cf65c257c4d41a |
|
18-Oct-2004 |
Nate Begeman <natebegeman@mac.com> |
Initial implementation of the strength reduction for GEP instructions in loops. This optimization is not turned on by default yet, but may be run with the opt tool's -loop-reduce flag. There are many FIXMEs listed in the code that will make it far more applicable to a wide range of code, but you have to start somewhere :) This limited version currently triggers on the following tests in the MultiSource directory: pcompress2: 7 times cfrac: 5 times anagram: 2 times ks: 6 times yacr2: 2 times git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
8e47e7292c0edadb964403b06717220e432f854a |
|
20-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Do not prototype any of these passes as returning Pass*. Instead, be specific git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
264532cd31a5f2d36ddf570edc44b26b8e565328 |
|
14-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Remove unused pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
f1fccfd6a85c32a6b8ce9e3cf457b33ddeeeaa21 |
|
31-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
Expose breakcriticaledges as a functionpass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
96d4bf7aee0c6ce915e6eb77065df388f374fafb |
|
27-Jul-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Make the create...() functions for some of these passes return a FunctionPass *. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3ede6adf182135f3830871dc4b258be3f46a6b55 |
|
22-Jul-2004 |
Chris Lattner <sabre@nondot.org> |
New prototype git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
288c92c16b256ee2d5a28f302523db1e08e0eecf |
|
25-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Prototype for new ConstantExpr lowering pass, contributed by Vladimir Prus! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
bab838e76dce5874faee7d26fe9239df9dcd87e2 |
|
23-May-2004 |
Chris Lattner <sabre@nondot.org> |
Add a new prototype git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
8277567dc6c7247956726c8ebdbd0547b0d72e56 |
|
19-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add accessor for a Loop Unswitching pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
4c174a7bbaf3ecba6473b8a5dd49e0b4fc8f1c96 |
|
18-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add prototype git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
0c58897d1c95d6b92c985010d62edfc2945ef22b |
|
31-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Improve description, add warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
18bdbc3dda73081193fa1070021558ea0c79691d |
|
30-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Add a simple select instruction lowering pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
4eddf37ee31e7b962ad275c591124d90c8955f42 |
|
14-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Move loop extractor to the IPO header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
dddea54b1191d90bef4013e74d07a1f0990321f4 |
|
28-Feb-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Add the prototype for the LoopExtractor Pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a92666decdf2fdb9d81f84ef9e2893116b74c103 |
|
13-Feb-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Fix spelling of `tendency'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
fdd13f6afeee4eac26ea505ad95fe9455b7d5dbd |
|
13-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Expose a pass ID for lower-invoke git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
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/include/llvm/Transforms/Scalar.h
|
4a05ba0ab599c085e338cff47ad546ab1520f6e5 |
|
10-Nov-2003 |
Chris Lattner <sabre@nondot.org> |
Move isCriticalEdge & SplitCritical edge out of this file, which is only for passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
d24fdda8e94cf56fbd872150a597da66d17f2e74 |
|
07-Nov-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Declare FunctionPasses as such. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
6fbcc26f1460eaee4e0eb8b426fc1ff0c7af11be |
|
20-Oct-2003 |
John Criswell <criswell@uiuc.edu> |
Added LLVM copyright header (for lack of a better term). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
98bf436e2e2ab463d79c54a42a46b12028905330 |
|
12-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Rename loop preheaders pass to loop simplify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
5e5252b4c926ee2bd75b36128c8fc7cdb065fca9 |
|
05-Oct-2003 |
Chris Lattner <sabre@nondot.org> |
Add new prototype for createLowerInvokePass(). Make simplifycfg be a functionpass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
48486893f46d2e12e926682a3ecb908716bc66c4 |
|
30-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Standardize header file comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3fc6ef1bb96d9a3194cef667a2d3cbc94e3fb189 |
|
20-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Expose the TCE pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
065a616adad624152618b1b0084ff074e5b03bbb |
|
10-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Fix spell-o's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
3dc48c54de5bee2585c50e632ca3a41a7ce29cc8 |
|
01-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Add RPR prototype here git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
2757af2d47ea633d4cdb7bd1b12850e975a49bdf |
|
01-Sep-2003 |
Chris Lattner <sabre@nondot.org> |
Change the RaiseAllocations pass from being a BasicBlockPass to being a Pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
bf3c4cfaad706db21ac82a4376e1899d0d7f0935 |
|
14-Aug-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Factory methods for function passes now return type FunctionPass *. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
19df3876e6dce016ec4c5ab28320a246ab285001 |
|
13-Aug-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Factory methods for FunctionPasses now return type FunctionPass *. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1ee7855dfa0e122e8b714be3fbd78364ee47bec2 |
|
22-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Add prototype for tail-dup pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
a161f0c7c939ff16c975d53302ca543be2c12243 |
|
27-May-2003 |
Chris Lattner <sabre@nondot.org> |
Expose proto for SRoA pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
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/include/llvm/Transforms/Scalar.h
|
3b1ca40d5d6c8e796db1e218e88dd7e2b77b417e |
|
23-Apr-2003 |
Chris Lattner <sabre@nondot.org> |
Add stub to create lowerSwitches pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
e802a023d98b06307831cd122e61da86431e8dac |
|
08-Oct-2002 |
Chris Lattner <sabre@nondot.org> |
Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
f6b684c50510a13fd5b5823e84207f0f8ed0c92e |
|
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Checkin new loop-preheader insertion pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1751b7ed27229d3fbcc48d6c42b05bf3beab36e5 |
|
26-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Change LowerAllocations pass to 'require' TargetData instead of it being passed in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
87944916a4764dabc2f89cbec0a6c7e439c28530 |
|
24-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by other passes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
119e9ea33be3b1c5af4a8af7fd12817281fdd478 |
|
24-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Add new BreakCriticalEdges pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
be376cf6d4cd148c2fba88622ab35a48320cbffb |
|
16-Sep-2002 |
Vikram S. Adve <vadve@cs.uiuc.edu> |
Allow transformation DecomposeArrayRef(GetElementPtrInst* GEP) to be invoked on a single instruction at a time, for use in other passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
513d3e8fc531327f6860a3f47a44ca120b2588c7 |
|
06-Sep-2002 |
Chris Lattner <sabre@nondot.org> |
Include stub for correlated expression elimination pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
378fb1df55589ed771670b4c97bd799361183d54 |
|
23-Jul-2002 |
Chris Lattner <sabre@nondot.org> |
Merge the contents of ChangeAllocations.h into Scalar.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
b8bcb086f7d4a74c40661c5c18134533a3f69fc9 |
|
21-May-2002 |
Chris Lattner <sabre@nondot.org> |
Expose CFG simplification pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
0fe215350770dff3158fe596dfea471af290e8bb |
|
11-May-2002 |
Chris Lattner <sabre@nondot.org> |
Add prototype for LICM pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
531823f125af948098ef5e1131bf54ce287fb553 |
|
10-May-2002 |
Chris Lattner <sabre@nondot.org> |
Add prototype for the PiNodeInserter pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
540d63cbc75fae1c6187e97b995e5a52e7d1ad50 |
|
09-May-2002 |
Chris Lattner <sabre@nondot.org> |
Add expr reassociation pass prototype git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
1ea5c56795913c7c852fb76d59074011f5f26939 |
|
08-May-2002 |
Chris Lattner <sabre@nondot.org> |
Spell aggressive right git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|
332f3679d042a8c91afe9920e95fa7b5972fe408 |
|
07-May-2002 |
Chris Lattner <sabre@nondot.org> |
New header file to replace all of the Scalar/*.h files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Transforms/Scalar.h
|