These aliases are done to support inline asm, but there's nothing we can
do: NVPTX doesn't support aliases.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Failing silently is not a good idea. At the very least there should produce an error.
The right thing to do here, IMO, would be to generate a stub with alias name that just jumps to or calls aliasee.
Discussed IRL. We're not breaking anyone who's not already broken -- if you currently have "device attribute((used)) static int foo()", that's just not going to compile for you without this patch. With this patch, at least this will work for some people; we can always add this stub function later if we want (I have concerns about potentially surprising performance implications, but we can postpone worrying about that).
OK. If someone attempts to rely on this feature in CUDA it will be obviously broken due to the missing C-style mangled name. We can deal with it then.