[llvm-commits] [llvm] r116665 - in /llvm/trunk: include/llvm/CodeGen/MachineModuleInfo.h lib/CodeGen/MachineModuleInfo.cpp lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp lib/Target/X86/X86AsmPrinter.cpp test/CodeGen/X86/fltused.ll

Duncan Sands baldrick at free.fr
Sat Oct 16 05:08:38 PDT 2010


Hi Michael,

> X86-Windows: Emit an undefined global __fltused symbol when targeting Windows
> if any floating point arguments are passed to an external function.

why?

> +    // See if any floating point values are being passed to this external
> +    // function. This is used to emit an undefined reference to fltused on
> +    // Windows.

An indirect call could be to an external function, but you will not get to your
logic in the case of an indirect call.  A call to a varargs function could pass
a floating point value, but you will not catch that using your approach.  I
think you should be looking at the call-site not the callee.

> +    if (!F->hasLocalLinkage()&&  F->hasName()) {

Why is having a name relevant here?

Ciao,

Duncan.



More information about the llvm-commits mailing list