[LLVMdev] XCore handling unsupported alignment : StackRealignable= false

Robert Lytton robert at xmos.com
Thu Nov 7 05:50:42 PST 2013


Hi

I'm working on the XCore target which does not (nor is there a reason to) handle stack alignment other than 4 byte.
It seems sensible therefore to explicitly set TargetFrameLowering to use:
    TransientStackAlignment = 4,  StackRealignable= false

"If a constant alignment is specified, the value result of the allocation is guaranteed to be aligned to at least that boundary"
Thus should I expect an error if I compiled the following?
    declare void @f1(i32*, i32*)
    define void @f2() nounwind {
    entry:
      %0 = alloca i32, align 1
      %1 = alloca i32, align 16
      call void @f1(i32* %0, i32* %1)
      ret void
    }
The output currently seems to ignore the 'align' and uses 4 byte alignment on the stack.

Thank you.

Robert

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131107/5db46137/attachment.html>


More information about the llvm-dev mailing list