search for: targetloweringobjectfil

Displaying 20 results from an estimated 57 matches for "targetloweringobjectfil".

2010 Feb 23
2
[LLVMdev] Build problem in current svn
I'm trying to build LLVM on OPENBSD current with today's svn (feb 23), and it fails to build with the following errors: llvm[2]: Compiling ELFWriter.cpp for Release build In file included from ELFWriter.cpp:51: /root/llvm/include/llvm/Target/TargetLoweringObjectFile.h:345: error: virtual outside class declaration /root/llvm/include/llvm/Target/TargetLoweringObjectFile.h:345: error: non-member function 'unsigned int llvm::getPersonalityEncoding()' cannot have cv-qualifier /root/llvm/include/llvm/Target/TargetLoweringObjectFile.h:346: error: virtual...
2016 Nov 08
3
[MC] Target-Independent Small Data Section Handling
...ulated relative to the non-volatile values loaded into base registers r13 and r2 by the runtime init (similar to gp_rel on MIPS). Only a single load/store instruction is needed to contain the relocated address. The MIPS target already has a solid approach for handling small global variables in its TargetLoweringObjectFile subclass. Also, the clang driver responds to the `-G <bytes>` flag so the user can define a cutoff size other than 8 (or 0 to disable small data altogether). It seems the Hexagon and Lanai targets duplicate much of the IsGlobalInSmallSection handling from the MIPS target, but perform the sa...
2016 Nov 17
3
[MC] Target-Independent Small Data Section Handling
...ative to the non-volatile values loaded into base registers r13 and r2 by the runtime init (similar to gp_rel on MIPS). Only a single load/store instruction is needed to contain the relocated address. > > The MIPS target already has a solid approach for handling small global variables in its TargetLoweringObjectFile subclass. Also, the clang driver responds to the `-G <bytes>` flag so the user can define a cutoff size other than 8 (or 0 to disable small data altogether). > > It seems the Hexagon and Lanai targets duplicate much of the IsGlobalInSmallSection handling from the MIPS target, but perf...
2016 Nov 18
0
[MC] Target-Independent Small Data Section Handling
...into base registers r13 and r2 by the runtime init > > (similar to gp_rel on MIPS). Only a single load/store instruction > > is needed to contain the relocated address. > > > > The MIPS target already has a solid approach for handling small > > global variables in its TargetLoweringObjectFile subclass. Also, > > the clang driver responds to the `-G <bytes>` flag so the user can > > define a cutoff size other than 8 (or 0 to disable small data > > altogether). > > > > It seems the Hexagon and Lanai targets duplicate much of the > > IsGlobalInSm...
2010 Jan 16
1
[LLVMdev] Build failure in llvm trunk
hi, I am trying to build the llvm trunk with make. I am trying a debug build and I am ending with the following build error. /home/rajika/projects/llvm/llvm/lib/Target/TargetLoweringObjectFile.cpp: In member function ‘virtual bool llvm::TargetLoweringObjectFileMachO::shouldEmitUsedDirectiveFor(const llvm::GlobalValue*, llvm::Mangler*) const’: /home/rajika/projects/llvm/llvm/lib/Target/TargetLoweringObjectFile.cpp:959: error: ‘NameTmp’ was not declared in this scope make[2]: *** [/home/r...
2011 May 07
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...table for llvm::EBCSubtargetin libLLVMEBCCodeGen.a(EBCSubtarget.cpp.o) "llvm::DisableFramePointerElim(llvm::MachineFunction const&)", referenced from: llvm::DwarfDebug::endFunction(llvm::MachineFunction const*)in libLLVMAsmPrinter.a(DwarfDebug.cpp.o) "typeinfo for llvm::TargetLoweringObjectFile", referenced from: typeinfo for llvm::TargetLoweringObjectFileELFin libLLVMCodeGen.a(TargetLoweringObjectFileImpl.cpp.o) typeinfo for llvm::TargetLoweringObjectFileMachOin libLLVMCodeGen.a(TargetLoweringObjectFileImpl.cpp.o) typeinfo for llvm::TargetLoweringObjectFileCOFFin...
2010 May 05
3
[LLVMdev] MCStreamer interface
...ctly what you mean here. > Section assignment should be the responsiblity of the object imlementing the > MCStreamer interface, with the caller givin the ability to give hints as to > what section to place the symbol into. Section assignment really needs to happen at a higher level. The TargetLoweringObjectFile interfaces are the ones responsible for mapping a global/function -> section. This interface (not mcstreamer) should handle this. The important point here is that the COFF MCSection needs to have the right level of semantic information. In fact, MCSection is the place that I'd start for...
2010 May 07
3
[LLVMdev] MCStreamer interface
...> The important point here is that the COFF MCSection needs to > have the right level of semantic information. In fact, > MCSection is the place that I'd start for COFF bringup. > > OK, I see that now. The current isolation > between TargetLoweringObjectFile -> MCStreamer -> MCObjectWriter has > proven somewhat problematic, mostly due to my lack of understanding. > I guess MCSectionXXX was meant to provide communication between them. > Should the same be true of MCSymbol, and their data counterparts? I'm enclosing my patch for refo...
2010 May 06
2
[LLVMdev] Win32 COFF Support
...bj probably needs a >> similar patch. >> >> > cool!, I will make that change and submit it too. > > > Thanks! > > After looking into this, I have found that AsmParser is hard coded to use MachO sections which causes my code to segfault, reworking this code to use TargetLoweringObjectFile or some equivalent is a larger change than I am comfortable with at the moment. On the other hand, llc, clang, and (according to Aaron) llvm-gcc all work with my COFF backend, so I will continue to work on it using one of those to test it. > - Nathan -------------- next part -------------- A...
2010 May 05
0
[LLVMdev] MCStreamer interface
...tion assignment should be the responsiblity of the object imlementing > the > > MCStreamer interface, with the caller givin the ability to give hints as > to > > what section to place the symbol into. > > Section assignment really needs to happen at a higher level. The > TargetLoweringObjectFile interfaces are the ones responsible for mapping a > global/function -> section. This interface (not mcstreamer) should handle > this. > > The important point here is that the COFF MCSection needs to have the right > level of semantic information. In fact, MCSection is the place...
2011 May 06
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...table for llvm::EBCSubtargetin libLLVMEBCCodeGen.a(EBCSubtarget.cpp.o) "llvm::DisableFramePointerElim(llvm::MachineFunction const&)", referenced from: llvm::DwarfDebug::endFunction(llvm::MachineFunction const*)in libLLVMAsmPrinter.a(DwarfDebug.cpp.o) "typeinfo for llvm::TargetLoweringObjectFile", referenced from: typeinfo for llvm::TargetLoweringObjectFileELFin libLLVMCodeGen.a(TargetLoweringObjectFileImpl.cpp.o) typeinfo for llvm::TargetLoweringObjectFileMachOin libLLVMCodeGen.a(TargetLoweringObjectFileImpl.cpp.o) typeinfo for llvm::TargetLoweringObjectFileCOFFin...
2011 Feb 08
0
[LLVMdev] Debug info generation through llvm backend
...ndent AsmPrinter does bulk of the work (see DwarfDebug.cpp and AsmPrinter.cpp). The ongoing MC work is moving some of the printing stuff into MC world, where target specific support is required to support respective object file format. You may need to - enable certain flags for your target, see TargetLoweringObjectFile.h - provide a dwarf register map, see Target.td and TargetRegisterInfo.h > - also, how to search through mailing list archives? ? - Devang
2011 Feb 07
4
[LLVMdev] Debug info generation through llvm backend
Hi Everyone, I am really new to LLVM. I am working on something where I had to pick-up a half-cooked backend and need to add debug support to it. I have searched through messages but could not find a nice starting place. Could some one please provide me with some pointers about - what is already supported in llvm as far as emitting debugging information is concerned? - how to emit debug
2012 Mar 14
2
[LLVMdev] How to set constant pool section?
Hi, In the document: http://llvm.org/docs/WritingAnLLVMBackend.html described example like: SparcTargetAsmInfo::SparcTargetAsmInfo(const SparcTargetMachine &TM) { Data16bitsDirective = "\t.half\t"; Data32bitsDirective = "\t.word\t"; Data64bitsDirective = 0; // .xword is only supported by V9. ZeroDirective = "\t.skip\t"; CommentString = "!";
2012 Mar 14
0
[LLVMdev] How to set constant pool section?
Hello > I really need in my backend value for this section, distinct from > default. Where can I set it? It was renamed to ReadOnlySection. You might want to check the logic inside CodeGen/TargetLoweringObjectFileImp.cpp (in particular - TargetLoweringObjectFile::SelectionSectionForGlobal) to see how it's used. -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University
2017 Apr 23
2
why do undefined globals end up in .data instead of .bss?
Here is a module: @vals = internal unnamed_addr global [20000000 x i32] undef, align 4 When I compile it into an .o file: $ clang -c test.ll $ objdump -t test.o test.o: file format elf64-x86-64 SYMBOL TABLE: 0000000000000000 l df *ABS* 0000000000000000 test.ll 0000000000000000 l O .data 0000000004c4b400 vals LLVM puts the global in the .data section, and results in a 77MB .o file
2010 May 07
2
[LLVMdev] MCStreamer interface
...The important point here is that the COFF MCSection needs to > > have the right level of semantic information. In fact, > > MCSection is the place that I'd start for COFF bringup. > > > > OK, I see that now. The current isolation > > between TargetLoweringObjectFile -> MCStreamer -> MCObjectWriter has > > proven somewhat problematic, mostly due to my lack of understanding. > > I guess MCSectionXXX was meant to provide communication between them. > > Should the same be true of MCSymbol, and their data counterparts? > > I'm en...
2010 May 04
2
[LLVMdev] MCStreamer itnerface
This is a brain-dump of my thoughts on the MCStreamer interface after several days of digging around trying to get a COFF writer working. All fragments should be associated with a symbol. For assembler components, a unnammed "virtual" symbol can be used when there is no explicit label defined. Section assignment should be the responsiblity of the object imlementing the MCStreamer
2013 Jun 25
0
[LLVMdev] Contants generation - proposal
Hi Elena, > (2) Proposal > Define one more Code Model, let's say "LargeNearConst", which will allow to put constants in .text. Isn't that a little heavy-handed? The large model only requires the less efficient access for symbols we can't control, and in fact x86 still uses pc-relative conditional branches within a function so it can't pretend to support a single
2010 May 11
2
[LLVMdev] AsmPrinter::EmitLinkage
...uld it make sense to delegate the implementation to a specialized object from current the object file format? I am tempted to make it the MCAsmInfo implementation for the specific target. Currently MCAsmInfo looks just to hold useful information about the target, and not any target specific code. TargetLoweringObjectFile looks to perform a similar function as MCAsmInfo, though this doesn't look to be responsible for directing the AsmPrinter, its only responsibility appears to be providing section assignment logic. Another candidate I considered what TargetAsmBackend, but that appears to be meant to sit behind...