search for: getsymbolname

Displaying 20 results from an estimated 21 matches for "getsymbolname".

2009 Jan 28
2
[LLVMdev] AsmPrinter question
...there some other way to find the libcalls that are made in module? Regards Sachin ________________________________ From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Evan Cheng See MachineOperand.h. If a MachineOperand represents an external symbol, getSymbolName() returns a string. Evan On Jan 27, 2009, at 8:26 PM, Sachin.Punyani at microchip.com wrote: Hi All, I need to print some extra information about libcall names in assembly. Libcall names are managed as ExternalSymbols in LLVM. How do I access these ExternalSymbols from Asmprinter?...
2009 Jan 28
0
[LLVMdev] AsmPrinter question
See MachineOperand.h. If a MachineOperand represents an external symbol, getSymbolName() returns a string. Evan On Jan 27, 2009, at 8:26 PM, Sachin.Punyani at microchip.com wrote: > Hi All, > > I need to print some extra information about libcall names in > assembly. Libcall names are managed as ExternalSymbols in LLVM. > > How do I access these ExternalSymbol...
2009 Jan 28
2
[LLVMdev] AsmPrinter question
Hi All, I need to print some extra information about libcall names in assembly. Libcall names are managed as ExternalSymbols in LLVM. How do I access these ExternalSymbols from Asmprinter? AsmPrinter uses class Module that lists all the global variables (including extern variables) and functions (include extern functions). But it does not list any information about the libcalls
2012 May 14
2
[LLVMdev] MCJIT
...Then I hda to disable the following code in lib/Target/X86/X86CodeEmitter.cpp: > case TargetOpcode::INLINEASM: > // We allow inline assembler nodes with empty bodies - they can > // implicitly define registers, which is ok for JIT. > //if (MI.getOperand(0).getSymbolName()[0]) > // report_fatal_error("in X86CodeEmitter.cpp JIT does not support inline asm!"); > break; otherwise, when it sees a non-zero char in the inline asm (say load) and report failure and die. Also, I also had to link in ${LLVM_TARGETS_TO_BUILD} into lli for it...
2012 May 14
2
[LLVMdev] MCJIT
...wing code in lib/Target/X86/X86CodeEmitter.cpp: >>> case TargetOpcode::INLINEASM: >>> // We allow inline assembler nodes with empty bodies - they can >>> // implicitly define registers, which is ok for JIT. >>> //if (MI.getOperand(0).getSymbolName()[0]) >>> // report_fatal_error("in X86CodeEmitter.cpp JIT does not support inline asm!"); >>> break; >> >> otherwise, when it sees a non-zero char in the inline asm (say load) and report failure and die. > > If you're hitting that...
2012 May 14
0
[LLVMdev] MCJIT
...to disable the following code in lib/Target/X86/X86CodeEmitter.cpp: >> case TargetOpcode::INLINEASM: >> // We allow inline assembler nodes with empty bodies - they can >> // implicitly define registers, which is ok for JIT. >> //if (MI.getOperand(0).getSymbolName()[0]) >> // report_fatal_error("in X86CodeEmitter.cpp JIT does not support inline asm!"); >> break; > > otherwise, when it sees a non-zero char in the inline asm (say load) and report failure and die. If you're hitting that code, you're running t...
2009 Jan 29
0
[LLVMdev] AsmPrinter question
...ome other > way to find the libcalls that are made in module? > > Regards > Sachin > > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev- > bounces at cs.uiuc.edu] On Behalf Of Evan Cheng > See MachineOperand.h. If a MachineOperand represents an external > symbol, getSymbolName() returns a string. > > Evan > > On Jan 27, 2009, at 8:26 PM, Sachin.Punyani at microchip.com wrote: > Hi All, > > I need to print some extra information about libcall names in > assembly. Libcall names are managed as ExternalSymbols in LLVM. > > How do I access the...
2018 Jun 07
2
[lld] ObjFile::createRegular is oblivious of PendingComdat
...h fixes the crash: diff --git a/COFF/InputFiles.cpp b/COFF/InputFiles.cpp index 9e2345b0a..f47d612df 100644 --- a/COFF/InputFiles.cpp +++ b/COFF/InputFiles.cpp @@ -229,11 +229,11 @@ Symbol *ObjFile::createRegular(COFFSymbolRef Sym) { if (Sym.isExternal()) { StringRef Name; COFFObj->getSymbolName(Sym, Name); - if (SC) + if (SC && SC != PendingComdat) return Symtab->addRegular(this, Name, Sym.getGeneric(), SC); return Symtab->addUndefined(Name, this, false); } - if (SC) + if (SC && SC != PendingComdat) return make<DefinedRegular>(this,...
2008 Dec 10
0
[LLVMdev] ARM Debug support patch
...dex: lib/Target/ARM/ARMInstrInfo.cpp =================================================================== --- lib/Target/ARM/ARMInstrInfo.cpp (revision 14) +++ lib/Target/ARM/ARMInstrInfo.cpp (working copy) @@ -904,7 +904,8 @@ return TAI->getInlineAsmLength(MI- >getOperand(0).getSymbolName()); if (MI->isLabel()) return 0; - if (MI->getOpcode() == TargetInstrInfo::IMPLICIT_DEF) + if (MI->getOpcode() == TargetInstrInfo::IMPLICIT_DEF || + MI->getOpcode() == TargetInstrInfo::DECLARE) return 0; Same for ARM::DBG_LABEL. 3. + case IS...
2018 Jun 07
2
[lld] ObjFile::createRegular is oblivious of PendingComdat
...utFiles.cpp >> index 9e2345b0a..f47d612df 100644 >> --- a/COFF/InputFiles.cpp >> +++ b/COFF/InputFiles.cpp >> @@ -229,11 +229,11 @@ Symbol *ObjFile::createRegular(COFFSymbolRef Sym) { >> if (Sym.isExternal()) { >> StringRef Name; >> COFFObj->getSymbolName(Sym, Name); >> - if (SC) >> + if (SC && SC != PendingComdat) >> return Symtab->addRegular(this, Name, Sym.getGeneric(), SC); >> return Symtab->addUndefined(Name, this, false); >> } >> - if (SC) >> + if (SC && SC...
2012 May 14
0
[LLVMdev] MCJIT
...lib/Target/X86/X86CodeEmitter.cpp: >>>> case TargetOpcode::INLINEASM: >>>> // We allow inline assembler nodes with empty bodies - they can >>>> // implicitly define registers, which is ok for JIT. >>>> //if (MI.getOperand(0).getSymbolName()[0]) >>>> // report_fatal_error("in X86CodeEmitter.cpp JIT does not support inline asm!"); >>>> break; >>> >>> otherwise, when it sees a non-zero char in the inline asm (say load) and report failure and die. >> >> If...
2009 Jan 30
1
[LLVMdev] AsmPrinter question
...alls that are made in module? > > > > Regards > > Sachin > > > > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev- > > bounces at cs.uiuc.edu] On Behalf Of Evan Cheng > > See MachineOperand.h. If a MachineOperand represents an external > > symbol, getSymbolName() returns a string. > > > > Evan > > > > On Jan 27, 2009, at 8:26 PM, Sachin.Punyani at microchip.com wrote: > > Hi All, > > > > I need to print some extra information about libcall names in > > assembly. Libcall names are managed as ExternalSymbols...
2008 Apr 16
0
[LLVMdev] Being able to know the jitted code-size before emitting
...; -/// > -static unsigned getNumBytesForInstruction(MachineInstr *MI) { > - switch (MI->getOpcode()) { > - case PPC::INLINEASM: { // Inline Asm: Variable size. > - MachineFunction *MF = MI->getParent()->getParent(); > - const char *AsmStr = MI->getOperand(0).getSymbolName(); > - return MF->getTarget().getTargetAsmInfo()- > >getInlineAsmLength(AsmStr); > - } > - case PPC::LABEL: { > - return 0; > - } > - default: > - return 4; // PowerPC instructions are all 4 bytes > - } > -} > - > - > bool PPCBSel::runOnMa...
2008 Apr 15
4
[LLVMdev] Being able to know the jitted code-size before emitting
OK, here's a new patch that adds the infrastructure and the implementation for X86, ARM and PPC of GetInstSize and GetFunctionSize. Both functions are virtual functions defined in TargetInstrInfo.h. For X86, I moved some commodity functions from X86CodeEmitter to X86InstrInfo. What do you think? Nicolas Evan Cheng wrote: > > I think both of these belong to TargetInstrInfo. And
2008 Dec 10
6
[LLVMdev] ARM Debug support patch
Hi all, FlexyCore, the company I am working for, use LLVM to generate binary for ARM platform. We are very fulfilled with LLVM, and FlexyCore will be pleased to contribute on this software. We need debug support in ARM binary, but, in LLVM 2.4, this support is not activated for ARM backend. Consequently, I made small modifications in order to activate it (see the patch in attach file). My
2012 May 14
0
[LLVMdev] MCJIT
Inline asm should work in the MCJIT just as well as it does in statically compiled code. It's the same code path for both. The error you're seeing indicates that something isn't configured in a way the compiler understands. -Jim On May 12, 2012, at 10:48 AM, Ashok Nalkund wrote: > Can you also tell about inline-asm support in MCJIT for x86? I've been > trying to get it to
2016 Jun 20
2
[GSoC 2016] [Weekly Status] Interprocedural Register Allocation
...RegMask(MI, &(*RegMask)[0]); Changed = true; }; MachineOperand &Operand = MI.getOperand(0); if (Operand.isGlobal()) UpdateRegMask(cast<Function>(Operand.getGlobal())); else if (Operand.isSymbol()) UpdateRegMask(M->getFunction(Operand.getSymbolName())); else if(Operand.isReg()){ // changes starts here unsigned VReg = Operand.getReg(); MachineBasicBlock::iterator CallInstIterator(&MI); MachineBasicBlock *MBB = MI.getParent(); while(CallInstIterator != MBB->begin() && !CallInstIterator->de...
2012 Dec 13
2
[LLVMdev] Fwd: error while linking modules with exception handling demo code
...NativeExceptionHandlingModule( buildParameters.getLLVMContext() ); //, buildParameters.getModuleDefinition() ); HAssertMsg( 0 != excptModule , " null exception module "); HDebugLogLevel("inside BuildIRExpression:, " << dynSym.getSymbolName() << " module resolved? " << excptModule, 0); Exceptions::InvokeFunctionResult invokeResult = Exceptions::createCatchWrappedInvokeFunction(*module, *excptModule, buildParameters.builder, *buildParamet...
2012 May 12
2
[LLVMdev] MCJIT
Can you also tell about inline-asm support in MCJIT for x86? I've been trying to get it to work (my previous post: "JIT support for inline asm on Linux"), I get an error: > LLVM ERROR: Inline asm not supported by this streamer because we don't > have an asm parser for this target thanks, ashok On 5/11/2012 12:44 PM, Kaylor, Andrew wrote: > Hi Braxton, > > I
2011 Oct 18
3
[LLVMdev] non-POD type with llvm-objdump
I'm so close to having LLVM build on PowerPC. If there's any PowerPC experts, help? Lines like this: outs() << "[" << format("%2d", i) << "]" << "(sec " << format("%2d", int16_t(symbol->SectionNumber)) << ")" << "(fl 0x" <<