Liu, Yaxun (Sam)
2012-Sep-20 20:16 UTC
[LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file
Well, although cl::ParseCommandLineOptions contains support for @file. By default it is disabled, which is the case for llvm-link. To enable @file support in llvm-link, a small change is needed: --- llvm-link.cpp.orig 2012-09-20 16:10:50.000000000 -0400 +++ llvm-link.cpp 2012-09-20 16:11:24.000000000 -0400 @@ -83,7 +83,7 @@ LLVMContext &Context = getGlobalContext(); llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. - cl::ParseCommandLineOptions(argc, argv, "llvm linker\n"); + cl::ParseCommandLineOptions(argc, argv, "llvm linker\n", true); unsigned BaseArg = 0; std::string ErrorMessage; Sam -----Original Message----- From: Liu, Yaxun (Sam) Sent: Thursday, September 20, 2012 2:59 PM To: 'Nick Lewycky' Cc: 'llvmdev at cs.uiuc.edu' Subject: RE: [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file Just found llvm-link (and other llvm commands) have already supported @file through cl::ParseCommandLineOptions, therefore no change is needed. Thanks. Sam -----Original Message----- From: Liu, Yaxun (Sam) Sent: Thursday, September 13, 2012 3:06 PM To: 'Nick Lewycky' Cc: llvmdev at cs.uiuc.edu Subject: RE: [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file It seems clang supports @file. http://llvm.org/svn/llvm-project/cfe/trunk/tools/driver/driver.cpp So maybe it is a better idea to let llvm-link support @file instead of adding a new option. Sam -----Original Message----- From: Nick Lewycky [mailto:nicholas at mxc.ca] Sent: Thursday, September 13, 2012 2:33 PM To: Liu, Yaxun (Sam) Cc: llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file Liu, Yaxun (Sam) wrote:> I am proposing to add an option to llvm-link allow it to get a list of > input bitcode file names from a file. > > The reason is that there is a limitation for command line length which > limits the number of input bitcode files that can be passed to > llvm-link. By adding this option we can bypass such limitation. > > The name of the option can be discussed. My initial proposal would be > -input-file-list.It's common for tools to accept "@file" as an argument that means "read options from file", where options may include both flags and positional arguments (ie., more input files). For instance, gcc, as and ld all support @file. I realize this is more complicated than just reading in a list of input bitcode files, but I think the right fix is to teach llvm to support this. (It looks like clang already does? What are they doing?) Nick> Each line of the list file is a path to an input bitcode file. > > If this option is given, no input bitcode file names are allowed in > the command line. If input bitcode file names are given in the command > line, this option is not allowed. > > The implementation is simple. Only llvm-link.cpp is affected. > > Thanks. > > Sam Liu > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
NAKAMURA Takumi
2012-Sep-21 02:13 UTC
[LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file
Could we enable ReadResponseFiles=true by default? 2012/9/21 Liu, Yaxun (Sam) <Yaxun.Liu at amd.com>:> Well, although cl::ParseCommandLineOptions contains support for @file. By default it is disabled, which is the case for llvm-link. > > To enable @file support in llvm-link, a small change is needed: > > --- llvm-link.cpp.orig 2012-09-20 16:10:50.000000000 -0400 > +++ llvm-link.cpp 2012-09-20 16:11:24.000000000 -0400 > @@ -83,7 +83,7 @@ > > LLVMContext &Context = getGlobalContext(); > llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. > - cl::ParseCommandLineOptions(argc, argv, "llvm linker\n"); > + cl::ParseCommandLineOptions(argc, argv, "llvm linker\n", true); > > unsigned BaseArg = 0; > std::string ErrorMessage; > > Sam > > -----Original Message----- > From: Liu, Yaxun (Sam) > Sent: Thursday, September 20, 2012 2:59 PM > To: 'Nick Lewycky' > Cc: 'llvmdev at cs.uiuc.edu' > Subject: RE: [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file > > Just found llvm-link (and other llvm commands) have already supported @file through cl::ParseCommandLineOptions, therefore no change is needed. Thanks. > > Sam > > -----Original Message----- > From: Liu, Yaxun (Sam) > Sent: Thursday, September 13, 2012 3:06 PM > To: 'Nick Lewycky' > Cc: llvmdev at cs.uiuc.edu > Subject: RE: [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file > > It seems clang supports @file. > > http://llvm.org/svn/llvm-project/cfe/trunk/tools/driver/driver.cpp > > So maybe it is a better idea to let llvm-link support @file instead of adding a new option. > > Sam > -----Original Message----- > From: Nick Lewycky [mailto:nicholas at mxc.ca] > Sent: Thursday, September 13, 2012 2:33 PM > To: Liu, Yaxun (Sam) > Cc: llvmdev at cs.uiuc.edu > Subject: Re: [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file > > Liu, Yaxun (Sam) wrote: >> I am proposing to add an option to llvm-link allow it to get a list of >> input bitcode file names from a file. >> >> The reason is that there is a limitation for command line length which >> limits the number of input bitcode files that can be passed to >> llvm-link. By adding this option we can bypass such limitation. >> >> The name of the option can be discussed. My initial proposal would be >> -input-file-list. > > It's common for tools to accept "@file" as an argument that means "read options from file", where options may include both flags and positional arguments (ie., more input files). For instance, gcc, as and ld all support @file. > > I realize this is more complicated than just reading in a list of input bitcode files, but I think the right fix is to teach llvm to support this. (It looks like clang already does? What are they doing?) > > Nick > >> Each line of the list file is a path to an input bitcode file. >> >> If this option is given, no input bitcode file names are allowed in >> the command line. If input bitcode file names are given in the command >> line, this option is not allowed. >> >> The implementation is simple. Only llvm-link.cpp is affected. >> >> Thanks. >> >> Sam Liu
Liu, Yaxun (Sam)
2012-Sep-21 14:44 UTC
[LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file
I have no objection to that. Actually I am curious why it is disabled by default. If we enable ReadResponseFiles=true by default, we will automatically get support of response file (@file) in all llvm tools. The only issue I can think of is that some users may have file names starting with "@". Sam -----Original Message----- From: NAKAMURA Takumi [mailto:geek4civic at gmail.com] Sent: Thursday, September 20, 2012 10:14 PM To: Nick Lewycky; Liu, Yaxun (Sam) Cc: llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file Could we enable ReadResponseFiles=true by default? 2012/9/21 Liu, Yaxun (Sam) <Yaxun.Liu at amd.com>:> Well, although cl::ParseCommandLineOptions contains support for @file. By default it is disabled, which is the case for llvm-link. > > To enable @file support in llvm-link, a small change is needed: > > --- llvm-link.cpp.orig 2012-09-20 16:10:50.000000000 -0400 > +++ llvm-link.cpp 2012-09-20 16:11:24.000000000 -0400 > @@ -83,7 +83,7 @@ > > LLVMContext &Context = getGlobalContext(); > llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. > - cl::ParseCommandLineOptions(argc, argv, "llvm linker\n"); > + cl::ParseCommandLineOptions(argc, argv, "llvm linker\n", true); > > unsigned BaseArg = 0; > std::string ErrorMessage; > > Sam > > -----Original Message----- > From: Liu, Yaxun (Sam) > Sent: Thursday, September 20, 2012 2:59 PM > To: 'Nick Lewycky' > Cc: 'llvmdev at cs.uiuc.edu' > Subject: RE: [LLVMdev] RFC: Adding an option to llvm-link to allow it > to get a list of input bitcode file names from a file > > Just found llvm-link (and other llvm commands) have already supported @file through cl::ParseCommandLineOptions, therefore no change is needed. Thanks. > > Sam > > -----Original Message----- > From: Liu, Yaxun (Sam) > Sent: Thursday, September 13, 2012 3:06 PM > To: 'Nick Lewycky' > Cc: llvmdev at cs.uiuc.edu > Subject: RE: [LLVMdev] RFC: Adding an option to llvm-link to allow it > to get a list of input bitcode file names from a file > > It seems clang supports @file. > > http://llvm.org/svn/llvm-project/cfe/trunk/tools/driver/driver.cpp > > So maybe it is a better idea to let llvm-link support @file instead of adding a new option. > > Sam > -----Original Message----- > From: Nick Lewycky [mailto:nicholas at mxc.ca] > Sent: Thursday, September 13, 2012 2:33 PM > To: Liu, Yaxun (Sam) > Cc: llvmdev at cs.uiuc.edu > Subject: Re: [LLVMdev] RFC: Adding an option to llvm-link to allow it > to get a list of input bitcode file names from a file > > Liu, Yaxun (Sam) wrote: >> I am proposing to add an option to llvm-link allow it to get a list >> of input bitcode file names from a file. >> >> The reason is that there is a limitation for command line length >> which limits the number of input bitcode files that can be passed to >> llvm-link. By adding this option we can bypass such limitation. >> >> The name of the option can be discussed. My initial proposal would be >> -input-file-list. > > It's common for tools to accept "@file" as an argument that means "read options from file", where options may include both flags and positional arguments (ie., more input files). For instance, gcc, as and ld all support @file. > > I realize this is more complicated than just reading in a list of > input bitcode files, but I think the right fix is to teach llvm to > support this. (It looks like clang already does? What are they doing?) > > Nick > >> Each line of the list file is a path to an input bitcode file. >> >> If this option is given, no input bitcode file names are allowed in >> the command line. If input bitcode file names are given in the >> command line, this option is not allowed. >> >> The implementation is simple. Only llvm-link.cpp is affected. >> >> Thanks. >> >> Sam Liu
Maybe Matching Threads
- [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file
- [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file
- [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file
- [LLVMdev] RFC: Adding an option to llvm-link to allow it to get a list of input bitcode file names from a file
- [LLVMdev] [llvm-commits] patch to enable response file support in ParseCommandLineOptions