diff options
author | Gordon Henriksen <gordonhenriksen@mac.com> | 2007-10-26 03:03:51 +0000 |
---|---|---|
committer | Gordon Henriksen <gordonhenriksen@mac.com> | 2007-10-26 03:03:51 +0000 |
commit | 78c63ac41e4c34807bda8a1d778fbcd27bafb52f (patch) | |
tree | b591e82cbde16045208bbb09551c159ae2ff7d11 /llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | |
parent | 7f3d02471d04bef0062790c0b79151a9a6fe8266 (diff) | |
download | bcm5719-llvm-78c63ac41e4c34807bda8a1d778fbcd27bafb52f.tar.gz bcm5719-llvm-78c63ac41e4c34807bda8a1d778fbcd27bafb52f.zip |
More fleshing out of docs/Passes.html, plus some typo fixes and
improved wording in source files.
llvm-svn: 43377
Diffstat (limited to 'llvm/lib/Transforms/IPO/ArgumentPromotion.cpp')
-rw-r--r-- | llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp b/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp index 93a7af68a0d..85b29f871fc 100644 --- a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp +++ b/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp @@ -9,22 +9,22 @@ // // This pass promotes "by reference" arguments to be "by value" arguments. In // practice, this means looking for internal functions that have pointer -// arguments. If we can prove, through the use of alias analysis, that an -// argument is *only* loaded, then we can pass the value into the function +// arguments. If it can prove, through the use of alias analysis, that an +// argument is *only* loaded, then it can pass the value into the function // instead of the address of the value. This can cause recursive simplification // of code and lead to the elimination of allocas (especially in C++ template // code like the STL). // // This pass also handles aggregate arguments that are passed into a function, // scalarizing them if the elements of the aggregate are only loaded. Note that -// we refuse to scalarize aggregates which would require passing in more than -// three operands to the function, because we don't want to pass thousands of -// operands for a large array or structure! +// it refuses to scalarize aggregates which would require passing in more than +// three operands to the function, because passing thousands of operands for a +// large array or structure is unprofitable! // // Note that this transformation could also be done for arguments that are only -// stored to (returning the value instead), but we do not currently handle that -// case. This case would be best handled when and if we start supporting -// multiple return values from functions. +// stored to (returning the value instead), but does not currently. This case +// would be best handled when and if LLVM begins supporting multiple return +// values from functions. // //===----------------------------------------------------------------------===// |