mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-27 13:40:30 +00:00
Incorporate review comments from r221742
This change implements the comment and style changes Sean requested during post commit review with r221742. Sorry for the delay. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222707 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2543acd169
commit
4e89fd0f4b
@ -456,7 +456,15 @@ unsigned Function::lookupIntrinsicID() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Returns a stable mangling for the type specified for use in the name
|
/// Returns a stable mangling for the type specified for use in the name
|
||||||
/// mangling scheme used by 'any' types in intrinsic signatures.
|
/// mangling scheme used by 'any' types in intrinsic signatures. The mangling
|
||||||
|
/// of named types is simply their name. Manglings for unnamed types consist
|
||||||
|
/// of a prefix ('p' for pointers, 'a' for arrays, 'f_' for functions)
|
||||||
|
/// combined with the mangling of their component types. A vararg function
|
||||||
|
/// type will have a suffix of 'vararg'. Since function types can contain
|
||||||
|
/// other function types, we close a function type mangling with suffix 'f'
|
||||||
|
/// which can't be confused with it's prefix. This ensures we don't have
|
||||||
|
/// collisions between two unrelated function types. Otherwise, you might
|
||||||
|
/// parse ffXX as f(fXX) or f(fX)X. (X is a placeholder for any other type.)
|
||||||
static std::string getMangledTypeStr(Type* Ty) {
|
static std::string getMangledTypeStr(Type* Ty) {
|
||||||
std::string Result;
|
std::string Result;
|
||||||
if (PointerType* PTyp = dyn_cast<PointerType>(Ty)) {
|
if (PointerType* PTyp = dyn_cast<PointerType>(Ty)) {
|
||||||
@ -476,7 +484,8 @@ static std::string getMangledTypeStr(Type* Ty) {
|
|||||||
Result += getMangledTypeStr(FT->getParamType(i));
|
Result += getMangledTypeStr(FT->getParamType(i));
|
||||||
if (FT->isVarArg())
|
if (FT->isVarArg())
|
||||||
Result += "vararg";
|
Result += "vararg";
|
||||||
Result += "f"; //ensure distinguishable
|
// Ensure nested function types are distinguishable.
|
||||||
|
Result += "f";
|
||||||
} else if (Ty)
|
} else if (Ty)
|
||||||
Result += EVT::getEVT(Ty).getEVTString();
|
Result += EVT::getEVT(Ty).getEVTString();
|
||||||
return Result;
|
return Result;
|
||||||
|
Loading…
Reference in New Issue
Block a user