Displaying 10 results from an estimated 10 matches for "doinit".
Did you mean:
deinit
2010 Aug 12
0
[LLVMdev] Optimization pass questions
On Aug 11, 2010, at 4:55 PM, Larry Gritz wrote:
> I have a whole slew of questions about optimization passes. Answers to any or all would be extremely helpful:
>
> How important are doInitialization/doFinalization? I can't detect any difference if I use them or not. Why does the function pass manager have doInitialization/doFinalization, but the global pass manager doesn't? If I am applying the function passes to many functions, do I doInitialization/run/doFinalization for...
2008 Jul 17
0
[LLVMdev] Pass Added as Required fails assert
We have discovered the issue with our code. It seems that when the first
call to doInitilization utilized one of the specified analyses, that
analysis had never been properly added as required. Using gdb, we can see
that addRequired is getting called (seen below) but when doInitalization is
finally called, it still responds as if the analysis was not required.
Is this a bug or is do...
2004 Jun 24
0
[LLVMdev] Pass vs. FunctionPass
...::run(Function&) and
> FunctionPass(Function&). The former calls the later, which is fine, but the
> latter looks like this:
>
> bool FunctionPass::run(Function &F) {
> if (F.isExternal()) return false;// Passes are not run on external
> functions!
>
> return doInitialization(*F.getParent()) | runOnFunction(F)
> | doFinalization(*F.getParent());
> }
>
> So, with FunctionPassManager, doInitializaton will be called once for
> each function, which is strange, given that that method takes Module&.
> When this behaviour is desirable?
T...
2008 Jul 17
2
[LLVMdev] Pass Added as Required fails assert
Hey all,
We have been working on a pass that uses another pass to count loads and
stores prior to performing its own instrumentation. The second pass adds
the first as required via the usual getAnalysisUsage function. On one
machine, it has been tested and proven to function correctly. On another
machine, whenever the second pass is run, it consistently fails the
assertion:
opt:
2004 Jun 24
3
[LLVMdev] Pass vs. FunctionPass
...estion is about FunctionPassManager::run(Function&) and
FunctionPass(Function&). The former calls the later, which is fine, but the
latter looks like this:
bool FunctionPass::run(Function &F) {
if (F.isExternal()) return false;// Passes are not run on external
functions!
return doInitialization(*F.getParent()) | runOnFunction(F)
| doFinalization(*F.getParent());
}
So, with FunctionPassManager, doInitializaton will be called once for each
function, which is strange, given that that method takes Module&. When this
behaviour is desirable?
- Volodya
2011 Jul 17
1
[LLVMdev] vmkit runtime errors
...piler.eval(Compiler.java:5412)
at clojure.lang.Compiler.load(Compiler.java:5798)
at clojure.lang.RT.loadResourceScript(RT.java:407)
at clojure.lang.RT.loadResourceScript(RT.java:397)
at clojure.lang.RT.load(RT.java:474)
at clojure.lang.RT.load(RT.java:447)
at clojure.lang.RT.doInit(RT.java:482)
at clojure.lang.RT.<clinit>(RT.java:366)
...1 more
Caused by: java.lang.Exception: Unable to resolve symbol: def in this
context
at clojure.lang.Compiler.resolveIn(Compiler.java:5645)
at clojure.lang.Compiler.resolve(Compiler.java:5597)
at clojure.lang.Compil...
2010 Aug 12
1
[LLVMdev] Optimization pass questions
...s in the other. Is that generally ok? I've experimented and some passes appear to work either way, others complain if you use it wrong. I've found it hard to deduce, from just these examples and the docs, what the precise rules are, let alone best practices.
> It should explain what doInit and doFinalization means and when they are executed.. plus tons more good stuff.
Well just as an example, let's say you have a bunch of functions in a module, and you want to apply your function passes to each of them.
* Do you need to construct a separate FPM for each function, or can you co...
2010 Aug 11
4
[LLVMdev] Optimization pass questions
I have a whole slew of questions about optimization passes. Answers to any or all would be extremely helpful:
How important are doInitialization/doFinalization? I can't detect any difference if I use them or not. Why does the function pass manager have doInitialization/doFinalization, but the global pass manager doesn't? If I am applying the function passes to many functions, do I doInitialization/run/doFinalization for...
2012 Nov 09
0
[LLVMdev] problem trying to write an LLVM register-allocation pass
...uff that doesn't change over this fn // e.g., the register info classes MRI = &Fn.getRegInfo(); TRI = Fn.getTarget().getRegisterInfo(); MF = &Fn; TM = &Fn.getTarget(); TII = TM->getInstrInfo(); // STEP 1: get instruction-to-number map doInit(Fn); // STEP 2: get all vregs in this fn std::set<unsigned> vregSet = getAllVreg(Fn); // STEP 3: handle all vregs setAllVreg(Fn, vregSet); return true; } virtual void getAnalysisUsage(AnalysisUsage &AU) const { MachineFunctionPass::getAn...
2012 Nov 08
2
[LLVMdev] problem trying to write an LLVM register-allocation pass
Hi Susan,
In x86-64 the REX prefix must be used to access an extended register
(r8-r15 and their aliases), but cannot be used when accessing the high byte
of the ABCD regs (AH, BH, CH, DH). In your test case you have hardcoded
%vreg1 to R8B, and %vreg15 to AH, and the test case contains a copy between
these registers. The copy simultaneously must have a REX prefix, and cannot
have a REX prefix,