Displaying 20 results from an estimated 419 matches for "runonmachinefunct".
2013 Oct 08
2
[LLVMdev] What makes register allocation expensive?
...counts from 1 to 10, so it is about a dozen lines long and
refers to maybe five hundred lines of library code. All times are in
milliseconds, and the total includes both compilation and program
execution.
llvm-3.1:
2722 total
2342 llvm::ExecutionEngine::runFunctionAsMain
1144 SelectionDAGIsel::runOnMachineFunction
294 RegisterCoalescer::runOnMachineFunction
116 RAGreedy::runOnMachineFunction
llvm-3.3:
53683 total
52661 llvm::ExecutionEngine::runFunctionAsMain
16955 RAGreedy::runOnMachineFunction
15149 RegisterCoalescer::runOnMachineFunction
15072 SelectionDAGIsel::runOnMachineFunction
Both cases us...
2013 Oct 08
0
[LLVMdev] What makes register allocation expensive?
...counts from 1 to 10, so it is about a dozen lines long and
refers to maybe five hundred lines of library code. All times are in
milliseconds, and the total includes both compilation and program
execution.
llvm-3.1:
2722 total
2342 llvm::ExecutionEngine::runFunctionAsMain
1144 SelectionDAGIsel::runOnMachineFunction
294 RegisterCoalescer::runOnMachineFunction
116 RAGreedy::runOnMachineFunction
llvm-3.3:
53683 total
52661 llvm::ExecutionEngine::runFunctionAsMain
16955 RAGreedy::runOnMachineFunction
15149 RegisterCoalescer::runOnMachineFunction
15072 SelectionDAGIsel::runOnMachineFunction
Both cases us...
2011 Oct 12
1
[LLVMdev] Problem in TwoAddressInstructionPass::runOnMachineFunction regarding subRegs
Hi,
It seems to me that the TwoAddressInstructionPass::runOnMachineFunction
method has some problems when the tied destination register has a subReg.
The two changes below improves the situation for me but I'm all new to
this so I'm not sure how it's supposed to work. I'm running on 2.9.
Any comments?
@@ -1172,12 +1172,20 @@ bool
TwoAddressInstruct...
2005 Jul 02
0
[LLVMdev] X86AsmPrinter + MASM and NASM backends
I am now getting the following link errors on all executables:
x86.lib(X86AsmPrinter.obj) : error LNK2001: unresolved external symbol
"public: virtual bool __thiscall
llvm::x86::X86ATTAsmPrinter::runOnMachineFunction(class
llvm::MachineFunction &)"
(?runOnMachineFunction at X86ATTAsmPrinter@x86 at llvm@@UAE_NAAVMachineFunction at 3@@Z)
x86.lib(X86AsmPrinter.obj) : error LNK2001: unresolved external symbol
"public: virtual bool __thiscall
llvm::x86::X86IntelAsmPrinter::runOnMachineFunction(c...
2009 Mar 16
2
[LLVMdev] MachO and ELFWriters/MachineCodeEmittersarehard-codedinto LLVMTargetMachine
...ng
> change perhaps?)
Yes, it uses a MachineCodeEmitter in its internals (MCE) and as a
constructor argument.
> This class receives (during construction) a reference to a
> MachineCodeEmitter (e.g. MachOCodeEmitter, which in turn stores a
> reference to a MachOWritter).
>
> The runOnMachineFunction for the X86CodeEmitter does:
> - call MachOCodeEmitter::startFunction
> - for each basicblock in function:
> - call MachOCodeEmitter::StartMachineBasicBlock
> - for each instruction in basicblock:
> - emit instruction, using MachineCodeEmitter::emit* functions
> - cal...
2019 Mar 18
0
Two FPPassManager objects, and LocalStackSlotAllocation::runOnMachineFunction returns true but has not changed the data
...thing I have done wrong, but my executions of llc are
creating two FPPassManager objects (that run different sets of passes).
FPPassManager contains a static char ID (as expected), so I expected only
one FPPassManager object to be constructed during a single execution.
LocalStackSlotAllocation::runOnMachineFunction returns true even when it has
not changed the data (in any way that I can see).
The destructor of SelectionDAGISel deletes MF, a pointer to a member
variable the class did not new.
Again, I'm too new to LLVM to know whether these things are as designed or
unintentional.
Many Th...
2009 May 13
0
[LLVMdev] MSVC compile error with trunk
...m@@UBEXAAVAnalysisUsage at 2@@Z)
32>LLVMCodeGen.lib(PrologEpilogInserter.obj) : error LNK2019:
unresolved external symbol "private: void __thiscall
llvm::PEI::clearAllSets(void)" (?clearAllSets at PEI@llvm@@AAEXXZ)
referenced in function "public: virtual bool __thiscall
llvm::PEI::runOnMachineFunction(class llvm::MachineFunction &)"
(?runOnMachineFunction at PEI@llvm@@UAE_NAAVMachineFunction at 2@@Z)
32>LLVMCodeGen.lib(PrologEpilogInserter.obj) : error LNK2019:
unresolved external symbol "private: void __thiscall
llvm::PEI::placeCSRSpillsAndRestores(class llvm::MachineFunctio...
2009 Mar 16
0
[LLVMdev] MachO and ELFWriters/MachineCodeEmittersarehard-codedinto LLVMTargetMachine
...used
MachO to 'grok' the concept.
>
>
>> 3. X86CodeEmitter
>> - a MachineFunctionPass, NOT a MachineCodeEmitter (Could the naming
>> change perhaps?)
>
> Yes, it uses a MachineCodeEmitter in its internals (MCE) and as a
> constructor argument.
>
> runOnMachineFunction is a standard LLVM message we cannot play around with
> it.
>
I'm well aware that runOnMachineFunction is a standard LLVM meme. My
suggestion in no way conflicts with its standard meaning.
All I meant was that we could build a new target-nonspecific 'base
class', called e.g....
2011 Jul 08
2
[LLVMdev] Best location in code generation for insertion of instrumentation to measure stack depth?
I investigated the MachineFunctionPass (that is runOnMachineFunction, I
believe). In my experimentation it didn't seem that the MachineFrameInfo was
populated (it consistently said that the stack depth was 0, for example). I
might have been doing something wrong?
On Fri, Jul 8, 2011 at 5:21 PM, John Criswell <criswell at illinois.edu> wrote:
> On...
2005 Jul 01
4
[LLVMdev] X86AsmPrinter + MASM and NASM backends
Chris,
Okay, I have done as you have requested.
The only thing I did not like was a clsh between the enum X86 and the new
namespace X86, which I had to rename as x86 :(
Anyway, I suppose the lower case 'x' in 'x86' fits in with the lowercase
'llvm' namespace.
Build tested on MS VC2003 and Linux.
Aaron
-------------- next part --------------
A non-text attachment was
2009 Mar 16
0
[LLVMdev] MachO and ELF Writers/MachineCodeEmittersarehard-codedinto LLVMTargetMachine
...n discuss in detail. I'm using MachO as the example
object format, as the ELF code is totally broken and outdated. Lets
use the following as the basis for our discussion?
There are 3 classes which participate in object file emission:
1. MachOWriter
- a MachineFunctionPass, with a donothing runOnMachineFunction.
doInitialization and doFinalization are used to emit the object file
header and finalize the various object file segments, respectively.
The MachOWriter is responsible for creation of MachOCodeEmitter, via
it's getMachineCodeEmitter function.
2. MachOCodeEmitter
- a MachineCodeEmitter...
2011 Jul 08
0
[LLVMdev] Best location in code generation for insertion of instrumentation to measure stack depth?
On 7/8/11 4:49 PM, Andrew Ruef wrote:
> I investigated the MachineFunctionPass (that is runOnMachineFunction,
> I believe).
A MachineFunctionPass is a class that you inherit from to write a
transform that operates on MachineInstrs (i.e., native code instructions
generated from the LLVM IR instructions). The runOnMachineFunction()
method is its entry point (i.e., the code generator calls
runOn...
2011 Jan 13
1
[LLVMdev] Where is liveness analysis pass?
Hello all
Currently I want to use the accurate liveness information when writing a *target independent* FunctionPass based on LLVM. The one I can find is LiveValues, a FunctionPass. But it doesn't use classic dataflow equation and can only provide approximate and conservative result. The another one is LiveVariables which use classic data flow equation, but it comes from Clang's analysis
2011 Jan 13
0
[LLVMdev] Where is liveness analysis pass?
...na.com>
Subject: RE: [LLVMdev] Where is liveness analysis pass?
Date: 2011-1-13 16:28:59
Hi Zhanglin.
First I suggest to read http://llvm.org/docs/CodeGenerator.html#liveintervals. :)
I saw the basic processing order of Live interval in backend LLVM source code as following:
1. LiveVariables::runOnMachineFunction() "lib/CodeGen/LiveVariables.cpp"
--> This pass computes live variable information for each virtual register and register allocatable physical register in the function. (Target dependent)
2. SlotIndexes::runOnMachineFunction() "lib/CodeGen/SlotIndexes.cpp"
--> This pass...
2004 Oct 19
2
[LLVMdev] Question about MachineFunction Pass
...compile it, I found there wasnot command option I registered. I used regular way to do it like RegisterOpt <...> X("... ", "... "), but I cannot see the optimized option when I use opt -load ../../lib/Debug/libxxx.so --help. And from LLVM source code, I saw some passes use runOnMachineFunction(MachineFunction &MF), but there is no API like registerOpt. what does it mean? Thanks
For MachineFunction pass, the doc says it is not allowed to do any of the following:
1.. Modify any LLVM Instructions, BasicBlocks or Functions.
2.. Modify a MachineFunction other than the one currentl...
2013 Mar 15
2
[LLVMdev] write a simple MachineFunctionPass
...m;
namespace {
class CFGexplorator : public MachineFunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
CFGexplorator() : MachineFunctionPass(ID) {
//initializeMemDepPrinterPass(*PassRegistry::getPassRegistry());
}
private:
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
MachineFunctionPass::getAnalysisUsage(AU);
}
};
} // end anonymous namespace
char CFGexplorator::ID = 0;
static RegisterPass<CFGexplorator> Y("mycfg", "mycfg", false...
2013 Jan 14
2
[LLVMdev] Troubleshooting Internal Garbage Collection
...DAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 198
16 llc 0x086f3cf0
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 2176
17 llc 0x086f5850
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1392
18 llc 0x088a0aca
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 186
19 llc 0x08c42fa3 llvm::FPPassManager::runOnFunction(llvm::Function&)
+ 659
20 llc 0x08c4302c llvm::FPPassManager::runOnModule(llvm::Module&) + 76
21...
2011 Aug 24
1
[LLVMdev] Segmented Stacks (re-roll)
Hi!
> According to the patch you send, the pass is not doing anything:
>
> +bool StackSegmenter::runOnMachineFunction(MachineFunction &MF) {
> + return false;
> +}
> +
It is, in the next patch.
diff --git a/lib/CodeGen/StackSegmenter.cpp b/lib/CodeGen/StackSegmenter.cpp
index 5ffb8f2..cc2ca87 100644
--- a/lib/CodeGen/StackSegmenter.cpp
+++ b/lib/CodeGen/StackSegmenter.cpp
@@ -40,7 +40,10 @@ void...
2013 Aug 05
3
[LLVMdev] Can I add GlobalVariable in MachineFunctionPass ?
Micah,
As you expected, I am trying to create local memory but in the NVPTX
backend. It's really not convenient that I can't create local memory in
runOnMachineFunction.
Hmm....
Since I should do it at doInitialization stage, I also need to do some
tricks in global variable and AsmPrinter to resize it.
Did you use the similar way?
Antony
2013/8/5 Micah Villmow <micah.villmow at smachines.com>
> Antony,
> What are you trying to accomplish in t...
2009 Mar 16
2
[LLVMdev] MachO and ELF Writers/MachineCodeEmittersarehard-codedinto LLVMTargetMachine
>> Sorry, I disagree actually the MachineCodeEmitter or the
>> 'MachineCodeWritter' does not do any file handling at all. Do look at the
>> code for the MachineCodeWritter and you will see it only writes to memory
>> and if it reaches the end of the allotted memory I believe higher ordered
>> logic reallocates a larget buffer and starts again from scratch.