Rename argument strings of codegen passes to avoid collisions with command line
authorAkira Hatanaka <ahatanaka@apple.com>
Sat, 13 Dec 2014 04:52:04 +0000 (04:52 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Sat, 13 Dec 2014 04:52:04 +0000 (04:52 +0000)
commitce9b37c08774ac1cf2008e7712068dc503565d2b
treeed676d8a23bbd08c68ca6dba434016ccba39a3c9
parente881eef2dbbb083799fab5b11879f2bcb60ed095
Rename argument strings of codegen passes to avoid collisions with command line
options.

This commit changes the command line arguments (PassInfo::PassArgument) of two
passes, MachineFunctionPrinter and MachineScheduler, to avoid collisions with
command line options that have the same argument strings.

This bug manifests when the PassList construct (defined in opt.cpp) is used
in a tool that links with codegen passes. To reproduce the bug, paste the
following lines into llc.cpp and run llc.

#include "llvm/IR/LegacyPassNameParser.h"
static llvm::cl::list<const llvm::PassInfo*, bool, llvm::PassNameParser>
PassList(llvm::cl::desc("Optimizations available:"));

rdar://problem/19212448

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224186 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineFunctionPrinterPass.cpp
lib/CodeGen/MachineScheduler.cpp
lib/CodeGen/Passes.cpp
test/CodeGen/Generic/print-machineinstrs.ll