[llvm-commits] [llvm] r106227 - /llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Dale Johannesen
dalej at apple.com
Thu Jun 17 11:24:26 PDT 2010
On Jun 17, 2010, at 10:50 AM, Jim Grosbach wrote:
> Add entries for Expanding atomic intrinsics to libcalls. Just a
> placeholder
> for the moment. The implementation of the libcall will follow.
>
> Currently, the llvm-gcc knows when the intrinsics can be correctly
> handled by
> the back end and only generates them in those cases, issuing
> libcalls directly
> otherwise. That's too much coupling. The intrinsics should always be
> generated and the back end decide how to handle them, be it with a
> libcall,
> inline code, or whatever. This patch is a step in that direction.
I think this is overstated. Which intrinsics are valid is dependent
on dialect; for example, there are many library functions in C99 that
are not in C89. It is appropriate for FEs to determine which calls
the BEs are allowed to treat specially according to language rules,
and generate intrinsics only for these. The actual special treatment,
if any, I agree should be up to the BEs.
More information about the llvm-commits
mailing list