search for: hasexternalweaklinkage

Displaying 8 results from an estimated 8 matches for "hasexternalweaklinkage".

2006 Dec 06
2
[LLVMdev] weak linkage
...ak linkage support on the ARM backend and I noticed this code on the X86 and PPC backends: ------------------------------------------------ // If the initializer is a extern weak symbol, remember to emit the weak // reference! if (const GlobalValue *GV = dyn_cast<GlobalValue>(C)) if (GV->hasExternalWeakLinkage()) ExtWeakSymbols.insert(Mang->getValueName(GV)); ------------------------------------------------ Can a initializer be a weak reference? For example, ------------------------ int a __attribute__ ((weak)); int b = a; ------------------------ fails to compile with the error: test.c:2: error:...
2006 Dec 20
2
[LLVMdev] [patch] arm: external weak in constant pool
Adds external weak symbols of constant pool to ExtWeakSymbols set. Lauro -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20061220/1aaa0c7b/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: llvm.patch Type: text/x-patch Size: 1021 bytes Desc: not available
2006 Dec 20
0
[LLVMdev] [patch] arm: external weak in constant pool
Hi Lauro, Just a stylistic remark; In your "llvm.patch" file, there are tabs in these lines: + if (GV->hasExternalWeakLinkage()) { + ExtWeakSymbols.insert(GV); + } Others will need to review the patch for correctness, though. -bw On 12/20/06, Lauro Ramos Venancio <lauro.venancio at gmail.com> wrote: > Adds external weak symbols of constant pool to ExtWeakSymbols set. > > > Lauro > > __________...
2006 Dec 20
1
[LLVMdev] [patch] arm: external weak in constant pool
without tabs Lauro 2006/12/20, Bill Wendling <isanbard at gmail.com>: > > Hi Lauro, > > Just a stylistic remark; In your "llvm.patch" file, there are tabs in > these lines: > > + if (GV->hasExternalWeakLinkage()) { > + ExtWeakSymbols.insert(GV); > + } > > Others will need to review the patch for correctness, though. > > -bw > > On 12/20/06, Lauro Ramos Venancio <lauro.venancio at gmail.com> wrote: > > Adds external weak symbols of constant pool to ExtWeak...
2014 Dec 08
3
[LLVMdev] Incorrect loop optimization when building the Linux kernel
I was trying to build the Linux kernel with clang and observed a crash due to incorrect loop optimization: drivers/base/firmware_class.c extern struct builtin_fw __start_builtin_fw[]; extern struct builtin_fw __end_builtin_fw[]; static bool fw_get_builtin_firmware(struct firmware *fw, const char *name) { struct builtin_fw *b_fw; for (b_fw = __start_builtin_fw; b_fw != __end_builtin_fw;
2006 Dec 06
0
[LLVMdev] weak linkage
...backend and I > noticed this code on the X86 and PPC backends: > ------------------------------------------------ > // If the initializer is a extern weak symbol, remember to emit the weak > // reference! > if (const GlobalValue *GV = dyn_cast<GlobalValue>(C)) > if (GV->hasExternalWeakLinkage()) > ExtWeakSymbols.insert(Mang->getValueName(GV)); > ------------------------------------------------ > > Can a initializer be a weak reference? For example, > ------------------------ > int a __attribute__ ((weak)); > int b = a; Try: int *B = &a; -Chris -- http:...
2006 Dec 08
0
[LLVMdev] [patch] print ".weak" directive
...1 -0000 1.120 +++ lib/CodeGen/AsmPrinter.cpp 7 Dec 2006 13:00:17 -0000 @@ -640,6 +640,13 @@ printDataDirective(type); EmitConstantValueOnly(CV); O << "\n"; + if (const GlobalValue *GV = dyn_cast<GlobalValue>(CV)) { + if (GV->hasWeakLinkage() || GV->hasExternalWeakLinkage()) { + O << TAI->getWeakRefDirective(); + EmitConstantValueOnly(CV); + O << "\n"; + } + } } The approach looks good, but why do you need both 'hasWeak' and 'hasExternalWeak' here? It seems that this should only check the external wea...
2006 Dec 07
2
[LLVMdev] [patch] print ".weak" directive
The attached patch makes the ASM printer print the ".weak" directive when a weak symbol is added to a constant pool. I need something similar to it in order to bootstrap gcc on ARM. Any comments? Best Regards, Rafael -------------- next part -------------- A non-text attachment was scrubbed... Name: llvm.patch Type: text/x-patch Size: 1816 bytes Desc: not available URL: