search for: prologepiloginserter

Displaying 20 results from an estimated 111 matches for "prologepiloginserter".

2008 Jun 30
2
[LLVMdev] Recently failing vector tests
...vc/llvm-project?view=rev&revision=52750 > > Rounding up the stack size does not have to be done if there are no > stack > objects, so that would be the preferred way to fix this. See if this > works for you. > It will be something close to this. > > Index: CodeGen/PrologEpilogInserter.cpp > =================================================================== > --- CodeGen/PrologEpilogInserter.cpp (revision 52829) > +++ CodeGen/PrologEpilogInserter.cpp (working copy) > @@ -464,7 +464,8 @@ > // works. > if (!RegInfo->targetHandlesStackFrameRounding() &a...
2008 Jun 27
0
[LLVMdev] Recently failing vector tests
...robably this patch: http://llvm.org/viewvc/llvm-project?view=rev&revision=52750 Rounding up the stack size does not have to be done if there are no stack objects, so that would be the preferred way to fix this. See if this works for you. It will be something close to this. Index: CodeGen/PrologEpilogInserter.cpp =================================================================== --- CodeGen/PrologEpilogInserter.cpp (revision 52829) +++ CodeGen/PrologEpilogInserter.cpp (working copy) @@ -464,7 +464,8 @@ // works. if (!RegInfo->targetHandlesStackFrameRounding() && (FFI->hasC...
2008 Jun 27
2
[LLVMdev] Recently failing vector tests
Running on x86-64 linux: FAIL: test/CodeGen/X86/vec_ins_extract.ll Failed with exit(1) at line 1 while running: llvm-as < test/CodeGen/X86/vec_ins_extract.ll | opt -scalarrepl -instcombine | llc -march=x86 -mcpu=yonah | not grep sub.*esp subl $16, %esp subl $16, %esp subl $16, %esp subl $16, %esp child process exited abnormally FAIL:
2008 Jun 30
0
[LLVMdev] Recently failing vector tests
...mp;revision=52750 >> >> Rounding up the stack size does not have to be done if there are no >> stack >> objects, so that would be the preferred way to fix this. See if this >> works for you. >> It will be something close to this. >> >> Index: CodeGen/PrologEpilogInserter.cpp >> =================================================================== >> --- CodeGen/PrologEpilogInserter.cpp (revision 52829) >> +++ CodeGen/PrologEpilogInserter.cpp (working copy) >> @@ -464,7 +464,8 @@ >> // works. >> if (!RegInfo->targetHandlesS...
2008 Jun 30
1
[LLVMdev] Recently failing vector tests
...;> Rounding up the stack size does not have to be done if there are no > >> stack > >> objects, so that would be the preferred way to fix this. See if this > >> works for you. > >> It will be something close to this. > >> > >> Index: CodeGen/PrologEpilogInserter.cpp > >> =================================================================== > >> --- CodeGen/PrologEpilogInserter.cpp (revision 52829) > >> +++ CodeGen/PrologEpilogInserter.cpp (working copy) > >> @@ -464,7 +464,8 @@ > >> // works. > >> i...
2015 Dec 09
2
Allowing virtual registers after register allocation
Hi all, Virtual ISAs such as WebAssembly and NVPTX use infinite virtual register sets instead of traditional phsyical registers. PrologEpilogInserter is run after register allocation and asserts that all virtuals have been allocated but doesn't otherwise depend on this if scavenging is not needed. We'd like to use the target-independent PEI code for WebAssembly, so we're proposing a TargetRegisterInfo hook for targets to indicate tha...
2004 Aug 27
2
[LLVMdev] PrologEpilogInserter question
Hello, after some time I'm trying to build my code with the current CVS of LLVM, and have a problem. The mentioned file, around line 184, contains: if (FixedSlot == FixedSpillSlots+NumFixedSpillSlots) { // Nope, just spill it anywhere convenient. FrameIdx = FFI->CreateStackObject(RegInfo->getSpillSize(Reg)/8,
2004 Aug 27
0
[LLVMdev] PrologEpilogInserter question
Vladimir Prus wrote: > What's the division by 8 for? Neither 'CreateStackObject' nor > 'getSpillAlignment' documentation say what units the size is, but > everywhere it's in bytes. In my specific case, 'getSplillAlignment' returns > 4, which becomes 0 after division. Oh, it looks that backends now should specify register size in bits. I've updated
2013 Aug 01
2
[LLVMdev] can i avoid saving CSRs for functions with noreturn
...ograms. as we known, shader programs are short and have less function calls. i found that i have to save/restore callee-saved register(CSR) in prolog and epilog. because I can violate ABI from driver(c code) and shader, i plan to append the attribute 'noreturn' to all shader functions. in PrologEpilogInserter.cpp, you can find that it actually honor an attribute 'naked' which avoid saving CSR. however, it also skips generating stack-pointer adjustment, which i need. my patch is as follows. i am targeting RISC processor. can anyone tell me this patch is generic ? diff --git a/lib/CodeGen/PrologE...
2015 Dec 10
2
Allowing virtual registers after register allocation
...13 AM Quentin Colombet <qcolombet at apple.com <mailto:qcolombet at apple.com>> wrote: > > I am tempted to think no, we don’t, but I don’t know the use cases. > What post-RA passes with want to run with virtual regs? > > The immediate one that precipitated this mail was PrologEpilogInserter. > However currently the only other pass we have disabled in WebAssemblyTargetMachine is MachineCopyPropagation. > Several passes (post-RA MachineLICM, StackSlotColoring) already only run if RA runs. > Everything else is running today. Currently that's ShrinkWrap, BranchFolder, ExpandP...
2009 May 13
0
[LLVMdev] MSVC compile error with trunk
...lysis library, fixed some of those errors, but there are more still. Patch is attached for the IVUsers.cpp add to the CMakeLists.txt file. 32> Creating library R:\SDKs\llvm\trunk_VC8_building\lib\Debug\llc.lib and object R:\SDKs\llvm\trunk_VC8_building\lib\Debug\llc.exp 32>LLVMCodeGen.lib(PrologEpilogInserter.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall llvm::PEI::getAnalysisUsage(class llvm::AnalysisUsage &)const " (?getAnalysisUsage at PEI@llvm@@UBEXAAVAnalysisUsage at 2@@Z) 32>LLVMCodeGen.lib(PrologEpilogInserter.obj) : error LNK2019: unresolved e...
2012 Aug 31
1
[LLVMdev] Overriding TargetRegisterInfo::hasReservedSpillSlot
To fix some problems with how condition registers are saved/restored for PowerPC, I need to override TargetRegisterInfo::hasReservedSpillSlot() in PPCRegisterInfo. I've had some difficulties because of the constness of the function, and I'm wondering what the best way to handle this would be. Essentially I need to add a field to PPCRegisterInfo, and modify that field in
2005 Mar 22
2
[LLVMdev] Stack alignment problem
...s previously, but unfortunately only now could try the suggested solution. For reference, here's the original message from me: http://mail.cs.uiuc.edu/pipermail/llvmdev/2004-July/001388.html And here's reply from Chris: http://mail.cs.uiuc.edu/pipermail/llvmdev/2004-July/001390.html The PrologEpilogInserter.cpp file aligns the stack only if MachineFrameInfo::hasCalls returns true, which happens only if the function has "call frame setup instruction" which my backend does not generate. Chris suggested adding explicit MachineFrameInfo::setHasCalls call, which I've tried, but it does not...
2018 Mar 21
2
Run llc with -debug flag
I want to check debug output of "PrologEpilogInserter" machine pass, and I have seen in the code that there are various `DEBUG` macros added. However, there is no `-debug` option present for `llc` like it is for `opt`. Closest option I saw after seeing output of `llc --help-list` is `-verify-debug-info` but that does not give any output. Regard...
2009 Jan 07
2
[LLVMdev] Possible bug in the ARM backend?
Hi Evan, Thanks for your feedback! 2009/1/7 Evan Cheng <evan.cheng at apple.com>: > > On Jan 7, 2009, at 2:48 AM, Roman Levenstein wrote: > > > As you can see, PrologEpilogInserter has inserted at the beginning > of the function some code for manipulation of the frame pointer and > this inserted code uses the LR register. > As far as I understand, ARMRegisterInfo.td should exclude the LR > register from the set of allocatable registers for functions that > re...
2009 May 13
3
[LLVMdev] MSVC compile error with trunk
Does not seem to be a straight error with LLVM itself, but rather the tools, linking issues, here are the errors: Opt: 30> Creating library R:\SDKs\llvm\trunk_VC8_building\lib\Debug\opt.lib and object R:\SDKs\llvm\trunk_VC8_building\lib\Debug\opt.exp 30>LLVMScalarOpts.lib(IndVarSimplify.obj) : error LNK2019: unresolved external symbol "public: bool __thiscall
2009 Jan 07
0
[LLVMdev] Possible bug in the ARM backend?
On Jan 7, 2009, at 2:48 AM, Roman Levenstein wrote: > > > As you can see, PrologEpilogInserter has inserted at the beginning > of the function some code for manipulation of the frame pointer and > this inserted code uses the LR register. > As far as I understand, ARMRegisterInfo.td should exclude the LR > register from the set of allocatable registers for functions that > re...
2015 Dec 10
2
Allowing virtual registers after register allocation
...> Subject: [llvm-dev] Allowing virtual registers after register >>> allocation >>> >>> >>> Hi all, >>> Virtual ISAs such as WebAssembly and NVPTX use infinite virtual >>> register sets instead of traditional phsyical registers. >>> PrologEpilogInserter is run after register allocation and asserts >>> that all virtuals have been allocated but doesn't otherwise depend >>> on this if scavenging is not needed. We'd like to use the >>> target-independent PEI code for WebAssembly, so we're proposing a >>>...
2009 Apr 09
2
[LLVMdev] Calling Conventions, function prologs and epilogs.
...conventions > Partly tablegen / partly C++ code. Look for > CodeGen/SelectionDAG/CallingConvLower.cpp, > Target/X86/X86CallingConv.td and around. Usually this code is run > during different phases of sdag lowering. > > 2. Prologue / epilogue. > Pure C++ code. Look into CodeGen/PrologEpilogInserter.cpp (quite > obviously, right?) with bunch of target-specialized hooks, for > example, ones located in Target/X86/X86RegisterInfo.cpp. Information > about this is needed on different stages, some - even before regalloc, > some - in the late end of the codegen. > > Hope this will h...
2012 Oct 04
2
[LLVMdev] Interprocedural Register Allocation
Hi Jakob, On Thu, Oct 4, 2012 at 1:31 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote: > > On Oct 4, 2012, at 2:47 AM, Madhusudan C.S <madhusudancs at gmail.com> wrote: > > However, I was reading the DeveloperPolicy page and the policy for making > major > changes asks the developers to discuss the work here before proceeding. > So, I am > writing this