search for: optlevel

Displaying 20 results from an estimated 150 matches for "optlevel".

2017 Jan 05
4
LLVMTargetMachine with optimization level passed from clang.
I see the BackendUtil.cpp of Clang creates the TargetMachine with the optimization level based on below mentioned logic CodeGenOpt::Level OptLevel = CodeGenOpt::Default; switch (CodeGenOpts.OptimizationLevel) { default: break; case 0: OptLevel = CodeGenOpt::None; break; case 3: OptLevel = CodeGenOpt::Aggressive; break; } As per my understanding, the correspondence between optimization level and CodeGenOpt is as below O0 -...
2017 Nov 17
2
[PATCH v2] nouveau/compiler: Allow to omit line numbers when printing instructions
..., nv50_ir::CG_STAGE_PRE_SSA); @@ -1257,13 +1257,13 @@ nv50_ir_generate_code(struct nv50_ir_prog_info *info) prog->convertToSSA(); if (prog->dbgFlags & NV50_IR_DEBUG_VERBOSE) - prog->print(); + prog->print(info->omitLineNum); prog->optimizeSSA(info->optLevel); prog->getTarget()->runLegalizePass(prog, nv50_ir::CG_STAGE_SSA); if (prog->dbgFlags & NV50_IR_DEBUG_BASIC) - prog->print(); + prog->print(info->omitLineNum); if (!prog->registerAllocation()) { ret = -4; diff --git a/src/gallium/drivers/nou...
2017 Nov 24
1
[PATCH v3] nouveau/compiler: Allow to omit line numbers when printing instructions
.../nouveau/codegen/nv50_ir_driver.h b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h index ffd53c9cd3..604a22ba89 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h @@ -82,6 +82,7 @@ struct nv50_ir_prog_info uint8_t optLevel; /* optimization level (0 to 3) */ uint8_t dbgFlags; + bool omitLineNum; struct { int16_t maxGPR; /* may be -1 if none used */ diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp index 9145801b62..eb7e9057...
2018 Aug 09
3
Legacy Loop Pass Manager question
...; // Canonicalize indvars MPM.add(createLoopIdiomPass()); // Recognize idioms like memset. addExtensionsToPM(EP_LateLoopOptimizations, MPM); MPM.add(createLoopDeletionPass()); // Delete dead loops .. if (!DisableUnrollLoops) MPM.add(createSimpleLoopUnrollPass(OptLevel)); // Unroll small loops I see -debug-pass=Structure output: Scalar Evolution Analysis Loop Pass Manager Induction Variable Simplification Recognize loop idioms Delete dead loops Unroll loops MergedLoadStoreMotion Which is in line...
2017 Jan 05
3
LLVMTargetMachine with optimization level passed from clang.
...t; On Jan 4, 2017, at 4:03 PM, Sumanth Gundapaneni via llvm-dev >> <llvm-dev at lists.llvm.org> wrote: >> >> I see the BackendUtil.cpp of Clang creates the TargetMachine with >> the optimization level based on below mentioned logic >> >> CodeGenOpt::Level OptLevel = CodeGenOpt::Default; >> switch (CodeGenOpts.OptimizationLevel) { >> default: break; >> case 0: OptLevel = CodeGenOpt::None; break; >> case 3: OptLevel = CodeGenOpt::Aggressive; break; >> } >> >> As per my understanding, the correspondence between optimiz...
2018 Oct 01
2
OptBisect implementation for new pass manager
What if in the registration interface we had three options: skippable, not skippable, and run at OptLevel::None. We'd need some way to communicate the OptLevel::None to the pass, but that doesn't seem terrible. -Andy -----Original Message----- From: David Greene [mailto:dag at cray.com] Sent: Monday, October 01, 2018 7:01 AM To: Fedor Sergeev <fedor.sergeev at azul.com> Cc: Kaylor, An...
2018 Oct 01
2
OptBisect implementation for new pass manager
On 10/01/2018 08:39 PM, David Greene wrote: > "Kaylor, Andrew" <andrew.kaylor at intel.com> writes: > >> What if in the registration interface we had three options: skippable, >> not skippable, and run at OptLevel::None. > I kind of like this idea. If necessary, the pass could even query the > target (or some other entity) about what OptLevel::None means. > > If we have such query hooks, do we need "not skippable?" If a pass is > not skippable, then running at OptLevel::None should...
2012 Aug 09
1
[LLVMdev] question about ExectuionEngine::Create
...I try to debug "target does not support mc emission" in linux (the same code executes OK in windows): Below is a snippet extracted from this method, if (UseMCJIT && ExecutionEngine::MCJITCtor) { ExecutionEngine *EE = ExecutionEngine::MCJITCtor(M, ErrorStr, JMM, OptLevel, AllocateGVsWithCode, TM); if (EE) return EE; } else if (ExecutionEngine::JITCtor) { ExecutionEngine *EE = ExecutionEngine::JITCtor(M, ErrorStr, JMM, OptLevel, AllocateGVsWithCode, TM); i...
2017 Nov 14
2
[RFC PATCH] nouveau/compiler: Allow to omit line numbers when printing instructions
..., nv50_ir::CG_STAGE_PRE_SSA); @@ -1257,13 +1257,13 @@ nv50_ir_generate_code(struct nv50_ir_prog_info *info) prog->convertToSSA(); if (prog->dbgFlags & NV50_IR_DEBUG_VERBOSE) - prog->print(); + prog->print(info->omitLineNum); prog->optimizeSSA(info->optLevel); prog->getTarget()->runLegalizePass(prog, nv50_ir::CG_STAGE_SSA); if (prog->dbgFlags & NV50_IR_DEBUG_BASIC) - prog->print(); + prog->print(info->omitLineNum); if (!prog->registerAllocation()) { ret = -4; diff --git a/src/gallium/drivers/nou...
2012 Feb 07
3
[LLVMdev] DAG optimization and lowering algorithm
...be optimized in Combine(AfterLegalizeTypes). But LegalizeTypes() did not change anything and Combine(AfterLegalizeTypes) was not called. Vector legalization that comes afterwards just scalarized the operation. SelectionDAGISel::CodeGenAndEmitDAG() .. CurDAG->Combine(BeforeLegalizeTypes, *AA, OptLevel); bool Changed; Changed = CurDAG->LegalizeTypes(); if (Changed) { CurDAG->Combine(AfterLegalizeTypes, *AA, OptLevel); } The problem does not exist if the function is bigger and something was changed on LegalizeTypes() stage. I think that Combine(AfterLegalizeTypes) shou...
2010 Jul 21
0
[LLVMdev] MC-JIT
...e code emitted. This method should returns true if fails. + /// It fills the MCContext Ctx pointer used to build MCStreamer. + /// + virtual bool addPassesToEmitMC(PassManagerBase &PM, + MCContext *&Ctx, + CodeGenOpt::Level OptLevel, + bool DisableVerify = true) { + return true; + } Ditto. + /// get machine code emitted. This method should returns true if fails. + /// It fills the MCContext Ctx pointer used to build MCStreamer. + /// + virtual bool addPassesToEmitMC(PassManagerBase &a...
2019 Mar 20
2
get Optimization Level options
Hi All, I want to use Optimization Level options in tailDuplicate() API from TailDuplicator.cpp file to restrict splice() function. With -Oz option this splice() API is duplicating the RET instruction in predecessor blocks. Could anyone please give your suggestions to get OPTLevel Options(which object will carry OptLevel Options in this stage?) in this level. Thanks & Regards, Ramakota Reddy. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender imme...
2011 Jun 06
0
[LLVMdev] Understanding SelectionDAG construction
Hi Ankur, > The flags "-view-sched-dags".. described in the doc doesn't seem to work. ( > "llc -help" doesn't list it ). as far as I remember, displaying DAGs during compilation is only enabled in "debug builds" [1] of LLVM. You probably have to re-configure and re-compile LLVM to enable this feature. Best regards, Christoph [1]
2001 Jun 06
1
ppr, number of terms, and data ordering
...on come from? I couldn't find it in the MASS table of contents on CRAN. Thanks in advance for any help you can give! ######DATASET1, ORIGINAL ORDER > pprfile.ppr <- ppr( + award~ + ilogemp+ilogage, + data=dataset1, nterms=1, max.terms=40, optlevel=3, bass=0 + ) > pprfile.ppr Call: ppr.formula(formula = award ~ ilogemp + ilogage, data = dataset1, nterms = 1, max.terms = 40, optlevel = 3, bass = 0) Goodness of fit: 1 terms 2 terms 3 terms 4 terms 5 terms 6 terms 94153840890 97278012020 86500905681 55028...
2010 Jul 20
2
[LLVMdev] MC-JIT
New patch taking Eli's comments into account. Olivier. On Tue, Jul 20, 2010 at 11:09 PM, Eli Friedman <eli.friedman at gmail.com> wrote: > On Tue, Jul 20, 2010 at 1:36 PM, Olivier Meurant > <meurant.olivier at gmail.com> wrote: >>> Seems reasonable, but I haven't looked at the code yet. I would >>> suggest trying to split your work up into separate
2017 Nov 20
0
[PATCH v2] nouveau/compiler: Allow to omit line numbers when printing instructions
...257,13 +1257,13 @@ nv50_ir_generate_code(struct nv50_ir_prog_info *info) > prog->convertToSSA(); > > if (prog->dbgFlags & NV50_IR_DEBUG_VERBOSE) > - prog->print(); > + prog->print(info->omitLineNum); > > prog->optimizeSSA(info->optLevel); > prog->getTarget()->runLegalizePass(prog, nv50_ir::CG_STAGE_SSA); > > if (prog->dbgFlags & NV50_IR_DEBUG_BASIC) > - prog->print(); > + prog->print(info->omitLineNum); > > if (!prog->registerAllocation()) { > ret =...
2010 Jul 29
1
Crash report: projection pursuit & predict
...when the optimization level is set to zero, i.e. the initial ridge terms are accepted without refitting. I encountered this problem in an out-of-sample prediction exercise using predict. But further investigation suggests the issue is with the ppr fit and predict just sppeds up the crash. The other optlevels seem to be OK, but I have not done enough testing to say for sure. I'm using 2.11.1 under the 32-bit Windows XP. I've also tested the codes under a 64-bit Ubuntu and the same problem occurred. By the way, right before Rgui shuts down, the pop-up window suggests it's a runtime error in...
2011 Jun 06
4
[LLVMdev] Understanding SelectionDAG construction
I am trying to understand the SelectionDAG construction from LLVM IR. I have gone through the doc "The LLVM Target-Independent Code Generator" on LLVM site. This gives a great initial overview. However I am unable to catch the actual control flow for the llvm->selectionDag conversion. The flags "-view-sched-dags".. described in the doc doesn't seem to work. ( "llc
2017 Jan 06
2
LLVMTargetMachine with optimization level passed from clang.
getOptLevel() gets the level from TargetMachine which is created by the Backendutil in clang with either "Default", "None" or "Aggressive". Threre is no correspondence for "Less". This boils down to , if I pass "-O1", the Target Machine is created with CodeG...
2013 May 07
1
[LLVMdev] CommandLine: using cl::Positional with enum
...he tool). In my case, only the three next commands are possible:myTool option1myTool option2 arg1 arg2 myTool option3 arg1and I don't want a different order is possible, for instance, this is not permitted:myTool arg2 option2 arg1So, I thought about using an enum for this first argument:enum OptLevel{option1, option2, option3};cl::opt<OptLevel> OptionsLevel(cl::Positional, cl::desc("Choose one of these options:"),cl::values(clEnumVal(option1, "..."),clEnumVal(option2, "..."),clEnumVal(option3, "..."), clEnumValEnd),);After that, the rest of argument...