[llvm-commits] [llvm] r56885 - in /llvm/trunk: include/llvm/Target/TargetLowering.h lib/CodeGen/SelectionDAG/SelectionDAG.cpp lib/Target/X86/X86ISelLowering.cpp lib/Target/X86/X86ISelLowering.h lib/Target/X86/X86Subtarget.cpp lib/Target/X86/X86Su

Bill Wendling isanbard at gmail.com
Tue Sep 30 15:25:28 PDT 2008


On Tue, Sep 30, 2008 at 3:19 PM, Dan Gohman <gohman at apple.com> wrote:
>
> On Sep 30, 2008, at 3:10 PM, Devang Patel wrote:
>
>>
>> On Sep 30, 2008, at 2:52 PM, Bill Wendling wrote:
>>
>>> On Tue, Sep 30, 2008 at 2:49 PM, Devang Patel <dpatel at apple.com>
>>> wrote:
>>>>
>>>> On Sep 30, 2008, at 2:22 PM, Bill Wendling wrote:
>>>>
>>>>> Author: void
>>>>> Date: Tue Sep 30 16:22:07 2008
>>>>> New Revision: 56885
>>>>>
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=56885&view=rev
>>>>> Log:
>>>>> Add the new `-no-builtin' flag. This flag is meant to mimic the GCC
>>>>> `-fno-builtin' flag. Currently, it's used to replace "memset" with
>>>>> "_bzero"
>>>>> instead of "__bzero" on Darwin10+. This arguably violates the
>>>>> meaning of this
>>>>> flag, but is currently sufficient. The meaning of this flag should
>>>>> become more
>>>>> specific over time.
>>>>
>>>> Is it possible encode this in IR as an attribute ?
>>>>
>>>> Right now this info. is lost during
>>>> 1) llvm-gcc -c --emit-llvm -fno-builtin foo.c -o foo.bc && llc
>>>> foo.bc -
>>>> o foo.s
>>>> 2) and LTO.
>>>>
>>> Sure! How do you do that? :-)
>>
>> Here is completely untested patch to begin with...
>
>
> Before we charge ahead with this, can we take a moment and consider
> whether it's desireable? This is giving -fno-builtin a significantly
> different meaning from what it has in GCC.
>
I changed it so that it won't convert a memset to a bzero. This should
be in line with how GCC treats this flag:

           Don't recognize built-in functions that do not begin with
           __builtin_ as prefix.

-bw



More information about the llvm-commits mailing list