Skip to content

Instantly share code, notes, and snippets.

@nrnrnr
Created January 21, 2022 14:42
Show Gist options
  • Save nrnrnr/a9592e70619982b8358643b4eb3f3606 to your computer and use it in GitHub Desktop.
Save nrnrnr/a9592e70619982b8358643b4eb3f3606 to your computer and use it in GitHub Desktop.
backend predicates
T: NoBackend; F: NCG, LLVM, ViaC, Interpreter
primal: backendInhibitsInterfaceWriting, backendNeedn'tLink
complement: backendGeneratesCode
T: Interpreter; F: NCG, LLVM, ViaC, NoBackend
primal: backendSptIsDynamic, backendWantsBreakpointTicks, backendForcesOptimization0, backendNeedsFullWays
complement: supportsHpc
T: ViaC; F: NCG, LLVM, Interpreter, NoBackend
primal: backendUnregisterisedOnly, backendSupportsStopC
complement:
T: LLVM; F: NCG, ViaC, Interpreter, NoBackend
primal: backendSupportsSimd, useLlvmPrimitives, backendWantsClangTools, backendWantsLlvmCppMacros
complement:
T: LLVM, ViaC; F: NCG, Interpreter, NoBackend
primal: backendSupportsSwitch
complement:
T: NCG; F: LLVM, ViaC, Interpreter, NoBackend
primal: backendSupportsEmbeddedBlobs, needsPlatformNcgSupport, useNcgPrimitives
complement: backendSplitsProcPoints
T: NCG, LLVM; F: ViaC, Interpreter, NoBackend
primal: canBeReplacedByViaC, canReplaceViaC
complement:
T: NCG, LLVM, ViaC; F: Interpreter, NoBackend
primal: backendWantsInterfaceFile, backendInterfaceHasCodegen, backendProducesObject
complement: backendIgnoresSpecialise, backendRetainsAllBindings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment