2c3e0051c31c3f5b2328b447eadf1cf9c4427442 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r235153 Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7 (cherry picked from commit 0c7f116bb6950ef819323d855415b2f2b0aad987)
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
c160efc28b815dbea73f0243f0729c1f0e1fabdb |
|
15-Nov-2013 |
Manman Ren <manman.ren@gmail.com> |
ArgumentPromotion: correctly transfer TBAA tags and alignments. We used to use std::map<IndicesVector, LoadInst*> for OriginalLoads, and when we try to promote two arguments, they will both write to OriginalLoads causing created loads for the two arguments to have the same original load. And the same tbaa tag and alignment will be put to the created loads for the two arguments. The fix is to use std::map<std::pair<Argument*, IndicesVector>, LoadInst*> for OriginalLoads, so each Argument will write to different parts of the map. PR17906 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
c143c7573bfd0d55cf283cc2676dbd852f939c87 |
|
31-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Merge CallGraph and BasicCallGraph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
b05ad799e7dc19d7c88576820b1cf16b43a4de9e |
|
19-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Clean up some of this code a tiny bit, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
b2484b4332ffe385421e338de21372ea8a9dc5cf |
|
27-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the AttributeSet instead of AttributeWithIndex. In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
28d65722d6f283b327b5815914382077fe9c0ab4 |
|
23-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Remove the last of uses that use the Attribute object as a collection of attributes. Collections of attributes are handled via the AttributeSet class now. This finally frees us up to make significant changes to how attributes are structured. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
3fc4b96b503fa202411317684a2ba02e41e43072 |
|
21-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Have AttributeSet::getRetAttributes() return an AttributeSet instead of Attribute. This further restricts the use of the Attribute class to the Attribute family of classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
c5f1bc88a2eb7ad9ff924ca90cf88494e5f947b9 |
|
21-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Make AttributeSet::getFnAttributes() return an AttributeSet instead of an Attribute. This is more code to isolate the use of the Attribute class to that of just holding one attribute instead of a collection of attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
1b0c54f1c5dd61e56cb7cbc435fcb3319cff628f |
|
18-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Use AttributeSet accessor methods instead of Attribute accessor methods. Further encapsulation of the Attribute object. Don't allow direct access to the Attribute object as an aggregate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
956f13440a4aa0297606a4412f4aa091d931592a |
|
18-Jan-2013 |
Bill Wendling <isanbard@gmail.com> |
Push some more methods down to hide the use of the Attribute class. Because the Attribute class is going to stop representing a collection of attributes, limit the use of it as an aggregate in favor of using AttributeSet. This replaces some of the uses for querying the function attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
3251e81d793a293b78f4914be6093b405c24fc2a |
|
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move CallGraphSCCPass.h into the Analysis tree; that's where the implementation lives already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
39cd0c8e477255a7296b2bd1dc67193f8d38c003 |
|
30-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove Function::getParamAttributes and use the AttributeSet accessor methods instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
034b94b17006f51722886b0f2283fb6fb19aca1f |
|
19-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
99faa3b4ec6d03ac7808fe4ff3fbf3d04e375502 |
|
08-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
s/AttrListPtr/AttributeSet/g to better label what this class is going to be in the near future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
0976e00fd1cbf4128daeb72efd8957d00383fda9 |
|
20-Nov-2012 |
Bill Wendling <isanbard@gmail.com> |
Make the AttrListPtr object a part of the LLVMContext. When code deletes the context, the AttributeImpls that the AttrListPtr points to are now invalid. Therefore, instead of keeping a separate managed static for the AttrListPtrs that's reference counted, move it into the LLVMContext and delete it when deleting the AttributeImpls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
07aae2e7d58fe23e370e0cbb9e1a3def99434c36 |
|
15-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Add an enum for the return and function indexes into the AttrListPtr object. This gets rid of some magic numbers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
7be7848e17f60825f5fbc177b8a25909a30ddb00 |
|
14-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove operator cast method in favor of querying with the correct method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
6765834754cbb3cb0f15b4b15e98c5e73fa50066 |
|
09-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Create enums for the different attributes. We use the enums to query whether an Attributes object has that attribute. The opaque layer is responsible for knowing where that specific attribute is stored. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
fac31ded9610565bac130754729f7ff32af08c0d |
|
04-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Use method to query for attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
72f0976c1b91c7ba50dce4d0ad0289dc14d37f81 |
|
30-Sep-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
ArgumentPromotion: Remove ancient workaround for a bug in the C backend. Fun fact: The CBE learned how to deal with this situation before it was removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
b26e2916c937d03bc2d7e273b2df4ffccdb061b4 |
|
19-Jul-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Replace some explicit compare loops with std::equal. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
d509d0b532ec2358b3f341d4a4cd1411cb8b5db2 |
|
28-May-2012 |
Chris Lattner <sabre@nondot.org> |
switch AttrListPtr::get to take an ArrayRef, simplifying a lot of clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
3d30b435e2b3d0e7480019577f48472b51133c21 |
|
16-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Update inter-procedural optimizations for atomic load/store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
a9203109f4ac95aa7e9624f2838e3d89623ec902 |
|
25-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert GetElementPtrInst to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
a3efbb15ddd5aa9006564cd79086723640084878 |
|
15-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert CallInst and InvokeInst APIs to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
5fdd6c8793462549e3593890ec61573da06e3346 |
|
12-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Second attempt at de-constifying LLVM Types in FunctionType::get(), StructType::get() and TargetData::getIntPtrType(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
2280ebd61416b73d0b6137f275b25af82e268d1f |
|
12-Jul-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert r134893 and r134888 (and related patches in other trees). It was causing an assert on Darwin llvm-gcc builds. Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\ ne 2067. etc. http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354 --- Reverse-merging r134893 into '.': U include/llvm/Target/TargetData.h U include/llvm/DerivedTypes.h U tools/bugpoint/ExtractFunction.cpp U unittests/Support/TypeBuilderTest.cpp U lib/Target/ARM/ARMGlobalMerge.cpp U lib/Target/TargetData.cpp U lib/VMCore/Constants.cpp U lib/VMCore/Type.cpp U lib/VMCore/Core.cpp U lib/Transforms/Utils/CodeExtractor.cpp U lib/Transforms/Instrumentation/ProfilingUtils.cpp U lib/Transforms/IPO/DeadArgumentElimination.cpp U lib/CodeGen/SjLjEHPrepare.cpp --- Reverse-merging r134888 into '.': G include/llvm/DerivedTypes.h U include/llvm/Support/TypeBuilder.h U include/llvm/Intrinsics.h U unittests/Analysis/ScalarEvolutionTest.cpp U unittests/ExecutionEngine/JIT/JITTest.cpp U unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp U unittests/VMCore/PassManagerTest.cpp G unittests/Support/TypeBuilderTest.cpp U lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp U lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp U lib/VMCore/IRBuilder.cpp G lib/VMCore/Type.cpp U lib/VMCore/Function.cpp G lib/VMCore/Core.cpp U lib/VMCore/Module.cpp U lib/AsmParser/LLParser.cpp U lib/Transforms/Utils/CloneFunction.cpp G lib/Transforms/Utils/CodeExtractor.cpp U lib/Transforms/Utils/InlineFunction.cpp U lib/Transforms/Instrumentation/GCOVProfiling.cpp U lib/Transforms/Scalar/ObjCARC.cpp U lib/Transforms/Scalar/SimplifyLibCalls.cpp U lib/Transforms/Scalar/MemCpyOptimizer.cpp G lib/Transforms/IPO/DeadArgumentElimination.cpp U lib/Transforms/IPO/ArgumentPromotion.cpp U lib/Transforms/InstCombine/InstCombineCompares.cpp U lib/Transforms/InstCombine/InstCombineAndOrXor.cpp U lib/Transforms/InstCombine/InstCombineCalls.cpp U lib/CodeGen/DwarfEHPrepare.cpp U lib/CodeGen/IntrinsicLowering.cpp U lib/Bitcode/Reader/BitcodeReader.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
f362affa3a695164a94d275fb44d18f44ebb855a |
|
11-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
De-constify Types in FunctionType::get(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
28252b6f0a483ffb0ead991c7a1ead14e3cd2fc1 |
|
16-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
fix PR8932, a case where arg promotion could infinitely promote. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
6d8eb156e6be727570b300bac7712f745a318c7d |
|
11-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Add helper functions for computing the Location of load, store, and vaarg instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
4d70a2949007edeaad4662d5cdcb2d272cb2b2ff |
|
11-Nov-2010 |
Dan Gohman <gohman@apple.com> |
Factor out Instruction::isSafeToSpeculativelyExecute's code for testing for dereferenceable pointers into a helper function, isDereferenceablePointer. Teach it how to reason about GEPs with simple non-zero indices. Also eliminate ArgumentPromtion's IsAlwaysValidPointer, which didn't check for weak externals or out of range gep indices. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
56653f0df85f8e4ee60941a6ca31c17ca6f936ff |
|
11-Nov-2010 |
Dan Gohman <gohman@apple.com> |
TBAA-enable ArgumentPromotion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
3da848bbda62b25c12335998aaa44ab361f0bf15 |
|
20-Oct-2010 |
Dan Gohman <gohman@apple.com> |
Reapply r116831 and r116839, converting AliasAnalysis to use uint64_t, plus fixes for places I missed before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
ae0a7bc68303ce0c8721f0e981ae602601390e68 |
|
14-Oct-2010 |
Owen Anderson <resistor@mac.com> |
CallGraphSCC passes implicity require CallGraph analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
2ab36d350293c77fc8941ce1023e4899df7e3a82 |
|
12-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Begin adding static dependence information to passes, which will allow us to perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
a53029b1fcc71b1482863a7031ddb0c48d7a1177 |
|
12-Jul-2010 |
Gabor Greif <ggreif@gmail.com> |
cache result of operator* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
eae220259fca393adc874ed41e3930011047beb7 |
|
20-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Fix rdar://7879828 - crash in CallGraph, a self host issue. Arg promotion was deleting call graph nodes that still had references from the 'indirect' CGN. Like the inliner, it should only delete the function if all references are gone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
2decb22222cac46bb1d9163e7b89d7e5be8ef65f |
|
17-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
introduce a new CallGraphSCC class, and pass it around to CallGraphSCCPass's instead of passing around a std::vector<CallGraphNode*>. No functionality change, but now we have a much tidier interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
6fde0bd39b1b431b7be30aaf9221ce6c60b0a5f0 |
|
27-Mar-2010 |
Eric Christopher <echristo@apple.com> |
When we promote a load of an argument make sure to take the alignment of the previous load - it's usually important. For example, we don't want to blindly turn an unaligned load into an aligned one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
0054c7a867f85f52fdcc11279d696160de92c9f8 |
|
23-Mar-2010 |
Gabor Greif <ggreif@gmail.com> |
add assert in argpromotion, which cannot trigger if Function::hasAddressTaken works as advertised also included some cosmetic cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
813636a97bfb05955f507f77bd68c42ed101745f |
|
25-Feb-2010 |
Nick Lewycky <nicholas@mxc.ca> |
Correct whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
f451cb870efcf9e0302d25ed05f4cac6bb494e42 |
|
10-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Fix "the the" and similar typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
5ededf7d42417379d230c92fc73912ebb650ede9 |
|
05-Jan-2010 |
David Greene <greened@obbligato.org> |
Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
f5a86f45e75ec744c203270ffa03659eb0a220c1 |
|
25-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove includes of Support/Compiler.h that are no longer needed after the VISIBILITY_HIDDEN removal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
6726b6d75a8b679068a58cb954ba97cf9d1690ba |
|
25-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
a51c39cc3265f5d0d5de87b4a3ef9332c83556e1 |
|
15-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
add a new CallGraphNode::replaceCallEdge method and use it from argpromote to avoid invalidating an iterator. This fixes PR4977. All clang tests now pass with expensive checking (on my system at least). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
da230cb876edf0d4fa8eefc289b8addfb722cd07 |
|
01-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
remove CallGraphNode::replaceCallSite, it is redundant with other APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
a3512bd589ad9269ddaa4e9c008da43c36b4a1b8 |
|
31-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
add -debug output git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
5095e3d1d1caef8d573534d369e37277c623064c |
|
31-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Fix some nasty callgraph dangling pointer problems in argpromotion and structretpromote. Basically, when replacing a function, they used the 'changeFunction' api which changes the entry in the function map (and steals/reuses the callgraph node). This has some interesting effects: first, the problem is that it doesn't update the "callee" edges in any callees of the function in the call graph. Second, this covers for a major problem in all the CGSCC pass stuff, which is that it is completely broken when functions are deleted if they *don't* reuse a CGN. (there is a cute little fixme about this though :). This patch changes the protocol that CGSCC passes must obey: now the CGSCC pass manager copies the SCC and preincrements its iterator to avoid passes invalidating it. This allows CGSCC passes to mutate the current SCC. However multiple passes may be run on that SCC, so if passes do this, they are now required to *update* the SCC to be current when they return. Other less interesting parts of this patch are that it makes passes update the CG more directly, eliminates changeFunction, and requires clients of replaceCallSite to specify the new callee CGN if they are changing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
23132b188ba651ba172380cd082cc286df73d440 |
|
24-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
prune the #includes in raw_ostream.h by moving a member out of line. ftostr is not particularly speedy, so that method is presumably not perf sensitive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
7eb28f3786543f63cb9a4099655e6d456fca71f7 |
|
14-Aug-2009 |
Dan Gohman <gohman@apple.com> |
Make TargetData optional in GlobalOpt and ArgumentPromotion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
fe09b2098ac483f6d6ce6ea4ab237a9539bdb6b9 |
|
30-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Twines: Don't allow implicit conversion from integers, this is too tricky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
7f93dc8345fb33652973e35cae4c3b58addf4f87 |
|
30-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Switch obvious clients to Twine instead of utostr (when they were already using a Twine, e.g., for names). - I am a little ambivalent about this; we don't want the string conversion of utostr, but using overload '+' mixed with string and integer arguments is sketchy. On the other hand, this particular usage is something of an idiom. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
debcb01b0f0a15f568ca69e8f288fade4bfc7297 |
|
30-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move types back to the 2.5 API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
eed707b1e6097aac2bb6b3d47271f6300ace7f2e |
|
25-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
dfd3b647839d3f944b5d8bffd6e9a2ec022d3507 |
|
22-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove unnecessary store to temporary std::string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
50dead06ffc107edb7e84857baaeeb09039c631c |
|
16-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Revert yesterday's change by removing the LLVMContext parameter to AllocaInst and MallocInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
9adc0abad3c3ed40a268ccbcee0c74cb9e1359fe |
|
15-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move EVER MORE stuff over to LLVMContext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
14ce9ef2e9013ba56e1daafebd91fe3ee1e8647e |
|
06-Jul-2009 |
Owen Anderson <resistor@mac.com> |
More LLVMContext-ification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
757068f3bad425fb126fe16ab7b8a82a636e6bbd |
|
10-Jun-2009 |
Jay Foad <jay.foad@gmail.com> |
Implement and use new method Function::hasAddressTaken(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
5b7dfbd89a0a0b7b59603bf9eb0f3f58534b4dd5 |
|
17-Apr-2009 |
David Greene <greened@obbligato.org> |
Use a safer iterator interface and get rid of std C++ library misuse. This fixes a --enable-expensive-checks problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
38deef9ce58b33dba34515f23fb7dbde02164c77 |
|
18-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
edc4d69917df7dc34543adf719d5c93249fd5e27 |
|
22-Jan-2009 |
Gabor Greif <ggreif@gmail.com> |
introduce a useful abstraction to find out if a Use is in the call position of an instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
b079a391c8b85d088dabce715d99be5917af88fa |
|
16-Nov-2008 |
Torok Edwin <edwintorok@gmail.com> |
If SI->size() is 0, we are not allowed to dereference ->begin(). This fixed PR3078. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
19c874638d9478a5d5028854817a5ee72293bb2b |
|
27-Sep-2008 |
Devang Patel <dpatel@apple.com> |
Now Attributes are divided in three groups - return attributes - inreg, zext and sext - parameter attributes - function attributes - nounwind, readonly, readnone, noreturn Return attributes use 0 as the index. Function attributes use ~0U as the index. This patch requires corresponding changes in llvm-gcc and clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
0598866c052147c31b808391f58434ce3dbfb838 |
|
25-Sep-2008 |
Devang Patel <dpatel@apple.com> |
Large mechanical patch. s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
e3d76d37e972d6f7b1335a3944ce31ae8f4cd3c9 |
|
24-Sep-2008 |
Devang Patel <dpatel@apple.com> |
s/ParamAttrsWithIndex/FnAttributeWithIndex/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
eaf42abab6d465c38891345d999255871cf03943 |
|
24-Sep-2008 |
Devang Patel <dpatel@apple.com> |
s/ParameterAttributes/Attributes/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
34c8847b2d27433ec7b81c824b66771e7665873a |
|
08-Sep-2008 |
Duncan Sands <baldrick@free.fr> |
Update the callgraph correctly in ArgumentPromotion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
4cddaf77c4f2482e7d3e7cc1c80895523dcfb68e |
|
07-Sep-2008 |
Duncan Sands <baldrick@free.fr> |
Correct a comment and strip trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
477f5a2f11a0383b4ecfcb0db2913027ed38ee39 |
|
29-Jul-2008 |
Matthijs Kooijman <matthijs@stdin.nl> |
Restructure ArgumentPromotion a bit. Instead of just having a single boolean that says "unconditional loads from this argument are safe", we now keep track of the safety per set of indices from which loads happen. This prevents ArgPromotion from promoting loads that aren't really valid. As an added effect, this will now disregard the the type of the indices passed to a GEP, so "load GEP %A, i32 1" and "load GEP %A, i64 1" will result in a single argument, not two. This fixes PR2598, for which a testcase has been added as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
5e46321d665d6b1f445aff70d8eabb4870a6cf0e |
|
29-May-2008 |
Gabor Greif <ggreif@gmail.com> |
convert more operand loops to iterator formulation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
43e2a035309f4e353a8bd5547d10125414597e74 |
|
27-May-2008 |
Duncan Sands <baldrick@free.fr> |
Fix some constructs that gcc-4.4 warns about. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
28c3cff8250b3fe2adc6479306fe7dbdb48a1bdb |
|
26-May-2008 |
Duncan Sands <baldrick@free.fr> |
Factor code to copy global value attributes like the section or the visibility from one global value to another: copyAttributesFrom. This is particularly useful for duplicating functions: previously this was done by explicitly copying each attribute in turn at each place where a new function was created out of an old one, with the result that obscure attributes were regularly forgotten (like the collector or the section). Hopefully now everything is uniform and nothing is forgotten. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
992e97eed344a141ff581838cfdacb76a1e9559a |
|
23-May-2008 |
Matthijs Kooijman <matthijs@stdin.nl> |
Indent fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
399101a5990621b0357009ab1852cc00f410a6c6 |
|
23-May-2008 |
Dan Gohman <gohman@apple.com> |
Use isSingleValueType instead of isFirstClassType to exclude struct and array types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
a72acf938902ea8ae2776cad7327257e88a63a54 |
|
13-May-2008 |
Nate Begeman <natebegeman@mac.com> |
80 col / tabs fixes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
bcd203cf860269987f32b14737b200b84fc2b63e |
|
19-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
Allow argpromote to promote struct arguments with a specified number of elements. Patch by Matthijs Kooijman! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
2b3407f5b3d8626b924c532bcfea15daaf1bd3c0 |
|
20-Mar-2008 |
Zhou Sheng <zhousheng00@gmail.com> |
Take the old function's name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
58d74910c6b82e622ecbb57d6644d48fec5a5c0f |
|
12-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
Reimplement the parameter attributes support, phase #1. hilights: 1. There is now a "PAListPtr" class, which is a smart pointer around the underlying uniqued parameter attribute list object, and manages its refcount. It is now impossible to mess up the refcount. 2. PAListPtr is now the main interface to the underlying object, and the underlying object is now completely opaque. 3. Implementation details like SmallVector and FoldingSet are now no longer part of the interface. 4. You can create a PAListPtr with an arbitrary sequence of ParamAttrsWithIndex's, no need to make a SmallVector of a specific size (you can just use an array or scalar or vector if you wish). 5. All the client code that had to check for a null pointer before dereferencing the pointer is simplified to just access the PAListPtr directly. 6. The interfaces for adding attrs to a list and removing them is a bit simpler. Phase #2 will rename some stuff (e.g. PAListPtr) and do other less invasive changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
22c3979fcaa7ff19c44253eb9b0b0160dfef0aa4 |
|
22-Feb-2008 |
Dale Johannesen <dalej@apple.com> |
Split ParameterAttributes.h, putting the complicated stuff into ParamAttrsList.h. Per feedback from ParamAttrs changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
0d51e7ec0d2dcbea9e304fd58deb05f37eb75635 |
|
19-Feb-2008 |
Dale Johannesen <dalej@apple.com> |
Expand ParameterAttributes to 32 bits (in preparation for adding alignment info, not there yet). Clean up interfaces to reference ParameterAttributes consistently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
532d022794beabceae09c7fcc222a6e4e929c748 |
|
01-Feb-2008 |
Duncan Sands <baldrick@free.fr> |
Don't drop function/call return attributes like 'nounwind'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
ab04e13a1f017c2b0a82344b4c083d92139ee2cc |
|
17-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Fix arg promotion to propagate the correct attrs on the calls to promoted functions. This is important for varargs calls in particular. Thanks to duncan for providing a great testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
e3a8830c1d263b41ee114d7cb3fd50d240ec32b3 |
|
13-Jan-2008 |
Duncan Sands <baldrick@free.fr> |
Small simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
10603e0c84d15f61443e8b17bc35f98cc46606d9 |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Teach argpromote to ruthlessly hack small byval structs when it can get away with it, which exposes opportunities to eliminate the memory objects entirely. For example, we now compile byval.ll to: define internal void @f1(i32 %b.0, i64 %b.1) { entry: %tmp2 = add i32 %b.0, 1 ; <i32> [#uses=0] ret void } define i32 @main() nounwind { entry: call void @f1( i32 1, i64 2 ) ret i32 0 } This seems like it would trigger a lot for code that passes around small structs (e.g. SDOperand's or _Complex)... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
e027efa21816dbd2350d137fdfa181c24cbe8c49 |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Use smallptrset instead of std::set for efficiency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
170b1816b2cd6f02a8d0d5f1e13d9bda2f247012 |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
a byval argument is guaranteed to be valid to load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
40c14be5bc9ba900f01c408b65aca57e053788e1 |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Update this code to use eraseFromParent where possible. Compute whether an argument is byval and pass into isSafeToPromoteArgument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
f1577014ddd13113c4a06d85bc75cd7b2dce71a9 |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
replace a loop with a constant time check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
6e8410abf1d8841f15d17a30dcd346038862c926 |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
another minor datastructure tweak. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
a10145fdf6325c5c528689e8952ad7e4e2a1a6b5 |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
start using smallvector to avoid vector heap thrashing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
194c90ed2a8e74b5a1c5184835f84c572d524dad |
|
25-Dec-2007 |
Gordon Henriksen <gordonhenriksen@mac.com> |
Fixing several transforms which would drop the collector attribute when copying functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
dc024674ff96820d6020757b48d47f46d4c07db2 |
|
27-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
Fix PR1146: parameter attributes are longer part of the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
514ab348fddcdffa8367685dc608b2f8d5de986d |
|
01-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
Executive summary: getTypeSize -> getTypeStoreSize / getABITypeSize. The meaning of getTypeSize was not clear - clarifying it is important now that we have x86 long double and arbitrary precision integers. The issue with long double is that it requires 80 bits, and this is not a multiple of its alignment. This gives a primitive type for which getTypeSize differed from getABITypeSize. For arbitrary precision integers it is even worse: there is the minimum number of bits needed to hold the type (eg: 36 for an i36), the maximum number of bits that will be overwriten when storing the type (40 bits for i36) and the ABI size (i.e. the storage size rounded up to a multiple of the alignment; 64 bits for i36). This patch removes getTypeSize (not really - it is still there but deprecated to allow for a gradual transition). Instead there is: (1) getTypeSizeInBits - a number of bits that suffices to hold all values of the type. For a primitive type, this is the minimum number of bits. For an i36 this is 36 bits. For x86 long double it is 80. This corresponds to gcc's TYPE_PRECISION. (2) getTypeStoreSizeInBits - the maximum number of bits that is written when storing the type (or read when reading it). For an i36 this is 40 bits, for an x86 long double it is 80 bits. This is the size alias analysis is interested in (getTypeStoreSize returns the number of bytes). There doesn't seem to be anything corresponding to this in gcc. (3) getABITypeSizeInBits - this is getTypeStoreSizeInBits rounded up to a multiple of the alignment. For an i36 this is 64, for an x86 long double this is 96 or 128 depending on the OS. This is the spacing between consecutive elements when you form an array out of this type (getABITypeSize returns the number of bytes). This is TYPE_SIZE in gcc. Since successive elements in a SequentialType (arrays, pointers and vectors) need to be aligned, the spacing between them will be given by getABITypeSize. This means that the size of an array is the length times the getABITypeSize. It also means that GEP computations need to use getABITypeSize when computing offsets. Furthermore, if an alloca allocates several elements at once then these too need to be aligned, so the size of the alloca has to be the number of elements multiplied by getABITypeSize. Logically speaking this doesn't have to be the case when allocating just one element, but it is simpler to also use getABITypeSize in this case. So alloca's and mallocs should use getABITypeSize. Finally, since gcc's only notion of size is that given by getABITypeSize, if you want to output assembler etc the same as gcc then getABITypeSize is the size you want. Since a store will overwrite no more than getTypeStoreSize bytes, and a read will read no more than that many bytes, this is the notion of size appropriate for alias analysis calculations. In this patch I have corrected all type size uses except some of those in ScalarReplAggregates, lib/Codegen, lib/Target (the hard cases). I will get around to auditing these too at some point, but I could do with some help. Finally, I made one change which I think wise but others might consider pointless and suboptimal: in an unpacked struct the amount of space allocated for a field is now given by the ABI size rather than getTypeStoreSize. I did this because every other place that reserves memory for a type (eg: alloca) now uses getABITypeSize, and I didn't want to make an exception for unpacked structs, i.e. I did it to make things more uniform. This only effects structs containing long doubles and arbitrary precision integers. If someone wants to pack these types more tightly they can always use a packed struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
55cbec317d9c30c8ae1d35eaa008ca63d1f2fce9 |
|
26-Oct-2007 |
Gordon Henriksen <gordonhenriksen@mac.com> |
More fleshing out of docs/Passes.html, plus some typo fixes and improved wording in source files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
b8f74793b9d161bc666fe27fc92fe112b6ec169b |
|
04-Sep-2007 |
David Greene <greened@obbligato.org> |
Update GEP constructors to use an iterator interface to fix GLIBCXX_DEBUG issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
f1355a55f8d815f5385e9a4432195f03b65f3a42 |
|
27-Aug-2007 |
David Greene <greened@obbligato.org> |
Update InvokeInst to work like CallInst git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
9132a2b81842b0e2b77703fab3e6fe7467f859bb |
|
23-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
rename APInt::toString -> toStringUnsigned for symmetry with toStringSigned() Add an APSInt::toString() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
52eec548206d0b135b55ba52dd0e82e978f15ae5 |
|
01-Aug-2007 |
David Greene <greened@obbligato.org> |
New CallInst interface to address GLIBCXX_DEBUG errors caused by indexing an empty std::vector. Updates to all clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
a0e0129e3f03fae1a275537a00e426a31d5eb649 |
|
01-Mar-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Use APInt conversion to string so the result is correct regardless of the bit width of the ConstantInt being converted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
93e985f1b17aef62d58e3198a4604f9f6cfe8d19 |
|
13-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
Eliminate use of ctors that take vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
1ccd185cb49d81465a2901622e58ceae046d1d83 |
|
12-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
stop using methods that take vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
046800a7125cd497613efc0e1ea15cb595666585 |
|
11-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
simplify name juggling through the use of Value::takeName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
c71ca3cdd2d7a08b043ebb717cad0beadaf47450 |
|
26-Jan-2007 |
Devang Patel <dpatel@apple.com> |
Inherit CallGraphSCCPass directly from Pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
c5b206b6be61d0d933b98b6af5e22f42edd48ad1 |
|
31-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
86453c52ba02e743d29c08456e51006500041456 |
|
19-Dec-2006 |
Chris Lattner <sabre@nondot.org> |
Eliminate static ctors due to Statistic objects git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
0a81aac4b46eed130d20714af5a1c01b05d0275e |
|
26-Nov-2006 |
Bill Wendling <isanbard@gmail.com> |
Replace #include <iostream> with llvm_* streams. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
b83eb6447ba155342598f0fabe1f08f5baa9164a |
|
20-Oct-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
99435d32b3318f1b2f593f484ea9ba26804bf56c |
|
03-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
Revert previous patch. Still breaking things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
32954718469b91193561c2efdc45db7d7cdd05df |
|
29-Sep-2006 |
Owen Anderson <resistor@mac.com> |
Another attempt at making ArgPromotion smarter. This patch no longer breaks Burg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
94876527af8703273c523840cf41b00aaf85389b |
|
15-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
revert previous two patches. They cause miscompilation of MultiSource/Applications/Burg git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
46f022a7f105211d5ea2c394e406d1943b80908c |
|
15-Sep-2006 |
Owen Anderson <resistor@mac.com> |
Revert my previous work on ArgumentPromotion. Further investigation has revealed these changes to be incorrect. They just weren't showing up in any of our current testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
b833e5ac3fc9230947cbdfd50c7d8782a0c17d60 |
|
02-Sep-2006 |
Owen Anderson <resistor@mac.com> |
Make ArgumentPromotion handle recursive functions that pass pointers in their recursive calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
f201dbc1a4a638659ec3916785196e2c204c7755 |
|
09-May-2005 |
Chris Lattner <sabre@nondot.org> |
Preserve calling conventions when doing IPO git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
1430ef134d36888b99d2e6fedd2b025882593538 |
|
06-May-2005 |
Chris Lattner <sabre@nondot.org> |
preserve the tail marker git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
4d0801b243ebb05954ec2173b45ed9f892ef961a |
|
08-Jan-2005 |
Chris Lattner <sabre@nondot.org> |
Fix VS warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
4c989b6bd7f3ccaedd522a6a53a49ea7e170e75e |
|
14-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Remove debugging code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
11a3d7b7ddd10659b72ed248d878fa0d90ddcb45 |
|
14-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
Argument promotion transforms functions to unconditionally load their argument pointers. This is only valid to do if the function already unconditionally loaded an argument or if the pointer passed in is known to be valid. Make sure to do the required checks. This fixed ArgumentPromotion/control-flow.ll and the Burg program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
b12914bfc0f76a7a48357162d5f4c39a1343e69b |
|
20-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
'Pass' should now not be derived from by clients. Instead, they should derive from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
f5afcabff887c2e9023f0c69c44f1de15b5c4347 |
|
19-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Add comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
5eb6f6c829ddfe353f94623aa1009c72be930497 |
|
18-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Convert this pass to be a CallGraphSCCPass instead of a Pass, which eliminates the worklist and makes it more efficient. This does not change functionality at all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
ebeb0cba94e41b60f2095d4e7f09989f16233da4 |
|
17-Sep-2004 |
Chris Lattner <sabre@nondot.org> |
Fix typo in comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.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/IPO/ArgumentPromotion.cpp
|
317815891826673a117554c7b5bf1431c253c4e7 |
|
18-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
bug 122: - Excise dead CPR procesing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
beabf45a6923b1748edae40d53e2b2c4362cc32f |
|
21-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Make order of argument addition deterministic. In particular, the layout of ConstantInt objects in memory used to determine which order arguments were added in in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
9e7cc2f0d42aa4127e3b8406e25907a96ce9ada0 |
|
23-May-2004 |
Chris Lattner <sabre@nondot.org> |
Fairly substantial changes to update the alias analysis we are querying as we make the transformation. This allows us to use interprocedural alias analyses successfully. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
9440db886627161a8413e823797569fc7b10beaf |
|
08-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Implement ArgumentPromotion/aggregate-promote.ll This allows pointers to aggregate objects, whose elements are only read, to be promoted and passed in by element instead of by reference. This can enable a LOT of subsequent optimizations in the caller function. It's worth pointing out that this stuff happens a LOT of C++ programs, because objects in templates are generally passed around by reference. When these templates are instantiated on small aggregate or scalar types, however, it is more efficient to pass them in by value than by reference. This transformation triggers most on C++ codes (e.g. 334 times on eon), but does happen on C codes as well. For example, on mesa it triggers 72 times, and on gcc it triggers 35 times. this is amazingly good considering that we are using 'basicaa' so far. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
86a734bd40857db9ef205234f3b58e550ee5959b |
|
07-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Implement: ArgumentPromotion/chained.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
7db5a6df78749bf0cd37870fcefe08b8849e38e6 |
|
07-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Fix another minor bug, exposed by perlbmk git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
7e6f5090afbb5c05c8f73c836d56aadb16425bb0 |
|
07-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
Fix a minor bug and turn debug output into, well, debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|
ed570a7dca45e001a6223e2a25d034b838934f88 |
|
07-Mar-2004 |
Chris Lattner <sabre@nondot.org> |
New LLVM pass: argument promotion. This version only handles simple scalar variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
|