[llvm-dev] Compiling for AArch64: CommandLine Error: Option 'aarch64-branch-relax' registered more than once!

Kai Nacke via llvm-dev
2016-02-27T20:59:52Z

Compiling for AArch64: CommandLine Error: Option 'aarch64-branch-relax'
registered more than once!

Hi all!

I am trying to run LDC (LLVM-based D compiler) on AArch64. The compiler
contains all IR and target specific passes. You can view it as combined
llc/opt tool. It uses the same strategy as opt to collect the passes
with the NameParser. Like llc, it calls Target.addPassesToEmitFile() to
add the target specific passes.

I now get the following error message:

ldc2.exe: CommandLine Error: Option 'aarch64-branch-relax' registered
more than once!
LLVM ERROR: inconsistency in registered CommandLine options

Reason is that the option 'aarch64-branch-relax' is registered in file
lib/Target/AArch64/AArch64BranchRelaxation.cpp and a second time through
PassRegistry::registerPass() (because of the use of the NameParser - the
pass is also named 'aarch64-branch-relax').

Is this the intended behavior? If yes, what can I do to fix the compiler?

Regards,
Kai