search for: doinit

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,