Hi, > This patch is for PR1582. As recent discuss on that pr, the C++ FE doesn't > track the restrict qualifier in the function declaration at all. When > llvm-gcc handling CALL_EXPR and emiting callInst instruction, it can't get > the "NoAlias" attribute, and hence insert a BitCast in CallInst. This patch > is to eliminate this bitcast.
what if one is varargs but not the other? Also, your patch is quite general in that it ignores *any* parameter attributes, not just restrict. I think this is basically ok (though it should presumably also ignore return attributes). That said, it could instead form the union of the previous attributes and any new ones. But I think the safest approach is to assert that any new attributes include the old ones, meaning that attributes can only be added, and no attributes removed, when going from the old to the new functions. Ciao, Duncan. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits