Files
compiler-explorer/lib/compilers/_all.ts
Oguz Ulgen f7bc52a923 Add Helion language support (#8206)
Helion is a Python-embedded domain-specific language (DSL) for authoring
machine learning kernels, designed to compile down to Triton.

https://github.com/pytorch/helion

I mostly followed the Triton example, please let me know if there's more
I need to do or anything I missed.

infra PR: https://github.com/compiler-explorer/infra/pull/1875
2025-11-04 12:08:20 -06:00

182 lines
7.7 KiB
TypeScript

// Copyright (c) 2021, Compiler Explorer Authors
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
export {AdaCompiler} from './ada.js';
export {AMDRGACompiler} from './amd-rga.js';
export {AnalysisTool} from './analysis-tool.js';
export {AssemblyCompiler} from './assembly.js';
export {AvrGcc6502Compiler} from './avrgcc6502.js';
export {BeebAsmCompiler} from './beebasm.js';
export {C2RustCompiler} from './c2rust.js';
export {C3Compiler} from './c3c.js';
export {CarbonCompiler, CarbonExplorerCompiler} from './carbon.js';
export {Cc65Compiler} from './cc65.js';
export {CerberusCompiler} from './cerberus.js';
export {CircleCompiler} from './circle.js';
export {CIRCTCompiler} from './circt.js';
export {CL430Compiler} from './cl430.js';
export {
ClangCompiler,
ClangCudaCompiler,
ClangDxcCompiler,
ClangHexagonCompiler,
ClangHipCompiler,
ClangIntelCompiler,
Z80ClangCompiler,
} from './clang.js';
export {ClangCLCompiler} from './clangcl.js';
export {CleanCompiler} from './clean.js';
export {ClojureCompiler} from './clojure.js';
export {CLSPVCompiler} from './clspv.js';
export {CMakeScriptCompiler} from './cmakescript.js';
export {CoccinelleCCompiler, CoccinelleCPlusPlusCompiler} from './coccinelle.js';
export {CodonCompiler} from './codon.js';
export {CompCertCompiler} from './compcert.js';
export {CppFrontCompiler} from './cppfront.js';
export {CprocCompiler} from './cproc.js';
export {CrystalCompiler} from './crystal.js';
export {D8Compiler} from './d8.js';
export {DartCompiler} from './dart.js';
export {DefaultCompiler} from './default.js';
export {Dex2OatCompiler} from './dex2oat.js';
export {DMDCompiler} from './dmd.js';
export {
DotNetCoreClrCompiler,
DotNetCrossgen2Compiler,
DotNetIlDasmCompiler,
DotNetIlSpyCompiler,
DotNetLegacyCompiler,
DotNetMonoCompiler,
DotNetNativeAotCompiler,
} from './dotnet.js';
export {EDGCompiler} from './edg.js';
export {ElixirCompiler} from './elixir.js';
export {ElixirAsmCompiler} from './elixirasm.js';
export {EllccCompiler} from './ellcc.js';
export {ErlangCompiler} from './erlang.js';
export {ErlangAsmCompiler} from './erlangasm.js';
export {EWARMCompiler} from './ewarm.js';
export {EWAVRCompiler} from './ewavr.js';
export {FakeCompiler} from './fake-for-test.js';
export {FlangCompiler} from './flang.js';
export {FlangFC1Compiler} from './flang-fc1.js';
export {FortranCompiler} from './fortran.js';
export {GA68Compiler} from './ga68.js';
export {GCCCompiler} from './gcc.js';
export {GCCCobolCompiler} from './gcccobol.js';
export {GCCRSCompiler} from './gccrs.js';
export {GCCGimpleCompiler} from './gimple.js';
export {GLSLCompiler} from './glsl.js';
export {GM2Compiler} from './gm2.js';
export {GnuCobolCompiler} from './gnucobol.js';
export {GolangCompiler} from './golang.js';
export {HaskellCompiler} from './haskell.js';
export {HelionCompiler} from './helion.js';
export {HLSLCompiler} from './hlsl.js';
export {HookCompiler} from './hook.js';
export {HyloCompiler} from './hylo.js';
export {ISPCCompiler} from './ispc.js';
export {JaktCompiler} from './jakt.js';
export {JavaCompiler} from './java.js';
export {JuliaCompiler} from './julia.js';
export {KotlinCompiler} from './kotlin.js';
export {LDCCompiler} from './ldc.js';
export {LFortranCompiler} from './lfortran.js';
export {LLCCompiler} from './llc.js';
export {LLVMmcaTool} from './llvm-mca.js';
export {LLVMMOSCompiler} from './llvm-mos.js';
export {MadPascalCompiler} from './madpascal.js';
export {MLIRCompiler} from './mlir.js';
export {MojoCompiler} from './mojo.js';
export {MovfuscatorCompiler} from './movfuscator.js';
export {MrustcCompiler} from './mrustc.js';
export {Msp430Compiler} from './msp430.js';
export {NasmCompiler} from './nasm.js';
export {NimCompiler} from './nim.js';
export {NixCompiler} from './nix.js';
export {NumbaCompiler} from './numba.js';
export {NvccCompiler} from './nvcc.js';
export {NvcppCompiler} from './nvcpp.js';
export {NvrtcCompiler} from './nvrtc.js';
export {OCamlCompiler} from './ocaml.js';
export {OdinCompiler} from './odin.js';
export {OptCompiler} from './opt.js';
export {ORCACompiler} from './orca.js';
export {OSACATool} from './osaca.js';
export {FPCCompiler} from './pascal.js';
export {PascalWinCompiler} from './pascal-win.js';
export {PonyCompiler} from './pony.js';
export {PPCICompiler} from './ppci.js';
export {PtxAssembler} from './ptxas.js';
export {PythonCompiler} from './python.js';
export {PythranCompiler} from './pythran.js';
export {QNXCompiler} from './qnx.js';
export {R8Compiler} from './r8.js';
export {RacketCompiler} from './racket.js';
export {RakuCompiler} from './raku.js';
export {ResolcCompiler} from './resolc.js';
export {RGACompiler} from './rga.js';
export {RubyCompiler} from './ruby.js';
export {RustCompiler} from './rust.js';
export {RustcCgGCCCompiler} from './rustc-cg-gcc.js';
export {SailCompiler} from './sail.js';
export {ScalaCompiler} from './scala.js';
export {SdccCompiler} from './sdcc.js';
export {SlangCompiler} from './slang.js';
export {SnowballCompiler} from './snowball.js';
export {SolidityCompiler} from './solidity.js';
export {SolidityZKsyncCompiler} from './solidity-zksync.js';
export {SolxCompiler} from './solx.js';
export {SpiceCompiler} from './spice.js';
export {SPIRVCompiler} from './spirv.js';
export {SPIRVToolsCompiler} from './spirv-tools.js';
export {SwayCompiler} from './sway.js';
export {SwiftCompiler} from './swift.js';
export {TableGenCompiler} from './tablegen.js';
export {TenDRACompiler} from './tendra.js';
export {TIC2000} from './tic2000.js';
export {TinyCCompiler} from './tinyc.js';
export {ToitCompiler} from './toit.js';
export {TritonCompiler} from './triton.js';
export {TurboCCompiler} from './turboc.js';
export {TypeScriptNativeCompiler} from './typescript-native.js';
export {VCompiler} from './v.js';
export {V8Compiler} from './v8.js';
export {ValaCompiler} from './vala.js';
export {VyperCompiler} from './vyper.js';
export {WasmtimeCompiler} from './wasmtime.js';
export {Win32Compiler} from './win32.js';
export {Win32MingWClang} from './win32-mingw-clang.js';
export {Win32MingWGcc} from './win32-mingw-gcc.js';
export {Win32VcCompiler} from './win32-vc.js';
export {Win32Vc6Compiler} from './win32-vc6.js';
export {WineVcCompiler} from './wine-vc.js';
export {WslVcCompiler} from './wsl-vc.js';
export {WyrmCompiler} from './wyrm.js';
export {YLCCompiler} from './ylc.js';
export {z88dkCompiler} from './z88dk.js';
export {ZigCompiler} from './zig.js';
export {ZigCC} from './zigcc.js';
export {ZigCXX} from './zigcxx.js';