search for: pei

Displaying 20 results from an estimated 205 matches for "pei".

Did you mean: pci
2009 May 13
0
[LLVMdev] MSVC compile error with trunk
...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 external symbol "private: void __thiscall llvm::PEI::clearAllSets(void)" (?clearAllSets...
2006 Oct 06
2
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
In ARM the stack should be 8 bytes aligned during function calls. A function that has at least one function call then has a stack size of 8 bytes. PEI::calculateFrameObjectOffsets corretly computes this correctly. The problem is that the alignment is computed before adding space for the call frame size. This is done in emitProlog. Currently the ARM backend has a bug in that it doesn't align the new stack. Fixing this bug is simple, but it i...
2006 Oct 08
1
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
> That is irrelevant. The PEI code needs to know how much stack space is > required for each call to allocate and align the stack frame properly. It > gets this info from the ADJCALLSTACK instructions. I see. Looking at PEI::calculateCalleeSavedRegisters shows that the ADJCALLSTACK instructions is used to set up MaxCallF...
2006 Oct 07
2
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
...d Size = HasFP ? GPRSize + GPRSize : GPRSize; NumBytes = (NumBytes+Size+Align-1)/Align*Align; ----------------------------------------------------------------------------------- Numbytes was correctly aligned before adding getMaxCallFrameSize, but it must be aligned again afterwards. > If the PEI stuff knows the right offsets, it should do the alignment for > you. It does. The problem is that, when a second alignment must be made, some stack may be wasted. > -Chris Thanks, Rafael
2006 Oct 07
0
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
...t doesn't look like >> the ARM backend does this, so this is probably the problem. > The ARM backend currently doesn't use a frame pointer. It uses the > same technique of the PPC backend to avoid add/subs around calls. In > the PPC backend we have: That is irrelevant. The PEI code needs to know how much stack space is required for each call to allocate and align the stack frame properly. It gets this info from the ADJCALLSTACK instructions. Further, you *do* need to have a frame pointer if the function contains any dynamic allocas. In that case, the SP isn't f...
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
2006 Oct 06
0
[LLVMdev] should PEI::calculateFrameObjectOffsets align the stack?
On Fri, 6 Oct 2006, [UTF-8] Rafael Esp?ndola wrote: > In ARM the stack should be 8 bytes aligned during function calls. A > function that has at least one function call then has a stack size of > 8 bytes. PEI::calculateFrameObjectOffsets corretly computes this > correctly. > > The problem is that the alignment is computed before adding space for > the call frame size. This is done in emitProlog. Currently the ARM > backend has a bug in that it doesn't align the new stack. This sounds...
2013 Nov 25
0
Re: [edk2] [PATCH RFC v2 7/7] OvmfPkg: introduce XenMemMapInitialization
...prevent OVMF from > playing with PCI devices. > > Signed-off-by: Wei Liu <wei.liu2@citrix.com> > --- > OvmfPkg/OvmfPkgIa32.dsc | 5 ++- > OvmfPkg/OvmfPkgIa32X64.dsc | 5 ++- > OvmfPkg/OvmfPkgX64.dsc | 5 ++- > OvmfPkg/PlatformPei/Platform.c | 81 ++++++++++++++++++++++++++++++++++- > OvmfPkg/PlatformPei/PlatformPei.inf | 1 + > 5 files changed, 89 insertions(+), 8 deletions(-) > > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index 760bd41..4b465fe 100644 > --- a/OvmfPkg/OvmfPk...
2013 May 31
0
[LLVMdev] Customizing PEI::calculateFrameObjectOffsets()
I would like a customized version of the function PEI::calculateFrameObjectOffsets() in PrologEpilogInserter.cpp. What is the clean way to do this?
2017 Sep 27
0
PEI::replaceFrameIndices() endless loop
Hi, My backend (based on version 3.8) was hanging in an infinite loop in the Prolog/Epilog Inserter. After investigation, it appears that it was looping in the first level loop of the PEI::replaceFrameIndices() method: processing the second instruction of the block again and again... This loop never exits because the iterator is 'skipped backward' under some condition in the middle of the loop (see yellow highlighted line). I understand the rationale explained in the first c...
2017 Jun 28
2
About the concept of "materialization"
Bruce, Thanks for the explanation. But based on my inspection on the source code, it seems that materialization is related to lazily reading LLVM objects (Module, Function, etc.) into the memory from bitcode files, which is possibly useful during LTO. I’m not sure though. Pei From: <bruce.hoult at gmail.com> on behalf of Bruce Hoult <bruce at hoult.org> Date: Wednesday, June 28, 2017 at 4:50 AM To: Pei Wang <pxw172 at ist.psu.edu> Cc: "llvm-dev at lists.llvm.org" <llvm-dev at lists.llvm.org> Subject: Re: [llvm-dev] About the concept of...
2017 Jun 26
2
About the concept of "materialization"
...rally in compilation), but I cannot find any document that is comprehensive enough to help me understand what exactly materialization is for. Could someone offer some pointers to useful materials introducing this concept or just explain it to me if it is straightforward enough? Thanks! Sincerely, Pei Wang -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170626/63bb6ece/attachment.html>
2011 Jul 19
1
list.files recursively to find files in a specific way...
...uld be only 100 files in allResults. b) allResults <- list.files(path = routeStr, pattern = "B/file2.txt", all.files = TRUE, full.names = TRUE, recursive = TRUE); still wrong. It give me nothing, namely, 0 file(s) in allResults. Can anybody help to solve this problem? Best Regards Pei -- Pei JIA Email: jp4work@gmail.com cell: +1 604-362-5816 Welcome to Vision Open http://www.visionopen.com [[alternative HTML version deleted]]
2005 Feb 11
3
OCFS file system used as archived redo destination is corrupted
...36 Feb 10 23:00 /export/u10/oraarch/AUCP/rdo_1_21810.arc.gz 1457510912 -rw-r----- 1 oracle dba 36 Feb 10 23:00 /export/u10/oraarch/AUCP/rdo_1_21810.arc.gz These two same files have the same inode also. But the size is way too small. yeah, /export/u10 is pretty hosed... Pei -----Original Message----- From: Pei Ku Sent: Thu 2/10/2005 11:16 PM To: IT Cc: ADS Subject: possible OCFS /export/u10/ corruption on dbprd* Ulf, AUCP had problems creating archive file "/export/u10/oraarch/AUCP/rdo_1_21810.arc". After a few tries, it appeared that it was ab...
2010 Aug 27
0
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
...ll file reproducing it and I have to debug myself. The function causing the problem is stub created in JIT::runFunction: Function *Stub = Function::Create(STy, Function::InternalLinkage, "" ... Here is the log of machine instructions before and after emitEpilogue for this function: * PEI::insertPrologEpilogCode: === >> before emitEpilogue - insn: PUSH64r %RBP<kill>, %RSP<imp-def>, %RSP<imp-use> - insn: PROLOG_LABEL <MCSym=.Ltmp2> - insn: %RBP<def> = MOV64rr %RSP - insn: PROLOG_LABEL <MCSym=.Ltmp3> - insn: %RDI<def> = MO...
2015 Dec 09
2
Allowing virtual registers after register allocation
...PTX 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 that they use virtual registers in this way (currently called usesVirtualRegstersAfterRegAlloc(), other suggestions welcome). The code is athttp://reviews.llvm.org/D15394 and an example of the intended us...
2012 Oct 31
0
[LLVMdev] Interprocedural Register Allocation
...t :) There is so much to know! I think I have reached a point where I have some sort of basic understanding of what needs to be done, but I need some help from here on. So here is the summary of what I know and for what I need more help. I see that lib/CodeGen/Passes.cpp adds PrologEpilogInserter (PEI henceforth) pass after the RegAlloc pass. Do I understand correctly that LLVM first performs a given pass on all the functions before moving to the next pass? In order to proceed further with this analysis and to reduce the number of email exchanges back and forth, I will assume that my understandi...
2009 Mar 12
4
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...getBasicBlockName(MBB) << "\n"; + } + // DEBUG Code like this should also be inside ifndef NDEBUG. 3. It can still use more refactoring. :-) 4. clearSets(). It's not clear what sets it's clearing. Perhaps name it something like clearShrinkWrapData()? 5 +void PEI::placeSpillsAndRestores(MachineFunction &Fn) { + + DOUT << "Computing SAVE, RESTORE sets\n"; + + // If not shrink wrapping, all spills go into entry block, + // all restores in return blocks. + if (! ShrinkWrapping) { + // Do spills in the entry block. The shrink wrap ve...
2010 Aug 26
2
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
On Aug 26, 2010, at 12:59 PMPDT, Eric Christopher wrote: > On Aug 26, 2010, at 12:25 PM, Yuri wrote: >> On 08/26/2010 11:53, Eric Christopher wrote: >>> Could you get it to print out the instruction when it happens? >>> (just change the line above the error message to print it out to >>> errs()). >>> >>> It basically means that a pseudo
2010 Aug 27
2
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
...g myself. > > The function causing the problem is stub created in > JIT::runFunction: Function *Stub = Function::Create(STy, > Function::InternalLinkage, "" ... > > Here is the log of machine instructions before and after > emitEpilogue for this function: > * PEI::insertPrologEpilogCode: === >> before emitEpilogue > - insn: PUSH64r %RBP<kill>, %RSP<imp-def>, %RSP<imp-use> > - insn: PROLOG_LABEL <MCSym=.Ltmp2> > - insn: %RBP<def> = MOV64rr %RSP > - insn: PROLOG_LABEL <MCSym=.Ltmp3> > - insn: %RDI&...