I'm linking a program (my ellsif driver) that basically brings in most of the LLVM stuff: bitcode reading, optimizations, linking, and target code generation.
All of a sudden, I'm getting the following when I run:
[~/elsa/ellsif] dev% ./ellsif -v test/ofmt.i test/sieve.i -time-actions -O5
<premain>: CommandLine Error: Argument 'machine-licm' defined more than once!
ellsif: CommandLine Error: Argument 'machine-licm' defined more than once!
It seems like the constructor for this argument is being run twice. ellsif works as expected, but I'd like to figure out what's going wrong.
I'm linking a program (my ellsif driver) that basically brings in most
of the LLVM stuff: bitcode reading, optimizations, linking, and target
code generation.
All of a sudden, I'm getting the following when I run:
[~/elsa/ellsif] dev% ./ellsif -v test/ofmt.i test/sieve.i -time-actions -O5
<premain>: CommandLine Error: Argument 'machine-licm' defined more than
once!
ellsif: CommandLine Error: Argument 'machine-licm' defined more than once!
It seems like the constructor for this argument is being run twice.
ellsif works as expected, but I'd like to figure out what's going wrong.
This would happen if you're linking libcodegen multiple times.
I'm linking a program (my ellsif driver) that basically brings in most
of the LLVM stuff: bitcode reading, optimizations, linking, and target
code generation.
All of a sudden, I'm getting the following when I run:
[~/elsa/ellsif] dev% ./ellsif -v test/ofmt.i test/sieve.i -time-actions
-O5
<premain>: CommandLine Error: Argument 'machine-licm' defined more than
once!
ellsif: CommandLine Error: Argument 'machine-licm' defined more than once!
I recently had a similar problem when I wrote a new pass and built it into
opt. This error message is confusing because the code that prints it, in
GetOptionInfo() in lib/Support/CommandLine.cpp:
cerr << ProgramName << ": CommandLine Error: Argument '"
<< OptionNames[0] << "' defined more than once!\n";
should be printing OptionNames[i], not OptionNames[0].
(Once I had fixed this, it was easy to see what I had done wrong in the pass
I wrote.)
I'm linking a program (my ellsif driver) that basically brings in most
of the LLVM stuff: bitcode reading, optimizations, linking, and target
code generation.
All of a sudden, I'm getting the following when I run:
[~/elsa/ellsif] dev% ./ellsif -v test/ofmt.i test/sieve.i -time-actions
-O5
<premain>: CommandLine Error: Argument 'machine-licm' defined more than
once!
ellsif: CommandLine Error: Argument 'machine-licm' defined more than once!
I recently had a similar problem when I wrote a new pass and built it into
opt. This error message is confusing because the code that prints it, in
GetOptionInfo() in lib/Support/CommandLine.cpp:
cerr << ProgramName << ": CommandLine Error: Argument '"
<< OptionNames[0] << "' defined more than once!\n";
should be printing OptionNames[i], not OptionNames[0].
(Once I had fixed this, it was easy to see what I had done wrong in the pass
I wrote.)
Jay.
OK, I finally found my problem. (Which means I took the time to track it down.) At first glance I thought the above patch would work. It didn't.