CLANG-REPL(1)
CLANG-REPL(1) โ User Commands โจ
okay bestie, this is the manual page for clang-repl, and we are doing it with full main character energy. ๐
๐ธ NAME ๐ธ
clang-repl โ manual page for clang-repl 20 ๐ซถ
๐ DESCRIPTION ๐
USAGE: clang-repl [options] [code to run]
๐ OPTIONS ๐
๐ Color Options ๐
--colorโ use colors in output (default=autodetect). slay, your terminal can be cute too. ๐
๐ General options ๐
--Xcc=<string>โ argument to pass to the CompilerInvocation. ๐ซถ--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โ allowG_INSERTto be considered an artifact. Hack around AMDGPU test infinite loops. ๐--amdgpu-atomic-optimizer-strategy=<value>โ select DPP or Iterative strategy for scan:=DPPโ use DPP operations for scan=Iterativeโ use Iterative approach for scan=Noneโ disable atomic optimizer
--amdgpu-bypass-slow-divโ skip 64-bit divide for dynamic 32-bit values. ๐ฅ--amdgpu-disable-loop-alignmentโ do not align and prefetch loops. ๐--amdgpu-dpp-combineโ enable DPP combiner. โจ--amdgpu-dump-hsa-metadataโ dump AMDGPU HSA Metadata. ๐--amdgpu-enable-merge-m0โ merge and hoist M0 initializations. ๐--amdgpu-indirect-call-specialization-threshold=<uint>โ a threshold controls whether an indirect call will be specialized. ๐--amdgpu-kernarg-preload-count=<uint>โ how many kernel arguments to preload onto SGPRs. ๐ธ--amdgpu-module-splitting-max-depth=<uint>โ maximum search depth.0forces a greedy approach. warning: the algorithm is up toO(2^N), whereNis the max depth. โ ๏ธ--amdgpu-promote-alloca-to-vector-limit=<uint>โ maximum byte size to consider promote alloca to vector. ๐ฆ--amdgpu-sdwa-peepholeโ enable SDWA peepholer. ๐ฅ--amdgpu-use-aa-in-codegenโ enable the use of AA during codegen. ๐--amdgpu-verify-hsa-metadataโ verify AMDGPU HSA Metadata. โ--amdgpu-vgpr-index-modeโ use GPR indexing mode instead of movrel for vector indexing. ๐--argext-abi-checkโ verify that narrow int args are properly extended per the SystemZ ABI. ๐--arm-add-build-attributesโ (no description in the original; it's just mysterious) ๐--arm-implicit-it=<value>โ allow conditional instructions outside of an IT block:=alwaysโ accept in both ISAs, emit implicit ITs in Thumb=neverโ warn in ARM, reject in Thumb=armโ accept in ARM, reject in Thumb=thumbโ warn in ARM, emit implicit ITs in Thumb
--asm-show-instโ emit internal instruction representation to assembly file. ๐ซถ--atomic-counter-update-promotedโ do counter update using atomic fetch add for promoted counters only. ๐ฅ--atomic-first-counterโ use atomic fetch add for first counter in a function (usually the entry counter). ๐--bounds-checking-single-trapโ use one trap block per function. ๐--bpf-stack-size=<int>โ specify the BPF stack size limit. ๐ธ--cfg-hide-cold-paths=<number>โ hide blocks with relative frequency below the given value. ๐--cfg-hide-deoptimize-pathsโ (no description given, iconic) ๐--cfg-hide-unreachable-pathsโ (also no description, bestie) ๐ญ--check-functions-filter=<regex>โ only emit checks for arguments of functions whose names match the given regular expression. ๐--conditional-counter-updateโ do conditional counter updates in single byte counters mode) ๐ญ--cost-kind=<value>โ target cost kind:=throughputโ reciprocal throughput=latencyโ instruction latency=code-sizeโ code size=size-latencyโ code size and latency
--crelโ use CREL relocation format for ELF. ๐ฅ--cs-profile-generateโ perform context sensitive PGO instrumentation. ๐--cs-profile-path=<string>โ context sensitive profile file path. ๐--debug-info-correlateโ use debug info to correlate profiles. (Deprecated, use-profile-correlate=debug-info). โ ๏ธ--debugify-func-limit=<ulong>โ set max number of processed functions per pass. ๐--debugify-level=<value>โ kind of debug info to add:=locationsโ locations only=location+variablesโ Locations and Variables
--debugify-quietโ suppress verbose debugify output. ๐--disable-auto-upgrade-debug-infoโ disable autoupgrade of debug info. ๐--disable-i2p-p2i-optโ disables inttoptr/ptrtoint roundtrip optimization. ๐ซ--disable-promote-alloca-to-ldsโ disable promote alloca to LDS. ๐--disable-promote-alloca-to-vectorโ disable promote alloca to vector. ๐ฆ--do-counter-promotionโ do counter register promotion. ๐ฅ--dot-cfg-mssa=<file name for generated dot file>โ file name for generated dot file. ๐--dwarf-version=<int>โ Dwarf version. ๐--dwarf64โ generate debugging info in the 64-bit DWARF format. ๐--emit-compact-unwind-non-canonicalโ whether to try to emit Compact Unwind for non canonical entries. ๐ธ--emit-dwarf-unwind=<value>โ whether to emit DWARF EH frame entries:=alwaysโ always emit EH frame entries=no-compact-unwindโ only emit EH frame entries when compact unwind is not available=defaultโ use target platform default
--emscripten-cxx-exceptions-allowed=<string>โ the list of function names in which Emscripten-style exception handling is enabled (see emscriptenEMSCRIPTEN_CATCHING_ALLOWEDoptions). ๐ซถ--enable-cse-in-irtranslatorโ should enable CSE in irtranslator. โจ--enable-cse-in-legalizerโ should enable CSE in Legalizer. โจ--enable-emscripten-cxx-exceptionsโ WebAssembly Emscripten-style exception handling. ๐--enable-emscripten-sjljโ WebAssembly Emscripten-style setjmp/longjmp handling. ๐--enable-gvn-hoistโ enable the GVN hoisting pass (default = off). ๐ฅ--enable-gvn-memdepโ (no description in the original, just vibes) ๐--enable-gvn-memoryssaโ (no description here either, bestie) ๐--enable-gvn-sinkโ enable the GVN sinking pass (default = off). ๐ฅ--enable-jump-table-to-switchโ enable JumpTableToSwitch pass (default = off). ๐--enable-load-in-loop-preโ (no description given) ๐ญ--enable-load-preโ (also blank in the original) ๐--enable-loop-simplifycfg-term-foldingโ (no description, just a flag) โจ--enable-name-compressionโ enable name/filename string compression. ๐--enable-split-backedge-in-load-preโ (no description in the original) ๐--enable-split-loopiv-heuristicโ enable loop iv regalloc heuristic. ๐--enable-vtable-profile-useโ if ThinLTO and WPD is enabled and this option is true, vtable profiles will be used by ICP pass for more efficient indirect call sequence. If false, type profiles won't be used. ๐--enable-vtable-value-profilingโ if true, the virtual table address will be instrumented to know the types of a C++ pointer. The information is used in indirect call promotion to do selective vtable-based comparison. ๐--execute-concurrency=<uint>โ the number of threads used to process all files in parallel. Set to0for hardware concurrency. This flag only applies to all-TUs. ๐ฅ--executor=<string>โ the name of the executor to use. ๐ซถ--expand-variadics-override=<value>โ override the behaviour of expand-variadics:=unspecifiedโ use the implementation defaults=disableโ disable the pass entirely=optimizeโ optimise without changing ABI=loweringโ change variadic calling convention
--experimental-debug-variable-locationsโ use experimental new value-tracking variable locations. ๐งช--experimental-debuginfo-iteratorsโ enable communicating debuginfo positions through iterators, eliminating intrinsics. Has no effect if--preserve-input-debuginfo-format=true. ๐--fatal-warningsโ treat warnings as errors. โ ๏ธ--fdpicโ use the FDPIC ABI. ๐--filter=<string>โ only process files that match this filter. This flag only applies to all-TUs. ๐ธ--force-tail-folding-style=<value>โ force the tail folding style:=noneโ disable tail folding
โฆand the value menu just keeps going, bestie, we're not even close to done ๐
=dataโ makes a lane mask for data only, using theactive.lane.maskintrinsic โจ=data-without-lane-maskโ makes the lane mask withcompare/stepvectorinstead ๐=data-and-controlโ makes the lane mask using theactive.lane.maskintrinsic and then uses that same mask for both data and control flow ๐=data-and-control-without-rt-checkโ basicallydata-and-controlbut it yeets the runtime check ๐ซถ=data-with-evlโ uses predicated EVL instructions for tail folding. If EVL isn't supported, it falls back todata-without-lane-mask๐--fs-profile-debug-bw-threshold=<uint>โ only shows that debug message if the source branch weight is bigger than this value--fs-profile-debug-prob-diff-threshold=<uint>โ only shows the debug message if the branch probability is bigger than this value (and it's in percentage, so like, percent)--generate-merged-base-profilesโ when you're generating nested context-sensitive profiles, always generate an extra base profile for a function with all its context profiles merged into it ๐--gpsize=<uint>โ Global Pointer Addressing Size. the default size is8--hash-based-counter-splitโ renames the counter variable of acomdatfunction based on cfg hash--hexagon-add-build-attributesโ (no description, it's giving mysterious ๐ต๏ธ)--hexagon-rdf-limit=<uint>โ (no description either, iconic silence)--hot-cold-splitโ turns on the hot-cold splitting pass ๐ฅ๐ง--hwasan-percentile-cutoff-hot=<int>โ hot percentile cutoff.--hwasan-random-rate=<number>โ a probability value in the range[0.0, 1.0]for keeping instrumentation of a function--implicit-mapsymsโ allows a mapping symbol at section beginning to be implicit, which lowers the number of mapping symbols at the expense of some portability. Recommended for projects that can build all their object files using this option--import-all-indexโ imports all external functions in index.--incremental-linker-compatibleโ when used withfiletype=obj, emits an object file you can use with an incremental linker โจ--instcombine-code-sinkingโ enables code sinking ๐ซง--instcombine-guard-widening-window=<uint>โ how wide an instruction window to bypass looking for another guard--instcombine-max-num-phis=<uint>โ max number of phis to handle inintptr/ptrintfolding--instcombine-max-sink-users=<uint>โ max number of undroppable users for instruction sinking--instcombine-maxarray-size=<uint>โ max array size considered when doing a combine--instcombine-negator-enabledโ should we even attempt to sink negations? ๐ค--instcombine-negator-max-depth=<uint>โ the maximal lookup depth when you're trying to check if negation sinking is viable.--instrprof-atomic-counter-update-allโ makes all profile counter updates atomic (for testing only, bestie, don't ship this)--internalize-public-api-file=<filename>โ a file containing a list of symbol names to preserve--internalize-public-api-list=<list>โ a list of symbol names to preserve--iterative-counter-promotionโ allows counter promotion across the whole loop nest.--lint-abort-on-errorโ in the Lint pass, aborts on errors ๐--loongarch-use-aaโ enables the use of AA during codegen.--lower-allow-check-percentile-cutoff-hot=<int>โ hot percentile cutoff.--lower-allow-check-random-rate=<number>โ a probability value in the range[0.0, 1.0]of unconditional pseudo-random checks โจ--lto-aix-system-assembler=<path>โ path to a system assembler, only picked up on AIX--lto-embed-bitcode=<value>โ embeds LLVM bitcode in object files produced by LTO ๐=noneโ do not embed=optimizedโ embed after all optimization passes=post-merge-pre-optโ embed post merge, but before optimizations
--lto-pass-remarks-filter=<regex>โ only records optimization remarks from passes whose names match the given regular expression--lto-pass-remarks-format=<format>โ the format used for serializing remarks (default:YAML)--lto-pass-remarks-output=<filename>โ output filename for pass remarks--matrix-default-layout=<value>โ sets the default matrix layout ๐=column-majorโ use column-major layout=row-majorโ use row-major layout
--matrix-print-after-transpose-optโ (no description, we vibe blindly ๐)--max-counter-promotions=<int>โ max number of allowed counter promotions--max-counter-promotions-per-loop=<uint>โ max number of counter promotions per loop, so we don't increase register pressure too much ๐ฎโ๐จ--mc-relax-allโ when used withfiletype=obj, relaxes all fixups in the emitted object file--mcabacโtbd(literally. that's it. that's the description. ๐)--merror-missing-parenthesisโ errors out for a missing parenthesis around predicate registers--merror-noncontigious-registerโ errors out for register names that aren't contigious--mhvxโ enables Hexagon Vector eXtensions ๐--mhvx=<value>โ enables Hexagon Vector eXtensions=v60โ build for HVX v60=v62โ build for HVX v62=v65โ build for HVX v65=v66โ build for HVX v66=v67โ build for HVX v67=v68โ build for HVX v68=v69โ build for HVX v69=v71โ build for HVX v71=v73โ build for HVX v73=v75โ build for HVX v75=v79โ build for HVX v79
--mips-compact-branches=<value>โ MIPS Specific: compact branch policy.=neverโ do not use compact branches if possible.=optimalโ use compact branches where appropriate (this is the default).=alwaysโ always use compact branches if possible.
--mips16-constant-islandsโ enables mips16 constant islands ๐๏ธ--mips16-hard-floatโ enables mips16 hard float ๐ซง--mir-strip-debugify-onlyโ shouldmir-strip-debugonly strip debug info from debugified modules by default--misexpect-tolerance=<uint>โ prevents emitting diagnostics when profile counts are withinN%of the threshold.. (yes the double period is canon, leave it)--mno-compoundโ disables looking for compound instructions for Hexagon--mno-fixupโ disables fixing up resolved relocations for Hexagon--mno-ldc1-sdc1โ expands double precision loads and stores to their single precision counterparts--mno-pairingโ disables looking for duplex instructions for Hexagon--mwarn-missing-parenthesisโ warns for a missing parenthesis around predicate registers--mwarn-noncontigious-registerโ warns for register names that arent contigious--mwarn-sign-mismatchโ warns for mismatching a signed and unsigned value โ ๏ธ--no-deprecated-warnโ suppresses all deprecated warnings--no-discriminatorsโ disables generation of discriminator information.--no-type-checkโ suppresses type errors (Wasm)--no-warnโ suppresses all warnings ๐--nvptx-approx-log2f32โ NVPTX Specific: whether to uselg2.approxforlog2--nvptx-sched4regโ NVPTX Specific: schedule for register pressue--object-size-offset-visitor-max-visit-instructions=<uint>โ max number of instructions forObjectSizeOffsetVisitorto look at ๐--pgo-block-coverageโ use this option to enable basic block coverage instrumentation--pgo-temporal-instrumentationโ use this option to enable temporal instrumentation--pgo-view-block-coverage-graphโ creates a dot file of CFGs with block coverage inference information โจ--print-pipeline-passesโ prints a'-passes'compatible string describing the pipeline (best-effort only).--profile-correlate=<value>โ use debug info or a binary file to correlate profiles ๐=<empty>โ no profile correlation=debug-infoโ use debug info to correlate=binaryโ use binary to correlate
--promote-alloca-vector-loop-user-weight=<uint>โ the bonus weight of users of allocas within a loop when sorting profitable allocas--r600-ir-structurizeโ use the StructurizeCFG IR pass--riscv-add-build-attributesโ (no description, just vibes ๐)--riscv-use-aaโ enables the use of AA during codegen.--runtime-counter-relocationโ enables relocating counters at runtime.--safepoint-ir-verifier-print-onlyโ (no description once again, iconic ๐)--sample-profile-check-record-coverage=<N>โ emits a warning if less thanN%of records in the input profile are matched to the IR--sample-profile-check-sample-coverage=<N>โ ok so this one yells at you (well, warns) if fewer thanN% of the samples in your input profile managed to match up with the IR. bestie mismatch? it'll let you know. ๐ญ--sample-profile-max-propagate-iterations=<uint>โ the maximum number of iterations to go through when propagating sample block/edge weights through the CFG. that's it, that's the whole thing. ๐--sampled-instr-burst-duration=<uint>โ sets the profile instrumentation burst duration, and it can range from1up to the value ofsampled-instr-period(0is invalid, don't even). this number of samples gets recorded for eachsampled-instr-periodcount update. setting it to1turns on simple sampling, and if you do that, it's recommended you setsampled-instr-periodto a prime number. โจ--sampled-instr-period=<uint>โ sets the profile instrumentation sample period. a sample period of0is invalid. for each sample period, a fixed number of consecutive samples gets recorded, and that number is controlled by thesampled-instr-burst-durationflag. the default sample period of65536is optimized for generating efficient code that leverages unsigned short integer wrapping in overflow โ but heads up, that's disabled under simple sampling (burst duration =1). ๐ซถ--sampled-instrumentationโ do the PGO instrumentation sampling. literally just that. ๐ฏ--sanitizer-early-opt-epโ insert sanitizers on OptimizerEarlyEP. ๐งผ--save-temp-labelsโ don't discard temporary labels. keep 'em, they're precious. ๐--skip-ret-exit-blockโ suppress counter promotion if exit blocks containret. periodt. ๐--speculative-counter-promotion-max-exiting=<uint>โ the max number of exiting blocks of a loop to allow speculative counter promotion. ๐ช--speculative-counter-promotion-to-loopโ when this option is false, if the target block is in a loop, the promotion gets disallowed โ unless the promoted counter update can be further/iteratively promoted into an acyclic region. ๐ซ--spirv-ext=<value>โ specify the list of enabled SPIR-V extensions. ๐--spv-dump-depsโ dump MIR with SPIR-V dependencies info. ๐๏ธ--spv-emit-nonsemantic-debug-infoโ emit SPIR-VNonSemantic.Shader.DebugInfo.100instructions. ๐--summary-file=<string>โ the summary file to use for function importing. ๐--sve-tail-folding=<string>โ controls the use of vectorisation using tail-folding for SVE, where you write the option in the form(Initial)[+(Flag1|Flag2|...)]. the vibes, decoded:disabledโ (Initial) no loop types will vectorize using tail-foldingdefaultโ (Initial) uses the default tail-folding settings for the target CPUallโ (Initial) all legal loop types will vectorize using tail-foldingsimpleโ (Initial) use tail-folding for simple loops (not reductions or recurrences)reductionsโ use tail-folding for loops containing reductionsnoreductionsโ inverse of aboverecurrencesโ use tail-folding for loops containing fixed order recurrencesnorecurrencesโ inverse of abovereverseโ use tail-folding for loops requiring reversed predicatesnoreverseโ inverse of above
--tail-predication=<value>โ MVE tail-predication pass options. the lore:=disabledโ don't tail-predicate loops=enabled-no-reductionsโ enable tail-predication, but not for reduction loops=enabledโ enable tail-predication, including reduction loops=force-enabled-no-reductionsโ enable tail-predication, but not for reduction loops, and force this which might be unsafe=force-enabledโ enable tail-predication, including reduction loops, and force this which might be unsafe
bestie. notice the force- ones say might be unsafe. that's not me being dramatic, that's the docs. tread carefully. ๐
--target-abi=<string>โ the name of the ABI to be targeted from the backend. ๐ฏ--thinlto-assume-mergedโ assume the input has already undergone ThinLTO function importing and the other pre-optimization pipeline changes. just assume it, trust. ๐--threads=<int>โ (the docs give you literally nothing here. no description. crickets. iconic in its own way.) ๐คท--translator-compatibility-modeโ SPIR-V Translator compatibility mode. ๐ค--type-based-intrinsic-costโ calculate intrinsics cost based only on argument types. ๐ข--ubsan-guard-checksโ guard UBSAN checks withllvm.allow.ubsan.check(). ๐ก๏ธ--use-undefโ use undef when generating programs. ๐ซฅ--verify-region-infoโ verify region info (time consuming, so likeโฆ go get a snack ๐)--vp-counters-per-site=<number>โ the average number of profile counters allocated per value profiling site. ๐--vp-static-allocโ do static counter allocation for value profiler. ๐งฎ--wasm-enable-ehโ WebAssembly exception handling. ๐ธ๏ธ--wasm-enable-sjljโ WebAssembly setjmp/longjmp handling. ๐ฆ--wasm-use-legacy-ehโ WebAssembly exception handling (legacy). ๐ต--wholeprogramdevirt-cutoff=<uint>โ max number of devirtualizations for devirt module pass. โ๏ธ--write-experimental-debuginfoโ write debug info in the new non-intrinsic format. has no effect if--preserve-input-debuginfo-format=true. bestie read that twice before you go changing stuff. ๐ญ--x86-align-branch=<string>โ specify types of branches to align (it's a plus separated list of types):jccโ indicates conditional jumpsfusedโ indicates fused conditional jumpsjmpโ indicates direct unconditional jumpscallโ indicates direct and indirect callsretโ indicates retsindirectโ indicates indirect unconditional jumps
--x86-align-branch-boundary=<uint>โ controls how the assembler should align branches with NOP. if the boundary's size is not0, it should be a power of 2 and no less than32. branches get aligned to prevent them from being across or against the boundary of the specified size. the default value0does not align branches. ๐งฑ--x86-branches-within-32B-boundariesโ align selected instructions to mitigate the negative performance impact of Intel's micro code update for errata skx102. may break assumptions about labels corresponding to particular instructions, and should be used with caution. โ ๏ธ--x86-pad-max-prefix-size=<uint>โ maximum number of prefixes to use for padding. ๐งท--x86-relax-relocationsโ emitGOTPCRELX/REX_GOTPCRELX/CODE_4_GOTPCRELXinstead ofGOTPCRELon x86-64 ELF. ๐--x86-sse2avxโ specify that the assembler should encode SSE instructions with VEX prefix. ๐
โจ Generic Options โจ
--helpโ display available options (--help-hiddenfor more). the classic. ๐--help-listโ display list of available options (--help-list-hiddenfor more). ๐๏ธ--versionโ display the version of this program. ๐ท๏ธ
๐ธ Polly Options: Configure the polly loop optimizer ๐ธ
--pollyโ enable the polly optimizer (with-O1,-O2or-O3). โจ--polly-2nd-level-tilingโ enable a 2nd level loop of loop tiling. ๐--polly-annotate-metadata-vectorizeโ append vectorize enable/disable metadata from polly. ๐ท๏ธ--polly-ast-print-accessesโ print memory access functions. ๐จ๏ธ--polly-context=<isl parameter set>โ provide additional constraints on the context parameters. ๐๏ธ--polly-dce-precise-steps=<int>โ the number of precise steps between two approximating iterations. (A value of-1schedules another approximation stage before the actual dead code elimination. ๐ช--polly-delicm-max-ops=<int>โ maximum number of isl operations to invest for lifetime analysis;0=no limit. โพ๏ธ--polly-detect-full-functionsโ allow the detection of full functions. ๐--polly-dump-afterโ dump module after Polly transformations into a file suffixed with"-after". ๐ค--polly-dump-after-file=<string>โ dump module after Polly transformations to the given file. ๐--polly-dump-beforeโ dump module before Polly transformations into a file suffixed with"-before". ๐ฅ--polly-dump-before-file=<string>โ dump module before Polly transformations to the given file. ๐--polly-enable-simplifyโ simplify SCoP after optimizations. ๐งน--polly-ignore-func=<string>โ ignore functions that match a regex. multiple regexes can be comma separated. Scop detection will ignore all functions that match ANY of the regexes provided. ๐ซ--polly-isl-arg=<argument>โ option passed to ISL. ๐--polly-matmul-optโ perform optimizations of matrix multiplications based on pattern matching. ๐ข--polly-on-isl-error-abortโ abort if an isl error is encountered. ๐ฅ--polly-only-func=<string>โ only run on functions that match a regex. multiple regexes can be comma separated. Scop detection will run on all functions that match ANY of the regexes provided. โ--polly-only-region=<identifier>โ only run on certain regions (The provided identifier must appear in the name of the region's entry block. ๐--polly-only-scop-detectionโ only run scop detection, but no other optimizations. ๐--polly-optimized-scopsโ give me the polyhedral tea โ: this dumps the polyhedral description of Scops that got optimized with the isl scheduling optimizer, with the whole set of post-scheduling transformations applied on the schedule tree. very demure, very optimized โจ--polly-parallelโ generate thread parallel code (isl codegen only, bestie, only that one) ๐งต--polly-parallel-forceโ force that thread parallel code generation and ignore any cost model. it's giving "i said what i said" ๐--polly-pattern-matching-based-optsโ do optimizations based on pattern matching ๐--polly-postoptsโ apply post-rescheduling optimizations like tiling (this one requires-polly-reschedule, no cap) โจ--polly-pragma-based-optsโ apply user-directed transformation from metadata ๐--polly-pragma-ignore-depcheckโ skip the dependency check for pragma-based transformations. living dangerously, love that for you ๐ญ--polly-process-unprofitableโ process scops that are unlikely to benefit from Polly optimizations. main character energy for the underdogs ๐ซถ--polly-register-tilingโ enable register tiling ๐ฅ--polly-reportโ print information about the activities of Polly ๐--polly-rescheduleโ optimize SCoPs using ISL ๐--polly-showโ highlight the code regions that will be optimized in a (CFG BBs and LLVM-IR instructions) ๐--polly-show-onlyโ highlight the code regions that will be optimized in a (CFG only BBs) ๐ฆ--polly-stmt-granularity=_value_ โ the algorithm to use for splitting basic blocks into multiple statements=bbโ one statement per basic block=scalar-indepโ the scalar independence heuristic=storeโ store-level granularity
--polly-tc-optโ perform optimizations of tensor contractions based on pattern matching ๐--polly-tilingโ enable loop tiling ๐งฑ--polly-vectorizer=_value_ โ pick the vectorization strategy=noneโ no vectorization=stripmineโ strip-mine outer loops so the loop-vectorizer triggers
and that's a wrap on this whole entire page, bestie ๐ this was clang-repl version 20, dated September 2026 โ so if you're reading this in a future where the dates feel fake, blame the manpage, not me. go forth and slay your REPL sessions, ily ๐๐
โจ
๐ฆ where this page comes from
- ubuntu stonking: clang-tools-20 1:20.1.8-2ubuntu13 ยท APACHE-2-LLVM-EXCEPTIONS
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms