[llvm-dev] Migration help required for 3.3 to 3.8

edA-qa mort-ora-y via llvm-dev llvm-dev at lists.llvm.org
Sun Jun 5 08:22:31 PDT 2016


I'm migrating from 3.3 to 3.8 and am having a few problems.

`CreateStructGEP` requires a type parameter now. I'm not sure what type it's expecting, so I converted `CreateStructGEP( valuePtr, index )` to `CreateStructGEP( valuePtr->getType(), valuePtr, index )`... would that be correct?

`arg_iterator` no longer converst to Value*, I have a lot of this now:
    &*(args++)
This seems like I'm doing something wrong. Is there a more correct way to convert to the `Value*`?

`PassManager` is now a tample type with `IRUnitT`. What is the `IRUnitT` type? Or rather, how should I be creating the `PassManager`?

Why does `EngineBuilder` require a `unique_ptr` for the `Module` now? After I create the builder I still need to reference the module, in
particular to run the pass manager and look up functions to run. Same for `linker::linkInModule`.

`createBasicAliasAnalyisPass` is gone. What is the replacement, or do I not need it anymore (I believe it was required to be run for other passes).

`linkInModule` used to provide an error message output. Is there a way to get the error now that it is gone?

-- 
edA-qa mort-ora-y 
http://mortoray.com/

Leaf - the language we always wanted
http://leaflang.org/



More information about the llvm-dev mailing list