Displaying 7 results from an estimated 7 matches for "fnstub".
Did you mean:
fnstubs
2014 Mar 21
3
[LLVMdev] lli crashes when running cpp programs
...(GlobalAlias *GA = dyn_cast<GlobalAlias>(V)) {
+ Function *F =
const_cast<Function*>(dyn_cast<Function>(GA->resolveAliasedGlobal(false)));
+ if (F == NULL) {
+ return TheJIT->getPointerToGlobal(GA->resolveAliasedGlobal(false));
+ } else {
+ void *FnStub = Resolver.getLazyFunctionStubIfAvailable(F);
+ if (FnStub)
+ return FnStub;
+ else
+ return Resolver.getLazyFunctionStub(F);
+ }
+ }
+
// If we have already compiled the function, return a pointer to its body.
Function *F = cast<Function>(V);
Attached is the...
2005 Jul 05
0
[LLVMdev] How do you determine whether a function is definedexternally to a module ?
...ons that are present in the LLVM program, and
external functions used by the code generator. I suspect that you are
hitting cases where the later are not getting printed.
If you look at the PowerPCAsmPrinter.cpp it has to do very similar things
to what you are doing. Note that it uses a "FnStubs" set to collect
references to external functions as they are emitted. Once it builds this
set, it emits a stub for each external function at the bottom of the file.
I think you should do something similar to this.
-Chris
--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/
2005 Jul 03
4
[LLVMdev] How do you determine whether a function is definedexternally to a module ?
> Something like this should work:
>
> for (Module::iterator F = M->begin(), E = M->end(); F != E; ++F)
> if (F->isExternal())
> ... Function* F is external! ...
This is not working. For some reason there is a BasicBlock present on
undefined functions !
I am compiling the examples from llvm/test/feature, about 28 out of 34
assemble fine. Just cannot seem to get
2009 Jun 03
5
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
...olValue *MCPV) {
+ // NOTE: A lot of this code is replicated in ARMConstantPoolValue::print
printDataDirective(MCPV->getType());
ARMConstantPoolValue *ACPV = static_cast<ARMConstantPoolValue*>(MCPV);
@@ -155,8 +162,13 @@
} else if (ACPV->isStub()) {
FnStubs.insert(Name);
printSuffixedName(Name, "$stub");
- } else
+ } else if (ACPV->isDataSegmentJumpTable()) {
+ // requires synchronization with code (grep for "$jumptable$")
+ O << Name << "$jumptable$" << ACPV->getL...
2009 Jun 11
0
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
On Jun 8, 2009, at 2:42 PM, robert muth wrote:
> On Sun, Jun 7, 2009 at 11:53 PM, Evan Cheng <evan.cheng at apple.com>
> wrote:
>>
>> On Jun 7, 2009, at 6:59 AM, robert muth wrote:
>>
>>> On Sat, Jun 6, 2009 at 4:51 PM, Evan Cheng<evan.cheng at apple.com>
>>> wrote:
>>>> +cl::opt<std::string>
2009 Jun 08
2
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
On Sun, Jun 7, 2009 at 11:53 PM, Evan Cheng <evan.cheng at apple.com> wrote:
>
> On Jun 7, 2009, at 6:59 AM, robert muth wrote:
>
>> On Sat, Jun 6, 2009 at 4:51 PM, Evan Cheng<evan.cheng at apple.com>
>> wrote:
>>> +cl::opt<std::string> FlagJumpTableSection("jumptable-section",
>>> +
2009 Jun 24
2
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
...olValue *MCPV) {
+ // NOTE: A lot of this code is replicated in ARMConstantPoolValue::print
printDataDirective(MCPV->getType());
ARMConstantPoolValue *ACPV = static_cast<ARMConstantPoolValue*>(MCPV);
@@ -157,8 +162,13 @@
} else if (ACPV->isStub()) {
FnStubs.insert(Name);
printSuffixedName(Name, "$stub");
- } else
+ } else if (ACPV->isDataSegmentJumpTable()) {
+ // requires synchronization with code (grep for "$jumptable$")
+ O << Name << "$jumptable$" << ACPV->getL...