[PATCH] Implement Named Register Global Variables in LLVM

Rafael EspĂ­ndola rafael.espindola at gmail.com
Tue May 6 06:39:43 PDT 2014


+Warning: There is no register reservation at the moment, and so far it
+only works with the stack pointer on selected architectures (ARM, ARM64,
+x86_64 and AArch64).

This is still inaccurate. There are two restrictions that we should mention:

* There is no reservation and we error on allocatable registers. That
is not "for now" or "at the moment".
* The only thing that is currently implemented is the stack registers
in some architectures, but we hope to expand that to other
non-allocatable registers in the future.



On 6 May 2014 08:53, Renato Golin <renato.golin at linaro.org> wrote:
> + Remove future plans to avoid over-promising
> + Include FIXME for better allocatable-aware error messages (not yet because we only support one reg anyway)
>
> http://reviews.llvm.org/D3261
>
> Files:
>   docs/LangRef.rst
>   include/llvm/CodeGen/ISDOpcodes.h
>   include/llvm/CodeGen/SelectionDAGISel.h
>   include/llvm/IR/Intrinsics.td
>   include/llvm/Target/TargetLowering.h
>   lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
>   lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
>   lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
>   lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
>   lib/Target/AArch64/AArch64ISelLowering.cpp
>   lib/Target/AArch64/AArch64ISelLowering.h
>   lib/Target/ARM/ARMISelLowering.cpp
>   lib/Target/ARM/ARMISelLowering.h
>   lib/Target/ARM64/ARM64ISelLowering.cpp
>   lib/Target/ARM64/ARM64ISelLowering.h
>   lib/Target/X86/X86ISelLowering.cpp
>   lib/Target/X86/X86ISelLowering.h
>   test/CodeGen/AArch64/named-reg-alloc.ll
>   test/CodeGen/AArch64/named-reg-notareg.ll
>   test/CodeGen/AArch64/stackpointer.ll
>   test/CodeGen/ARM/named-reg-alloc.ll
>   test/CodeGen/ARM/named-reg-notareg.ll
>   test/CodeGen/ARM/stackpointer.ll
>   test/CodeGen/ARM64/named-reg-alloc.ll
>   test/CodeGen/ARM64/named-reg-notareg.ll
>   test/CodeGen/ARM64/stackpointer.ll
>   test/CodeGen/X86/named-reg-alloc.ll
>   test/CodeGen/X86/named-reg-notareg.ll
>   test/CodeGen/X86/stackpointer.ll



More information about the llvm-commits mailing list