[LLVMdev] Preventing C backend from using gcc builtin functions

Anton Korobeynikov anton at korobeynikov.info
Thu Feb 10 00:16:34 PST 2011


> Working with llvm 2.8 installed on Mac OS, when using the llvm-gcc frontend
> and the C backend I see it converting regular (non-checking) memcpy and
> memset calls to __memset_chk and __memcpy_chk already at the IR stage.
Most probably these are changed due to defines in the system headers,
so, compiler cannot do anything about this.
You can hack on your system headers though.

> In a similar manner, llvm.objectsize.* calls are replaced with
> __builtin_object_size calls, another gcc builtin function.
What should be used instead?

> Is there a way, either by passing some flags to the llvm-gcc frontend, or by
> specifying some other flag to llc, to prevent this from happening?
CBE relies on many gcc extensions, so, I doubt fixing this small issue
will change the overall situation.

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-dev mailing list