[llvm-commits] patch for printing machine instrs after a specified pass

Bin Zeng bzeng at apple.com
Tue May 29 11:29:16 PDT 2012


Thank you all very much for the helpful comments and suggestions! 
This is a new version with all of your comments incorporated. 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.print-machineinstrs-0.9
Type: application/octet-stream
Size: 7947 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120529/e467eff0/attachment.obj>
-------------- next part --------------

On May 29, 2012, at 10:46 AM, Bin Zeng wrote:

> 
> On May 29, 2012, at 9:32 AM, Chad Rosier wrote:
> 
>> Bin,
>> For this test case:
>> +; RUN: llc < %s -O3 -print-machineinstrs=branch-folder -o /dev/null |& FileCheck %s
>> 
>> What is the associated CHECK for this test?  I think you could add a more complex check to ensure the machine instrs is being printed directly after the branch folder pass.  It probably involves using the -debug-pass=Structure option.
>> 
> 
> That is much better. I added a couple more checks to make sure that machine instrs are printed after the specified pass such as branch-folder. For the case when machine instrs are printed after all the passes, it seems not easy to check that. 
> 
>> +static cl::opt<std::string>
>> +PrintMachineInstrs("print-machineinstrs",
>> +                   cl::ValueOptional,
>> +                   cl::desc("Print machine instrs"),
>> +                   cl::value_desc("pass-name"),
>> +                   cl::init("option-unspecified"));
>> 
>> Please maximize the horizontal space by only starting a new line when necessary (i.e., to prevent an 80-column violation).
>> 
> 
> Thanks. The indentation has been changed. 
> 
>> +  else if (!StringRef(PrintMachineInstrs.getValue()).equals("option-unspecified")){
>> 
>> 80-column violation.  There should also be a space between the right most parentheses and the left brace.
>> 
>> Chad
>> 
> 
> Thanks! Good eyes! A space has been added between ) and { and added a line to the .emacs file so that it highlights the lines with 
> 80-column violation in case I missed them.
> 
>> 
>> On May 25, 2012, at 5:51 PM, Bin Zeng wrote:
>> 
>>> Hi all,
>>> 
>>> My name is Bin Zeng and an intern working on a project to serialize MachineInstrs 
>>> in the backend. This patch adds a insertPass API to insert a pass before each instance
>>> of another pass and enhances the existing -print-machineinstrs so that the MachineInstrs
>>> after a specific pass can be printed. For instance, to print the MachineInstrs after branch-folder
>>> pass, you can do: $llc -O3 -print-machineinstrs=branch-folder filename.bc -o filename.s 
>>> Also, the command line option is back compatible. You can dump MachineInstrs after all
>>> the passes. 
>>> 
>>> <patch-0.8>
>>> 
>>> Thanks for reading. 
>>> -Bin
>> 
> 



More information about the llvm-commits mailing list