[LLVMdev] 3.1 API Breakage

Albert Graef Dr.Graef at t-online.de
Tue May 8 07:33:49 PDT 2012


Trying to get the Pure compiler to work with LLVM 3.1, I've run into a 
problem. The release notes say: "Target specific options have been moved 
from global variables to members on the new TargetOptions class, which 
is local to each TargetMachine." Unfortunately, they don't say anything 
about how to fix existing source to work around this.

In my application I create a JIT using ExecutionEngine::create() after 
initializing the native target using InitializeNativeTarget(). I also 
need to set the GuaranteedTailCallOpt flag beforehand.

However, with LLVM 3.1 the global GuaranteedTailCallOpt flag is gone and 
neither ExecutionEngine::create() nor InitializeNativeTarget() accept a 
TargetOptions argument. Nor could I find a way to retrieve and change 
the target options later.

Is that an oversight, or is there some easy way to set the native target 
options somewhere that I missed?

Any help is much appreciated.

TIA,
Albert

-- 
Dr. Albert Gr"af
Dept. of Music-Informatics, University of Mainz, Germany
Email:  Dr.Graef at t-online.de, ag at muwiinfa.geschichte.uni-mainz.de
WWW:    http://www.musikinformatik.uni-mainz.de/ag



More information about the llvm-dev mailing list