mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-19 03:24:09 +00:00
getMangledTypeStr: clarify how it mangles types, and add tests
"Write a set of tests that show how name mangling is done for overloaded intrinsics." These happen to use gc.relocates to exercise the codepath in question, but is not a GC specific test. Patch by: artagnon@gmail.com Differential Revision: http://reviews.llvm.org/D6915 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226056 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -455,6 +455,10 @@ unsigned Function::lookupIntrinsicID() const {
|
||||
/// 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.)
|
||||
/// Manglings of integers, floats, and vectors ('i', 'f', and 'v' prefix in most
|
||||
/// cases) fall back to the MVT codepath, where they could be mangled to
|
||||
/// 'x86mmx', for example; matching on derived types is not sufficient to mangle
|
||||
/// everything.
|
||||
static std::string getMangledTypeStr(Type* Ty) {
|
||||
std::string Result;
|
||||
if (PointerType* PTyp = dyn_cast<PointerType>(Ty)) {
|
||||
|
Reference in New Issue
Block a user