Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] [PATCH] print .weak directives"
2006 Dec 09
0
[LLVMdev] [PATCH] print .weak directives
On Sat, 9 Dec 2006, [UTF-8] Rafael Esp?ndola wrote:
> The attached patch makes the AsmPrinter emit one .weak directive for
> each weak global variable that is referenced at least once in a global
> table. It uses a std::set to print only one directive.
I'm sorry, I must be missing something here:
In order to have weak linkage (I'm ignoring external weak for the moment)
a global
2006 Dec 09
1
[LLVMdev] [PATCH] print .weak directives
> I'm sorry, I must be missing something here:
>
> In order to have weak linkage (I'm ignoring external weak for the moment)
> a global has to be defined in the LLVM code. Because it is defined in the
> LLVM code, it will have to be printed out by the target asm printer
> somewhere. When that happens, it will get a .weak directive emitted for
> it.
It should, but
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:
2006 Dec 08
0
[LLVMdev] [patch] print ".weak" directive
On Thu, 7 Dec 2006, [UTF-8] Rafael Esp?ndola wrote:
> 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.
--- lib/CodeGen/AsmPrinter.cpp 7 Dec 2006 01:30:31 -0000 1.120
+++ lib/CodeGen/AsmPrinter.cpp 7 Dec 2006 13:00:17 -0000
@@
2006 Dec 09
2
[LLVMdev] [patch] move ExtWeakSymbols to AsmPrinter
The attached patch moves the ExtWeakSymbols to the AsmPrinter class
and the code that emits the ".weak" directives to
AsmPrinter::doFinalization.
This is just code factoring. No functionality changes.
Best Regards,
Rafael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvm.patch
Type: text/x-patch
Size: 5387 bytes
Desc: not available
URL:
2006 Dec 06
2
[LLVMdev] MachineConstantPoolValue
In the ARM backend, functions (and other 32 bit constants) are placed
in a pool and loaded when needed.
A problem with this is that ".weak" directives must be printed in the
pool. This is not supported in the standard printer, so I think that I
have found the first use for MachineConstantPoolValue :-)
Creating the constant is easy, but I have two problems:
1) what are the methods
2006 Dec 09
2
[LLVMdev] [patch] emit .weak for zero initialized weak variables
The attached patches makes all backends print a .weak directive for
zero initialized variables. GCC does it on x86-64 and ARM. I assume
that it should be done on all architectures.
The patch also adds a test to the ARM backend? Should I copy it to all backends?
Comments?
Thanks,
Rafael
P.S.: I find the doFinalization code a bit confusing. Would you
welcome a cleanup patch?
-------------- next
2010 Sep 29
3
[LLVMdev] Questions on ARMInstrInfo.td and MC/ARM/ELF
Hi Everyone,
I am trying to decide on a MC'ized reorg of ARMAsmPrinter for MC/ELF,
and had some questions.
Currently, it defines quite a few methods like printAddrMode4Operand
(linked to ARMInstrInfo.td) that currently assume raw text support in
the OutStreamer. Are these methods still supposed to be invoked in the
MC'ized path for assembly output?
Is JimG's new MC/.s
2010 Sep 29
0
[LLVMdev] Questions on ARMInstrInfo.td and MC/ARM/ELF
On Sep 29, 2010, at 3:09 PM, Jason Kim wrote:
> Hi Everyone,
>
> I am trying to decide on a MC'ized reorg of ARMAsmPrinter for MC/ELF,
> and had some questions.
>
> Currently, it defines quite a few methods like printAddrMode4Operand
> (linked to ARMInstrInfo.td) that currently assume raw text support in
> the OutStreamer. Are these methods still supposed to be
2013 Feb 14
2
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Sorry for the triple-posting! :-$
On 02/14/2013 04:30 PM, Yiannis Tsiouris wrote:
> On 02/10/2013 08:47 PM, Yiannis Tsiouris wrote:
>> After rebasing my local LLVM repo to ToT, I noticed that the
>> finishAssembly function is not executed and, thus, the stack map is not
>> printed at all.
>>
>> Is this a known issue or I 'm doing something wrong?
>>
2010 Oct 21
3
[LLVMdev] [llvm-commits] Fwd: Proof of concept patch for unifying the .s/ELF emission of .ARM.attributes
> Hmm, I wish we had this discussion way earlier..
>
> How would I emit things in different subsections? I can do a high
> level switch to .ARM.attributes, and if I were emitting one blob from
> begin to end, using the higher level interface would be preferable,
> but it contains additional subsections - which are naturally
> represented by MCDataFragments - Is there an MC
2013 Feb 15
2
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Hi Pedro (et al.),
On 02/14/2013 11:43 PM, Pedro Artigas wrote:
> I believe what is going on is that there is an issue with the way that information is deleted (the CG information).
Yeap, that's exactly the problem! :-) I noticed that the
GCModuleInfo::iterator (line 931 in
lib/CodeGen/AsmPrinter/AsmPrinter.cpp) is empty and, thus,
GCMetadataPrinter::finishAssembly is never called.
2014 Oct 29
4
[LLVMdev] Emit a jump instruction to a place inside basicblock
Hi all,
I'm a beginner in LLVM. Currently, I want to implement a pass that
generates a jump table. The entry in that table is a jump to some place
(may be an instruction) in a basic block.
I'm reading the JumpTable code in llvm 3.5, there is a table which contains
jump entries to functions. In AsmPrinter::doFinalization function from file
lib/CodeGen/AsmPrinter/AsmPrinter.cpp, it gets a
2010 Oct 21
0
[LLVMdev] [llvm-commits] Fwd: Proof of concept patch for unifying the .s/ELF emission of .ARM.attributes
On Thu, Oct 21, 2010 at 7:50 AM, Rafael EspĂndola
<rafael.espindola at gmail.com> wrote:
>> Hmm, I wish we had this discussion way earlier..
>>
>> How would I emit things in different subsections? I can do a high
>> level switch to .ARM.attributes, and if I were emitting one blob from
>> begin to end, using the higher level interface would be preferable,
2004 Jun 18
1
[LLVMdev] Linkages handling
Hello,
looking at Printer::doFinalization, I have some question about support of the
different linkages. Here's a table of how that method handles the possible
combinations:
Initialized Null
Internal .data, local .data, .comm, .local
External .data, .globl .bss, .globl,
2013 Feb 14
0
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Hello Yiannis,
I believe what is going on is that there is an issue with the way that information is deleted (the CG information). Right now there is a pass whose only job is to delete that information (CGInfoDeleter) and that pass deletes the info before the AsmPrinter has a chance to call the finishAssembly function. Right now the order that the doFinalization is called on passes is the reverse
2010 Jul 19
2
[LLVMdev] VMkit AOT build problem: llc crushed on glibj compilation to native(.s) file
Hi,
Trying to build AOT version of vmkit java,
building for that classpath glibj.zip:
$ cd vmkit/tools/vmjc/libvmjc
$ make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1 REQUIRES_FRAME_POINTER=1
has eventually, after 50 minutes, brought:
<<<
llvm[0]: Compiling glibj.zip to llvm
llvm[0]: Optimizing glibj.zip
llvm[0]: Compiling glibj.zip.bc to native
UNREACHABLE executed!
0 llc
2010 Jul 28
3
[LLVMdev] Function-at-a-time Processing
We process very large programs and it is not unusual for the IR for some
compilation unit to exceed system memory. With some hacking in LLVM 2.5
I was able to coax LLVM to generate asm for each functioin as it was
processed and then completely forget about it (i.e. delete it) and move
on to the next function.
This required a bit of hackery. I had to create two pass managers, one
for the module
2011 May 23
2
[LLVMdev] Debug llc crash using bugpoint
Hi,
What is the best way to debug an llc crash using bugpoint?
I am getting the following crash that I would like to reduce
llc: /home/vadve/aggarwa4/llvm29/llvm-2.9/lib/MC/MCAsmStreamer.cpp:273:
virtual void<unnamed>::MCAsmStreamer::EmitLabel(llvm::MCSymbol*): Assertion
`Symbol->isUndefined() && "Cannot define a symbol twice!"' failed.
0 llc
2010 Apr 11
2
[LLVMdev] Intro to the MC Project
Hi Chris,
Thanks for taking time to communicate on this.
In your open points, you speak about upgrading the JIT code path. If I want
to take a look (or at least try...) on it, what would be the "roadmap" ?
I assume, a MCJITStreamer is needed.
And probably a JITObjectWriter (inherits from MCObjectWriter) and an
associated TargetAsmBackend specific to the JIT (JITX86AsmBackend) ?
What