search for: machineconstantpoolvalu

Displaying 15 results from an estimated 15 matches for "machineconstantpoolvalu".

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 getExistingMachineCPValue and AddSelectionDAGCSEId supposed to do? 2) printing is hard because we are outside the AsmPrinter. In my current hack I am printing from ARMAsmPrinter::EmitMachineConstantPoolValue :-...
2006 Dec 08
0
[LLVMdev] MachineConstantPoolValue
...l and loaded when needed. Has this approach been replaced with your later constant pool patch? -Chris > 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 getExistingMachineCPValue and > AddSelectionDAGCSEId supposed to do? > > 2) printing is hard because we are outside the AsmPrinter. > > In my current hack I am printing from >...
2006 Dec 07
0
[LLVMdev] MachineConstantPoolValue
Hello, Rafael. > 2) printing is hard because we are outside the AsmPrinter. Maybe it's worth to populate some array"map with needed information and than print it at once in asm printer? We're doing this trick for stdcall \fastcall function decorations at X86 printer. -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State
2011 Feb 20
0
[LLVMdev] ConstantPoolValue lifecycle question
I am investigating the leak in MC/ARM/elf-reloc-01.ll on the valgrind bot. It seems to be leaking two MachineConstantPoolValues. When a ConstantPoolSDNode is created with a ConstantPoolValue, it owns that ConstantPoolValue. In InstrEmitter::AddOperand(), the index of the CPV is taken from a MachineConstantPool, which has two cases: 1) This is a new constant, so a new entry is created. The MachineConstantPoolValue is free...
2006 Oct 19
1
[LLVMdev] jump table x constant pool
I had some problems adding the address of a jump table to the constant pool. The problem is that the address of a jump table is not a GlobalValue.Currently I decided to expand BRIND so that I can work on simpler problems :-) A small brain dump on the issue: GlobalValues are currently used to represent functions and global variables. Maybe we could also use then for anything that will have a label
2013 Feb 26
0
[LLVMdev] ArmConstantPoolValue
ArmConstantPoolValue is derived from MachineConstantPoolValue Is there some reason for this? Some advantage?
2009 Jul 14
0
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
...ted to have a look at it myself to see what the issues were. I was able to make it work after fixing one problem: the branch folder removes "dead" jump tables and it doesn't scan the constant pool for jump table references. I had to add some code to the branch folder and the MachineConstantPoolValue class to fix that. I haven't yet done much testing of this but it looks like it's basically working. Since I had to write the code to try this out, I'm sending my revised patch back to you. There are still a few issues to sort out before committing this: * I followed your lea...
2009 Jul 02
2
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
On Thu, Jun 25, 2009 at 6:17 PM, Bob Wilson <bob.wilson at apple.com> wrote: > Hi Robert, > Evan asked me to review this patch, and I have some questions about it. I > apologize for not following the discussion earlier and for hitting you with > questions after you've already gone through several revisions. > > LLVM provides some default behavior for handling jump
2011 May 07
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...cpp.o) "llvm::TargetMachine::getAsmVerbosityDefault()", referenced from: getVerboseAsm() in libLLVMCodeGen.a(LLVMTargetMachine.cpp.o) "llvm::TargetData::getPrefTypeAlignment(llvm::Type const*) const", referenced from: llvm::SelectionDAG::getConstantPool(llvm::MachineConstantPoolValue*, llvm::EVT, unsigned int, int, bool, unsigned char)in libLLVMSelectionDAG.a(SelectionDAG.cpp.o) llvm::SelectionDAG::getConstantPool(llvm::Constant const*, llvm::EVT, unsigned int, int, bool, unsigned char)in libLLVMSelectionDAG.a(SelectionDAG.cpp.o) llvm::SelectionDAG::CreateStackTemp...
2009 Jul 23
2
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
...ok at it myself to see what the issues were. > > I was able to make it work after fixing one problem: the branch folder > removes "dead" jump tables and it doesn't scan the constant pool for jump > table references. I had to add some code to the branch folder and the > MachineConstantPoolValue class to fix that. I haven't yet done much testing > of this but it looks like it's basically working. > > Since I had to write the code to try this out, I'm sending my revised patch > back to you. There are still a few issues to sort out before committing > this: >...
2009 Jun 03
5
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
...OutlineJumpTables; +cl::opt<std::string> FlagJumpTableSection("jumptable-section", + cl::init(".data.jtab")); + STATISTIC(EmittedInsts, "Number of machine instrs printed"); namespace { @@ -139,6 +145,7 @@ /// EmitMachineConstantPoolValue - Print a machine constantpool value to /// the .s file. virtual void EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV) { + // NOTE: A lot of this code is replicated in ARMConstantPoolValue::print printDataDirective(MCPV->getType()); ARMConstantPoolVal...
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
...; #include "llvm/Support/raw_ostream.h" #include <cctype> +#include <sstream> using namespace llvm; +extern cl::opt<bool> FlagOutlineJumpTables; + STATISTIC(EmittedInsts, "Number of machine instrs printed"); namespace { @@ -141,6 +145,7 @@ /// EmitMachineConstantPoolValue - Print a machine constantpool value to /// the .s file. virtual void EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV) { + // NOTE: A lot of this code is replicated in ARMConstantPoolValue::print printDataDirective(MCPV->getType()); ARMConstantPoolVal...
2011 May 06
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...cpp.o) "llvm::TargetMachine::getAsmVerbosityDefault()", referenced from: getVerboseAsm() in libLLVMCodeGen.a(LLVMTargetMachine.cpp.o) "llvm::TargetData::getPrefTypeAlignment(llvm::Type const*) const", referenced from: llvm::SelectionDAG::getConstantPool(llvm::MachineConstantPoolValue*, llvm::EVT, unsigned int, int, bool, unsigned char)in libLLVMSelectionDAG.a(SelectionDAG.cpp.o) llvm::SelectionDAG::getConstantPool(llvm::Constant const*, llvm::EVT, unsigned int, int, bool, unsigned char)in libLLVMSelectionDAG.a(SelectionDAG.cpp.o) llvm::SelectionDAG::CreateStackTemp...