[llvm-commits] [llvm] r72894 - in /llvm/trunk: include/llvm/Attributes.h include/llvm/Target/TargetOptions.h lib/AsmParser/LLLexer.cpp lib/AsmParser/LLParser.cpp lib/AsmParser/LLToken.h lib/Target/PowerPC/PPCRegisterInfo.cpp lib/Target/TargetMachine.cpp lib/Target/X86/X86RegisterInfo.cpp lib/VMCore/Attributes.cpp test/CodeGen/X86/red-zone2.ll tools/llc/llc.cpp
Nick Lewycky
nicholas at mxc.ca
Tue Jun 9 22:24:53 PDT 2009
Okay, that all sounds reasonable. It'd be nice if llvm-gcc didn't add
then 'noredzone' attribute when I didn't explicitly ask for noredzone.
That would reduce bitcode size and memory usage by a tiny amount.
You *really should* commit a change to LangRef in the same commit as a
change to the language, even if that means you have to do more work
overall to update the text for each stage.
Nick
Devang Patel wrote:
>
> On Jun 7, 2009, at 11:05 AM, Nick Lewycky wrote:
>
>> This attribute needs an entry in LangRef. Please add one.
>
> Yes. I am going to add one or two additional attributes. I'll document
> all of them together.
>>
>>
>> Also, I'm now getting "noredzone" notes on all my functions all the
>> time when building x86-32 Linux. I suppose that's technically true but
>> do we really need this everywhere?
>
> llvm-gcc sets this when -mno-red-zone is set by GCC's target machinery.
>
>>
>>
>> Why disable the redzone anyways? Isn't it an ABI feature?
>
> GCC man page says,
>
> -mno-red-zone
> Do not use a so called red zone for x86-64 code. The red
> zone is
> mandated by the x86-64 ABI, it is a 128-byte area beyond the
> location of the stack pointer that will not be modified by
> signal
> or interrupt handlers and therefore can be used for temporary
> data
> without adjusting the stack pointer. The flag -mno-red-zone
> disables this red zone.
>
>
>>
>>
>> Nick
> -
> Devang
>
More information about the llvm-commits
mailing list