[llvm-commits] [poolalloc] r111446 - /poolalloc/trunk/lib/DSA/DSGraph.cpp
Will Dietz
wdietz2 at illinois.edu
Wed Aug 18 16:02:09 PDT 2010
Author: wdietz2
Date: Wed Aug 18 18:02:09 2010
New Revision: 111446
URL: http://llvm.org/viewvc/llvm-project?rev=111446&view=rev
Log:
When checking byval-ness, don't walk off the end of the function argument list.
Fixes segfault on 253.perlbmk
Modified:
poolalloc/trunk/lib/DSA/DSGraph.cpp
Modified: poolalloc/trunk/lib/DSA/DSGraph.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/DSGraph.cpp?rev=111446&r1=111445&r2=111446&view=diff
==============================================================================
--- poolalloc/trunk/lib/DSA/DSGraph.cpp (original)
+++ poolalloc/trunk/lib/DSA/DSGraph.cpp Wed Aug 18 18:02:09 2010
@@ -1410,8 +1410,9 @@
// argument is not (or vice-versa), then the function is not a valid target.
//
if (!noDSACallConv) {
- Function::const_arg_iterator farg = F->arg_begin();
- for (unsigned index = 1; index < (CS.arg_size() + 1); ++farg, ++index) {
+ Function::const_arg_iterator farg = F->arg_begin(), fend = F->arg_end();
+ for (unsigned index = 1; index < (CS.arg_size() + 1) && farg != fend;
+ ++farg, ++index) {
if (CS.paramHasAttr (index, Attribute::ByVal) != farg->hasByValAttr()) {
return false;
}
More information about the llvm-commits
mailing list