Displaying 10 results from an estimated 10 matches for "dynamic_stackalloc".
2011 Jun 18
1
[LLVMdev] Custom lowering DYNAMIC_STACKALLOC
Hi!
> Is SEG_ALLOCA marked as writing to RAX?
It has RAX in its Defs list.
> Is this code in github? It has been a long time since I looked at
> selection dags, but I could take a look.
It is up at https://github.com/sanjoy/llvm/tree/segmented-stacks
> btw, have you got -view-isel-dags (and the other view dags options)
> working? They are really handy for debugging this stuff.
2009 Jan 12
1
[LLVMdev] issues with my DYNAMIC_STACKALLOC impl
I have a very simple kernel that exposes a bug in the backend I am
working on and I cannot figure out how to fix the problem. I've narrowed
down the issue to be with dynamic stack allocation. The problem I am
having is that if I declare a variable inside of the loop, the code that
my backend generates produces incorrect results; however, if I move this
declaration outside of the loop the
2011 Jun 17
0
[LLVMdev] Custom lowering DYNAMIC_STACKALLOC
...to a function that allocates the memory
> from the heap [1]. The stack pointer is not modified in the second case.
>
> I am trying to implement this by:
>
> a. Custom lowering DYNAMIC_ALLOCA in case segmented stacks are enabled.
>
> b. Creating a X86ISD::SEG_ALLOCA node in LowerDYNAMIC_STACKALLOC if
> segmented stacks are enabled. (Right now all LowerDYNAMIC_STACKALLOC on
> x86 does is check for Windows and lower the call to X86ISD::WIN_ALLOCA).
>
> c. Having EmitLoweredSegAlloca do the checks, (calling the external
> function if needed) and, in both the cases, write the poin...
2011 Jun 17
3
[LLVMdev] Custom lowering DYNAMIC_STACKALLOC
...g
the RSP); otherwise calling into a function that allocates the memory
from the heap [1]. The stack pointer is not modified in the second case.
I am trying to implement this by:
a. Custom lowering DYNAMIC_ALLOCA in case segmented stacks are enabled.
b. Creating a X86ISD::SEG_ALLOCA node in LowerDYNAMIC_STACKALLOC if
segmented stacks are enabled. (Right now all LowerDYNAMIC_STACKALLOC on
x86 does is check for Windows and lower the call to X86ISD::WIN_ALLOCA).
c. Having EmitLoweredSegAlloca do the checks, (calling the external
function if needed) and, in both the cases, write the pointer to the
allocated mem...
2012 Jan 29
3
[LLVMdev] nosegmentedstacks function attribute
Hi all!
Now that LLVM has support for a larger attribute set, I think it is a
good idea to add one that stops LLVM from generating segmented stacked
version of a function. While implementing it, I ran into an issue:
Currently, with segmented stacks enabled, LLVM sets the action for
DYNAMIC_STACKALLOC to Custom, and lowers it into native X86 code.
However, if a function has the nosegmentedstack attribute,
DYNAMIC_STACKALLOC will need to be expanded. Is there some idiomatic
way to choose whether a pseudo op is to be lowered or expanded based
on some function attribute?
Thanks!
--
Sanjoy Das
ht...
2010 Sep 25
2
[LLVMdev] Strange exception in SelectionDAGBuilder
...TypeMap = cast<Constant>(I.getArgOperand(1));
* FrameIndexSDNode *FI =
cast<FrameIndexSDNode>(getValue(Alloca).getNode());*
GFI->addStackRoot(FI->getIndex(), TypeMap);
}
*return* 0;
Specifically, the cast from SDNode to FrameIndexSDNode fails because the
node type is DYNAMIC_STACKALLOC, while this code is expecting the node type
to be "FrameIndex" or "TargetFrameIndex". (I don't know what either of these
mean, I'm just telling you what the debugger is telling me.)
Here's what the IR looks like:
%gc_root = alloca %tart.collections.KeyError*, ali...
2012 Feb 04
0
[LLVMdev] nosegmentedstacks function attribute
...mented stacked
> version of a function.
why? If some functions have segmented stacks, don't all functions called
by it need segmented stacks too?
Ciao, Duncan.
While implementing it, I ran into an issue:
>
> Currently, with segmented stacks enabled, LLVM sets the action for
> DYNAMIC_STACKALLOC to Custom, and lowers it into native X86 code.
> However, if a function has the nosegmentedstack attribute,
> DYNAMIC_STACKALLOC will need to be expanded. Is there some idiomatic
> way to choose whether a pseudo op is to be lowered or expanded based
> on some function attribute?
>
&...
2010 Sep 26
0
[LLVMdev] Strange exception in SelectionDAGBuilder
...etArgOperand(1));
> * FrameIndexSDNode *FI = cast<FrameIndexSDNode>(getValue(Alloca).getNode());* GFI->addStackRoot(FI->getIndex(), TypeMap);
> }
> *return* 0;
>
> Specifically, the cast from SDNode to FrameIndexSDNode fails because the
> node type is DYNAMIC_STACKALLOC, while this code is expecting the node type
> to be "FrameIndex" or "TargetFrameIndex". (I don't know what either of these
> mean, I'm just telling you what the debugger is telling me.)
>
> Here's what the IR looks like:
>
> %gc_root = alloca %tar...
2016 May 12
4
[RFC] New diagnostic handler for llc
...in between. Is there a better option?
Thanks,
Diana
[1] http://reviews.llvm.org/D20156
[2] http://reviews.llvm.org/D20202 - Note that this isn't really a
review yet, I just thought it looks better there than as a plain
attachment.
[3] LLVM :: CodeGen/AMDGPU/call.ll
LLVM :: CodeGen/AMDGPU/dynamic_stackalloc.ll
LLVM :: CodeGen/AMDGPU/no-hsa-graphics-shaders.ll
LLVM :: CodeGen/AMDGPU/private-memory-broken.ll
LLVM :: CodeGen/AMDGPU/promote-alloca-bitcast-function.ll
LLVM :: CodeGen/ARM/2012-09-25-InlineAsmScalarToVectorConv2.ll
LLVM :: CodeGen/BPF/many_args1.ll
LLVM :: CodeGen/BPF...
2016 Apr 27
2
[Sparc] builtin setjmp / longjmp - need help to get past last problem
...case ISD::EH_SJLJ_SETJMP: return LowerEH_SJLJ_SETJMP(Op, DAG, *this);
+ case ISD::EH_SJLJ_LONGJMP: return LowerEH_SJLJ_LONGJMP(Op, DAG, *this);
case ISD::VASTART: return LowerVASTART(Op, DAG, *this);
case ISD::VAARG: return LowerVAARG(Op, DAG);
case ISD::DYNAMIC_STACKALLOC: return LowerDYNAMIC_STACKALLOC(Op, DAG,
***************
*** 3052,3057 ****
--- 3073,3085 ----
case SP::SELECT_CC_DFP_FCC:
case SP::SELECT_CC_QFP_FCC:
return expandSelectCC(MI, BB, SP::FBCOND);
+ case SP::EH_SJLJ_SETJMP32ri:
+ case SP::EH_SJLJ_SETJMP32rr:
+ return emitEHSjLjSe...