Age | Commit message (Collapse) | Author | Files | Lines |
|
(cancelScopeLeave!): Tidy.
|
|
|
|
Remove handling of IF forms as no longer relevant.
* algebra/matfuns.spad.pamphlet
(MatrixLinearAlgebraFunctions) [rank]: Tidy.
|
|
(InnerMatrixLinearAlgebraFunctions) [rank]: Tidy.
|
|
structures.
|
|
[areEquivalent?]: Tidy.
|
|
(packWhen!): Simplify.
(optimize!): Run before changeVariableDefinitionToStore.
|
|
(optimize!): Call it.
(optimizeFunctionDef): Simplify.
|
|
properly.
|
|
optCollectVector. Move here.
(compRepeatOrCollect): Use it.
|
|
(cleanLoop!): Use it.
* interp/lisp-backend.boot ($freeVarName): Remove.
(loopVarInit): Do not generate initializer for free iterators.
Adjust callers.
(massageFreeVarInits): Remove. Adjust caller.
|
|
(compRepeatOrCollect): Use it.
* interp/g-opt.boot (optCollectVector): Likewise.
* interp/lisp-backend.boot (expandCollect): Likewise.
|
|
* interp/g-opt.boot (cleanLoop!): Rename from removeLoopExitTag!.
Adjust caller. Rewrite as a prefix walk.
|
|
(optimize!): Run it first.
* interp/compiler.boot (nullifyTargetingLeaves): Remove.
(massageLoop): Likewise.
(compRepeatOrCollect): Don't call it anymore.
|
|
* interp/g-opt.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-special.boot: Likewise.
* interp/lisp-backend.boot: Likewise.
* interp/slam.boot: Likewise.
|
|
|
|
linker flags when building for Windows.
* lisp/core.lisp.in: Do not require SB-SPROF or SB-POSIX on Windows.
|
|
|
|
(packWhen!): Use it.
(coagulateWhenSeries): Tidy.
(cancelScopeLeave!): Likewise.
|
|
(optScope): Adjust.
(removeLeave!): New.
(optimize!): Run it at the very beginning.
|
|
|
|
|
|
|
|
(optSeq,getRidOfTemps): Likewise.
(optSeq): Rewrite.
* interp/slam.boot (compileRecurrenceRelation): Tidy.
|
|
(cancelScopeLeave!): New.
(inlineLocals!): Tidy.
(optimize!): Run cancelScopeLeave! right after removeJunk!.
|
|
before changing %LETs to %stores. Run beta reduction and
condtional splitting afterward, one more time.
(optimizeFunctionDef): Simplify.
|
|
(spliceSeq!): New.
(optimize!): Run splice! packWhen! twice.
|
|
(splitAssignments!): Use it.
* algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial):
Fix thinko.
|
|
(spliceSeqArgs): Splice sequences drapped in %scope cloths too.
|
|
to local variable declarations which are not definitions.
* interp/lisp-backend.boot (expandToVMForm): Translate %undefined.
|
|
* interp/functor.boot (optFunctorBody): Generate %seq form, not PROGN.
(DescendCode): Likewise.
* interp/c-util.boot (displayComp): Fix thinko.
|
|
with packWhen!.
|
|
* boot/ast.boot (bfType): New.
* boot/translator.boot (genDeclaration): Use it.
* boot/utility.boot (every?): New. Export.
(any?): Likewise.
(takeWhile): Lilkewise.
|
|
(coagulateWhenSeries): Likewise.
(packWhen!): Likewise. Use them.
(optimize!): Call it. Tidy.
|
|
(expandIN): Likewise.
(expandON): Likewise.
(expandSTEP): Likewise.
(expandUNTIL): Likewise.
(expandWHILE): Likewise.
(expandSUCHTHAT): Likewise.
(expandInit): Likewise.
(expandIterators): Likewise.
(massageFreeVarInits): Likewise.
(expandLoop): optimize! then expand.
|
|
(optimize!): Use it.
|
|
(optimize!): Likewise. Abstract from optimizeFunctionDef.
(optimize): New.
(optimizeFunctionDef): Use optimize!.
(simplifyVMForm): Do not call optIF2COND.
(optIF2COND): Remove.
* interp/compiler.boot (compHasFormat): Use optimize! in lieu of
simplifyVMForm.
* interp/nruncomp.boot (NRTencode): Use optimize.
(NRTsetVector4a): Likewise.
|
|
are side-effect full.
(removeSeq!): Tidy. Skip side-effectfree statements.
|
|
(inlineLocals!): Likewise.
(optimizeFunctionDef): Use them.
(optSeq): Tidy.
* interp/buildom.boot (seteltRecordFun): Tidy.
* interp/clam.boot (compHash): Likewise.
|
|
(reduceXLAM!): Likewise.
(optimizeFunctionDef): Call them before simplifyVMForm.
* interp/g-util.boot (mkSeq): New.
(abstraction?): Likewise.
(walkWith!): Likewise.
|
|
* interp/define.boot (compDefineCategory2): Likewise.
* interp/nruncomp.boot (buildFunctor): Likewise.
* interp/slam.boot (compileRecurrenceRelation): Likewise.
* interp/lisp-backend.boot (expandSeq): Use PROGN in absence of EXIT.
|
|
temporary variables are local to the assignment.
|
|
(compRetractGuard): Tidy.
(compRecoverDomain): Likewise.
(compRecoverGuard): Likewise.
(compAlternativeGuard): Likewise.
(compMatchAlternative): Likewise.
(compMatch): Likewise.
|
|
(spliceSeqArgs): Tidy.
* algebra/gdpoly.spad.pamphlet
(GeneralDistributedMultivariatePolynomial): Fix thinko.
|
|
handle %bind and LET forms.
* interp/g-util.boot (spliceSeqArgs): Recurse into %seq forms.
|
|
|
|
(spliceSeqArgs): Use it.
|
|
(expandSeq): Likewise. Use it. Expand %seq forms.
|
|
* interp/g-util.boot (spliceSeqArgs): New.
* interp/g-opt.boot (changeVariableDefinitionToStore): Call it
before recursing on %seq forms.
|
|
(LD): Likewise.
|