Displaying 20 results from an estimated 42 matches for "non_lazy_ptr".
2010 Oct 10
1
[LLVMdev] More questions about non_lazy_ptr
I have a problem where my LLVM-generated code works on Linux but not on OS
X, and the problem involves non_lazy_ptr.
I have an external symbol named "@gc_safepoint_map", which is generated by
the linker's GCStrategy plugin. Since it is not generated until link time, I
declared it as an external symbol so that the modules that use it can
compile without error.
Here's what the generated IR look...
2010 Aug 24
1
[LLVMdev] non_lazy_ptr question
...;ve got a case where I am attempting to pass the address of a static
symbol from a module written in Tart (the language I am working on), to a
module written in C (which is part of Tart's runtime library). This works
fine on Linux, but fails on OS X because the address being passed is the
"non_lazy_ptr" symbol, not the symbol itself.
In my .bc file, I've got code that looks like this:
@gc_safepoint_map = external global [0 x i32] ; <[0 x i32]*> [#uses=1]
%init = invoke {} @GC_init(i32* getelementptr inbounds ([0 x i32]*
@gc_safepoint_map, i32 0, i32 0))
to labe...
2009 Jun 21
4
[LLVMdev] proposal to simplify isel/asmprinter interaction with globals
...simplifications to the
asmprinters. One thing that is driving me nuts is that the
asmprinters currently "reverse engineer" a lot of information when
printing an operand that isel had when it created it.
I'm specifically talking about all the suffixes generated by isel,
like $non_lazy_ptr, @TLSGD, @NTPOFF, (%rip) etc. These are all
"magic" things that the assembler uses (for example, it generates a
reference to a global's GOT entry instead of to the global itself).
The thing that is really frustrating to me is that the asmprinters
need to reverse engineer what...
2011 Oct 18
1
[LLVMdev] Building LLVM on PPC
...darwin. They are likely not your fault.
I'm trying to get a PPC build bot setup (arxan_bellini), and so far it's dying here:
Linking CXX shared library ../../lib/libgtest.dylib
Undefined symbols:
"vtable for llvm::raw_ostream", referenced from:
__ZTVN4llvm11raw_ostreamE$non_lazy_ptr in gtest.cc.o
__ZTVN4llvm11raw_ostreamE$non_lazy_ptr in gtest-death-test.cc.o
__ZTVN4llvm11raw_ostreamE$non_lazy_ptr in gtest-port.cc.o
__ZTVN4llvm11raw_ostreamE$non_lazy_ptr in gtest-typed-test.cc.o
"llvm::raw_os_ostream::~raw_os_ostream()", referenced from:
llv...
2009 Jun 16
0
[LLVMdev] PIC documentation ?
...ts on x86-32 with -fomit-frame-pointer (which is not the default):
result of -fPIC (equivalent to -fpic on Darwin):
_foo:
call L3
"L00000000001$pb":
popl %ecx << gets value of PC into %ecx
(other registers can be used)
movl L_x$non_lazy_ptr-"L00000000001$pb"(%ecx), %eax <<
gets &x; PC relative
movl (%eax), %eax << gets x; indirect
ret
.comm _x,4,2
.section __IMPORT,__pointers,non_lazy_symbol_pointers
L_x$non_lazy_ptr:
.indirect_symbol _x << magic cook...
2008 May 17
1
[LLVMdev] Assembling the output of llc
...more specific question about compiling native code: When I use
llc to generate a .s file, and then I try to assemble it using 'as', I
get tons of errors - it appears to be choking on lines like the following:
movl
L"_tart.core.Iterable<tart.core.String>:type"$non_lazy_ptr, %eax
The error I get is:
out/Debug/test/tart/FileStreamTest.out.s:95:junk
`"_tart.core.Iterable<tart.core.String>:type"$non_lazy_ptr' after expression
(plus a few hundred more like it.)
-- Talin
2008 May 19
1
[LLVMdev] Assembling the output of llc
...> of
> things I really dislike about C++ is trying to interpret mangled names
> in a stack trace.) I'm counting on LLVM to be able to quote/escape
> everything as needed.
It seems the quotes aren't being put in the right places when
constructing
"$stub" and "$non_lazy_ptr" names, they should look like this:
"L(complicated<expression>)$non_lazy_ptr"
with the quotes outside. This hasn't come up before because the only
places quotes
occur now is in ObjectiveC names which don't use stubs or non-lazy
pointers.
I guess it ought to work,...
2011 May 06
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...llvm::TargetLoweringObjectFileMachOin
libLLVMCodeGen.a(TargetLoweringObjectFileImpl.cpp.o)
typeinfo for llvm::TargetLoweringObjectFileCOFFin
libLLVMCodeGen.a(TargetLoweringObjectFileImpl.cpp.o)
"llvm::GuaranteedTailCallOpt", referenced from:
__ZN4llvm21GuaranteedTailCallOptE$non_lazy_ptr in
libLLVMCodeGen.a(Analysis.cpp.o)
"llvm::TargetLoweringObjectFile::SectionForGlobal(llvm::GlobalValue
const*, llvm::SectionKind, llvm::Mangler*, llvm::TargetMachine const&)
const", referenced from:
llvm::AsmPrinter::EmitGlobalVariable(llvm::GlobalVariable const*)in
libLLVMAs...
2007 Sep 11
2
[LLVMdev] RFC: Darwin EH Patch
...> It's not exactly tweaking magic knobs. It's doing something that's
> already done -- putting the information in the TAI object, and
> allowing the specific back-end to set the appropriate strings.
It seems to me, that simple strings / bools there are not enough :)
"$non_lazy_ptr" emission is already in asm printers (in 2 places!). The
"L" prefix is PrivateGlobalPrefix (so PersonalityPrefix is really
duplicate). That's why I thought about factoring such stuff into
separate hooks. I'm really worrying, that number of such strings / bools
can be increase...
2009 Jun 16
4
[LLVMdev] PIC documentation ?
Anton,
>> Can I ask what platform ABI's are documented other than Itanium ?
> I'd bet all platform ABI are more or less documented.
Right.
Maybe we should collect references and do some LLVM PIC documentation and
put it on LLVM website ?
>> I need to get to understand PIC on x86, x86_64 and PowerPC for the COFF
>> and MachO backends.
> ABI is normally induced
2009 Jan 02
2
[LLVMdev] link problem with llvm-pass
...la/build/Release//lib -L/Users/me/Work/code/
llvm-2.4/Release//lib -lLMABE -lPartition -lLLVMBitReader -
lLLVMAnalysis -lLLVMTarget -lLLVMCore -lLLVMSupport -lLLVMSystem -
lpthread -lm
Undefined symbols:
"llvm::FindUsedTypes::ID", referenced from:
__ZN4llvm13FindUsedTypes2IDE$non_lazy_ptr in
libLMABE.a(LMAWriter.o)
"typeinfo for llvm::FindUsedTypes", referenced from:
__ZTIN4llvm13FindUsedTypesE$non_lazy_ptr in
libLMABE.a(LMAWriter.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [/Users/me/Work/code/synphony/llvmllila/build/Release/...
2007 Sep 11
0
[LLVMdev] RFC: Darwin EH Patch
...not exactly tweaking magic knobs. It's doing something that's
>> already done -- putting the information in the TAI object, and
>> allowing the specific back-end to set the appropriate strings.
> It seems to me, that simple strings / bools there are not enough :)
> "$non_lazy_ptr" emission is already in asm printers (in 2 places!).
> The
> "L" prefix is PrivateGlobalPrefix (so PersonalityPrefix is really
> duplicate). That's why I thought about factoring such stuff into
> separate hooks. I'm really worrying, that number of such strings /...
2013 Mar 08
0
[LLVMdev] ARM assembler's syntax in clang
...ied
.align 4
.global foo
.thumb
.thumb_func
foo:
/* these lines are from compiler's assembly output($(CC) -S):
* extern int data_table[];
* int *wheres_data_table(void) {
* return &data_table[0];
* }
*/
movw r1, :lower16:(L_data_table$non_lazy_ptr-(LPC0_0+4))
movt r1, :upper16:(L_data_table$non_lazy_ptr-(LPC0_0+4))
LPC0_0:
add r1, pc
ldr r1, [r1]
bx lr
.section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers
.align 2
L_data_table$non_lazy_ptr:
.indirect_symbol _data_table
.long 0...
2013 Mar 07
2
[LLVMdev] ARM assembler's syntax in clang
Hi Ashi,
> ld: illegal text-relocation to _data_table in table.o from foo in
> use_table.o for architecture armv7
It looks like you're using iOS. I'm not familiar with the exact
workings of that platform, but I think a similar message would occur
in ELF-land.
If iOS *is* comparable, your issue is that symbols in dynamically
loaded objects can't (usually) be referenced directly
2009 Jan 04
0
[LLVMdev] link problem with llvm-pass
.../me/Work/code/
> llvm-2.4/Release//lib -lLMABE -lPartition -lLLVMBitReader -
> lLLVMAnalysis -lLLVMTarget -lLLVMCore -lLLVMSupport -lLLVMSystem -
> lpthread -lm
> Undefined symbols:
> "llvm::FindUsedTypes::ID", referenced from:
> __ZN4llvm13FindUsedTypes2IDE$non_lazy_ptr in
> libLMABE.a(LMAWriter.o)
> "typeinfo for llvm::FindUsedTypes", referenced from:
> __ZTIN4llvm13FindUsedTypesE$non_lazy_ptr in
> libLMABE.a(LMAWriter.o)
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> make[2]: *** [/Users/me/Work/cod...
2010 Apr 11
2
Antispam plugin, compile under osx
...-storage.o
_antispam_mailbox_transaction_commit in antispam-storage.o
_antispam_mailbox_transaction_rollback in antispam-storage.o
"_t_str_ucase", referenced from:
_get_setting in antispam-plugin.o
"_default_pool", referenced from:
_default_pool$non_lazy_ptr in signature.o
_default_pool$non_lazy_ptr in antispam-storage.o
_default_pool$non_lazy_ptr in dspam-exec.o
"_mail_module_register", referenced from:
_antispam_mail_module in antispam-storage.o
"_mail_storage_set_error", referenced from:
_signatu...
2008 Sep 25
5
[LLVMdev] confused about llvm.memory.barrier
...; <i32> [#uses=1]
12. ret i32 %0
13. }
14.
15. declare void @llvm.memory.barrier(i1, i1, i1, i1, i1) nounwind
compiled with:
1. llc -mcpu=core2 -mattr=+sse2,+sse3 -f -o test.s test.bc
becomes
1. .text
2. .align 4,0x90
3. .globl __Z3foov
4. __Z3foov:
5. movl L_a$non_lazy_ptr, %eax
6. movl $1, (%eax)
7. nop
8. movl L_b$non_lazy_ptr, %eax
9. movl (%eax), %eax
10. ret
11.
12. .section __IMPORT,__pointers,non_lazy_symbol_pointers
13. L_a$non_lazy_ptr:
14. .indirect_symbol _a
15. .long 0
16. L_b$non_lazy_ptr:
17. .indirect_symbol _b
18. .long 0
19. .subsections_via_...
2004 May 09
0
[LLVMdev] Testing LLVM on OS X
...< 1000; ++i)
> Array[i] += X;
> }
>
> Compile with -O3 on OS/X gave me this:
>
> _test:
> mflr r5
> bcl 20,31,"L00000000001$pb"
> "L00000000001$pb":
> mflr r2
> mtlr r5
> addis r4,r2,ha16(L_Array$non_lazy_ptr-"L00000000001$pb")
> li r2,0
> lwz r9,lo16(L_Array$non_lazy_ptr-"L00000000001$pb")(r4)
> li r4,1000
> mtctr r4
> L9:
> lwzx r7,r2,r9 ; load
> add r6,r7,r3 ; add
> stwx r6,r2,r9...
2008 May 19
0
[LLVMdev] Assembling the output of llc
Anton Korobeynikov wrote:
> Hello Talin,
>
>> Yes exactly. I'm on OS X (x86), and I'm not specifying a target - I
>> assumed that it would choose sensible defaults...
>>
> Could you please provide a .bc testcase? There can be multiple issues,
> but at the first glance it seems, that names were not properly mangled.
>
I've created bug
2008 May 18
2
[LLVMdev] Assembling the output of llc
Hello Talin,
> Yes exactly. I'm on OS X (x86), and I'm not specifying a target - I
> assumed that it would choose sensible defaults...
Could you please provide a .bc testcase? There can be multiple issues,
but at the first glance it seems, that names were not properly mangled.
--
With best regards, Anton Korobeynikov.
Faculty of Mathematics & Mechanics, Saint Petersburg