awarzynski added inline comments.

================
Comment at: flang/test/Driver/mllvm_vs_mmlir.f90:17
+! MLLVM: flang (LLVM option parsing) [options]
+! MLLVM: --print-ir-after-all
+! MLLVM-NOT: --mlir-{{.*}}
----------------
rriddle wrote:
> awarzynski wrote:
> > awarzynski wrote:
> > > rovka wrote:
> > > > rovka wrote:
> > > > > Is this the most llvm-ish option we have? I'm concerned that MLIR 
> > > > > might also decide to add an option that sounds like this (and for 
> > > > > sure -print-ir-before-all is mentioned in the [[ 
> > > > > https://mlir.llvm.org/getting_started/Debugging/ |  MLIR docs ]]).
> > > > > Is this the most llvm-ish option we have? I'm concerned that MLIR 
> > > > > might also decide to add an option that sounds like this (and for 
> > > > > sure -print-ir-before-all is mentioned in the [[ 
> > > > > https://mlir.llvm.org/getting_started/Debugging/ |  MLIR docs ]]).
> > > > 
> > > > Right, I think that might be why the premerge tests are failing...
> > > > Is this the most llvm-ish option we have? 
> > > 
> > > Sadly, most LLVM options have rather generic names that could at some 
> > > point be added in MLIR. Perhaps you'll spot something more suitable:
> > > 
> > > ```lang=bash
> > > USAGE: flang (LLVM option parsing) [options]
> > > 
> > > OPTIONS:
> > > 
> > > Color Options:
> > > 
> > >   --color                                           - Use colors in 
> > > output (default=autodetect)
> > > 
> > > General options:
> > > 
> > >   --aarch64-neon-syntax=<value>                     - Choose style of 
> > > NEON code to emit from AArch64 backend:
> > >     =generic                                        -   Emit generic NEON 
> > > assembly
> > >     =apple                                          -   Emit Apple-style 
> > > NEON assembly
> > >   --aarch64-use-aa                                  - Enable the use of 
> > > AA during codegen.
> > >   --abort-on-max-devirt-iterations-reached          - Abort when the max 
> > > iterations for devirtualization CGSCC repeat pass is reached
> > >   --allow-ginsert-as-artifact                       - Allow G_INSERT to 
> > > be considered an artifact. Hack around AMDGPU test infinite loops.
> > >   --always-execute-loop-body                        - force the body of a 
> > > loop to execute at least once
> > >   --array-constructor-initial-buffer-size=<uint>    - set the incremental 
> > > array construction buffer size (default=32)
> > >   --cfg-hide-cold-paths=<number>                    - Hide blocks with 
> > > relative frequency below the given value
> > >   --cfg-hide-deoptimize-paths                       -
> > >   --cfg-hide-unreachable-paths                      -
> > >   --cost-kind=<value>                               - Target cost kind
> > >     =throughput                                     -   Reciprocal 
> > > throughput
> > >     =latency                                        -   Instruction 
> > > latency
> > >     =code-size                                      -   Code size
> > >     =size-latency                                   -   Code size and 
> > > latency
> > >   --debugify-level=<value>                          - Kind of debug info 
> > > to add
> > >     =locations                                      -   Locations only
> > >     =location+variables                             -   Locations and 
> > > Variables
> > >   --debugify-quiet                                  - Suppress verbose 
> > > debugify output
> > >   --default-kinds=<default-kind-string>             - string to set 
> > > default kind values
> > >   --disable-i2p-p2i-opt                             - Disables 
> > > inttoptr/ptrtoint roundtrip optimization
> > >   --dot-cfg-mssa=<file name for generated dot file> - file name for 
> > > generated dot file
> > >   --enable-cse-in-irtranslator                      - Should enable CSE 
> > > in irtranslator
> > >   --enable-cse-in-legalizer                         - Should enable CSE 
> > > in Legalizer
> > >   --enable-gvn-memdep                               -
> > >   --enable-load-in-loop-pre                         -
> > >   --enable-load-pre                                 -
> > >   --enable-loop-simplifycfg-term-folding            -
> > >   --enable-name-compression                         - Enable 
> > > name/filename string compression
> > >   --enable-split-backedge-in-load-pre               -
> > >   --experimental-debug-variable-locations           - Use experimental 
> > > new value-tracking variable locations
> > >   --fdebug-dump-pre-fir                             - dump the Pre-FIR 
> > > tree prior to FIR generation
> > >   --fs-profile-debug-bw-threshold=<uint>            - Only show debug 
> > > message if the source branch weight is greater  than this value.
> > >   --fs-profile-debug-prob-diff-threshold=<uint>     - Only show debug 
> > > message if the branch probility is greater than this value (in 
> > > percentage).
> > >   --gen-array-coor                                  - in lowering create 
> > > ArrayCoorOp instead of CoordinateOp
> > >   --generate-merged-base-profiles                   - When generating 
> > > nested context-sensitive profiles, always generate extra base profile for 
> > > function with all its context profiles merged into it.
> > >   --inline-all                                      - aggressively inline 
> > > everything
> > >   --instcombine-code-sinking                        - Enable code sinking
> > >   --instcombine-guard-widening-window=<uint>        - How wide an 
> > > instruction window to bypass looking for another guard
> > >   --instcombine-max-iterations=<uint>               - Limit the maximum 
> > > number of instruction combining iterations
> > >   --instcombine-max-num-phis=<uint>                 - Maximum number phis 
> > > to handle in intptr/ptrint folding
> > >   --instcombine-max-sink-users=<uint>               - Maximum number of 
> > > undroppable users for instruction sinking
> > >   --instcombine-maxarray-size=<uint>                - Maximum array size 
> > > considered when doing a combine
> > >   --instcombine-negator-enabled                     - Should we attempt 
> > > to sink negations?
> > >   --instcombine-negator-max-depth=<uint>            - What is the maximal 
> > > lookup depth when trying to check for viability of negation sinking.
> > >   --kind-mapping=<kind-mapping-string>              - kind mapping string 
> > > to set kind precision
> > >   --length-to-hash-string-literal=<ulong>           - string literals 
> > > that exceed this length will use a hash value as their symbol name
> > >   --main-entry-name=<string>                        - override the name 
> > > of the default PROGRAM entry (may be helpful for using other runtimes)
> > >   --math-runtime=<value>                            - Select math runtime 
> > > version:
> > >     =fast                                           -   use pgmath fast 
> > > runtime
> > >     =relaxed                                        -   use pgmath 
> > > relaxed runtime
> > >     =precise                                        -   use pgmath 
> > > precise runtime
> > >     =llvm                                           -   only use LLVM 
> > > intrinsics (may be incomplete)
> > >   --matrix-default-layout=<value>                   - Sets the default 
> > > matrix layout
> > >     =column-major                                   -   Use column-major 
> > > layout
> > >     =row-major                                      -   Use row-major 
> > > layout
> > >   --mir-strip-debugify-only                         - Should 
> > > mir-strip-debug only strip debug info from debugified modules by default
> > >   --no-discriminators                               - Disable generation 
> > > of discriminator information.
> > >   --non-recursive-procedures                        - Make procedures 
> > > non-recursive by default. This was the default for all Fortran standards 
> > > prior to 2018.
> > >   --opaque-pointers                                 - Use opaque pointers
> > >   --outline-intrinsics                              - Lower all intrinsic 
> > > procedure implementation in their own functions
> > >   --safepoint-ir-verifier-print-only                -
> > >   --sample-profile-check-record-coverage=<N>        - Emit a warning if 
> > > less than N% of records in the input profile are matched to the IR.
> > >   --sample-profile-check-sample-coverage=<N>        - Emit a warning if 
> > > less than N% of samples in the input profile are matched to the IR.
> > >   --sample-profile-max-propagate-iterations=<uint>  - Maximum number of 
> > > iterations to go through when propagating sample block/edge weights 
> > > through the CFG.
> > >   --use-alloc-runtime                               - Lower allocations 
> > > to fortran runtime calls
> > >   --use-desc-for-alloc                              - Always use 
> > > descriptors for POINTER and ALLOCATABLE
> > >   --verify-legalizer-debug-locs=<value>             - Verify that debug 
> > > locations are handled
> > >     =none                                           -   No verification
> > >     =legalizations                                  -   Verify 
> > > legalizations
> > >     =legalizations+artifactcombiners                -   Verify 
> > > legalizations and artifact combines
> > >   --verify-region-info                              - Verify region info 
> > > (time consuming)
> > > 
> > > Generic Options:
> > > 
> > >   --help                                            - Display available 
> > > options (--help-hidden for more)
> > >   --help-list                                       - Display list of 
> > > available options (--help-list-hidden for more)
> > >   --version                                         - Display the version 
> > > of this program
> > > ```
> > > Right, I think that might be why the premerge tests are failing...
> > 
> > Doh, I updated the test before sending this, but forgot to re-run it :( 
> > Should be fixed now.
> I'd be alright with a patch to MLIR that prefixed the pass manager options 
> with `mlir-`. The rest of our options (that are provided by libraries) should 
> already be prefixed with that AFAIK.
Sounds like a plan, thanks for the suggestion!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123297/new/

https://reviews.llvm.org/D123297

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to