diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-12-20 17:03:20 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-12-20 17:03:20 +0000 |
| commit | c4b8cef3e2cc580f9f74dfdfb061d8d6dd49ca0f (patch) | |
| tree | 787bb930be89558e9139d7bb81fd43045505a785 /src/main/java | |
| parent | 76eb5fdd4858e1844fce2a53af3287acdb7f53c4 (diff) | |
Rename PatioToLlvm contexts
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java | 6 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java | 54 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContext.java (renamed from src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGenFunctionContext.java) | 48 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmGlobalContext.java (renamed from src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGenGlobalContext.java) | 16 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmModuleContext.java (renamed from src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGenModuleContext.java) | 34 |
5 files changed, 79 insertions, 79 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java index b557b866..83a27345 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmBackend.java @@ -2,7 +2,7 @@ package org.shedlang.compiler.backends.llvm; import org.shedlang.compiler.backends.Backend; import org.shedlang.compiler.backends.llvm.codegen.PatioToLlvm; -import org.shedlang.compiler.backends.llvm.codegen.LlvmPatioCodeGenGlobalContext; +import org.shedlang.compiler.backends.llvm.codegen.PatioToLlvmGlobalContext; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmBasicBlock; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmFunctionDefinition; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmModule; @@ -51,7 +51,7 @@ public class LlvmBackend implements Backend { TargetDir targetDir ) throws IOException, InterruptedException { var objectFilePaths = new ArrayList<Path>(); - var globalContext = LlvmPatioCodeGenGlobalContext.EMPTY; + var globalContext = PatioToLlvmGlobalContext.EMPTY; for (var namespace : namespaces) { var patioCompilationUnit = PatioCodeGen.generateNamespace( @@ -104,7 +104,7 @@ public class LlvmBackend implements Backend { private LlvmModule generateMain( NamespaceName main, TypeInfos typeInfos, - LlvmPatioCodeGenGlobalContext globalContext + PatioToLlvmGlobalContext globalContext ) { // TODO: use more appropriate source var source = Sources.NULL; diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java index 97b9dcc0..92ab8bb8 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java @@ -99,9 +99,9 @@ public class PatioToLlvm { ) ); - public static LlvmPatioCodeGenGlobalContext.Result<LlvmModule> generateCompilationUnit( + public static PatioToLlvmGlobalContext.Result<LlvmModule> generateCompilationUnit( PatioCompilationUnit patioCompilationUnit, - LlvmPatioCodeGenGlobalContext globalContext + PatioToLlvmGlobalContext globalContext ) { var context = globalContext.enterModule() .addTopLevelEntity(ALLOC_DECLARATION) @@ -145,9 +145,9 @@ public class PatioToLlvm { return context.toModule(); } - private static LlvmPatioCodeGenModuleContext generateCompilationUnitElement( + private static PatioToLlvmModuleContext generateCompilationUnitElement( PatioCompilationUnitElement patioCompilationUnitElement, - LlvmPatioCodeGenModuleContext context + PatioToLlvmModuleContext context ) { return switch (patioCompilationUnitElement) { case PatioDataElementImmutable patioDataElementImmutable -> @@ -167,9 +167,9 @@ public class PatioToLlvm { }; } - private static LlvmPatioCodeGenModuleContext generateDataElementImmutable( + private static PatioToLlvmModuleContext generateDataElementImmutable( PatioDataElementImmutable patioDataElementImmutable, - LlvmPatioCodeGenModuleContext context + PatioToLlvmModuleContext context ) { return context.addTopLevelEntity(new LlvmGlobalDefinition( patioDataElementImmutable.name(), @@ -181,9 +181,9 @@ public class PatioToLlvm { )); } - private static LlvmPatioCodeGenModuleContext generateDataElementMutable( + private static PatioToLlvmModuleContext generateDataElementMutable( PatioDataElementMutable patioDataElementMutable, - LlvmPatioCodeGenModuleContext context + PatioToLlvmModuleContext context ) { return context.addTopLevelEntity(new LlvmGlobalDefinition( patioDataElementMutable.name(), @@ -195,9 +195,9 @@ public class PatioToLlvm { )); } - private static LlvmPatioCodeGenModuleContext generateFunctionDeclaration( + private static PatioToLlvmModuleContext generateFunctionDeclaration( PatioFunctionDeclaration patioFunctionDeclaration, - LlvmPatioCodeGenModuleContext context + PatioToLlvmModuleContext context ) { return context.addTopLevelEntity(new LlvmFunctionDeclaration( patioFunctionDeclaration.name(), @@ -211,9 +211,9 @@ public class PatioToLlvm { )); } - private static LlvmPatioCodeGenModuleContext generateFunctionDefinition( + private static PatioToLlvmModuleContext generateFunctionDefinition( PatioFunctionDefinition patioFunctionDefinition, - LlvmPatioCodeGenModuleContext moduleContext + PatioToLlvmModuleContext moduleContext ) { var functionContext = moduleContext.enterFunction(); @@ -250,9 +250,9 @@ public class PatioToLlvm { )); } - private static LlvmPatioCodeGenFunctionContext generateInstructions( + private static PatioToLlvmFunctionContext generateInstructions( List<PatioInstruction> patioInstructions, - LlvmPatioCodeGenFunctionContext context + PatioToLlvmFunctionContext context ) { for (var patioInstruction : patioInstructions) { context = generateInstruction(patioInstruction, context); @@ -261,9 +261,9 @@ public class PatioToLlvm { return context; } - private static LlvmPatioCodeGenFunctionContext generateInstruction( + private static PatioToLlvmFunctionContext generateInstruction( PatioInstruction patioInstruction, - LlvmPatioCodeGenFunctionContext context + PatioToLlvmFunctionContext context ) { return switch (patioInstruction) { case PatioAllocHeap patioAllocHeap -> { @@ -871,11 +871,11 @@ public class PatioToLlvm { } } - private static LlvmPatioCodeGenFunctionContext generateBranches( + private static PatioToLlvmFunctionContext generateBranches( List<PatioLocalRef> targets, List<Branch> branches, LlvmVariableLocal endLabel, - LlvmPatioCodeGenFunctionContext context + PatioToLlvmFunctionContext context ) { var phiPredecessors = new ArrayList<PhiPredecessor>(); for (var branch : branches) { @@ -916,10 +916,10 @@ public class PatioToLlvm { record PhiPredecessor(PatioBlock block, LlvmVariableLocal label) {} - private static LlvmPatioCodeGenFunctionContext generatePhiInstructions( + private static PatioToLlvmFunctionContext generatePhiInstructions( List<PatioLocalRef> targets, List<PhiPredecessor> predecessors, - LlvmPatioCodeGenFunctionContext context + PatioToLlvmFunctionContext context ) { for (var targetIndex = 0; targetIndex < targets.size(); targetIndex++) { var patioTarget = targets.get(targetIndex); @@ -1043,7 +1043,7 @@ public class PatioToLlvm { private static LlvmTypedOperand patioOperandToLlvmTypedOperand( PatioOperand patioOperand, - LlvmPatioCodeGenFunctionContext context + PatioToLlvmFunctionContext context ) { return new LlvmTypedOperand( patioOperandToLlvmType(patioOperand, context), @@ -1053,7 +1053,7 @@ public class PatioToLlvm { private static LlvmType patioOperandToLlvmType( PatioOperand patioOperand, - LlvmPatioCodeGenFunctionContext context + PatioToLlvmFunctionContext context ) { return switch (patioOperand) { case PatioBool patioBool -> @@ -1075,7 +1075,7 @@ public class PatioToLlvm { private static LlvmOperand patioOperandToLlvmOperand( PatioOperand patioOperand, - LlvmPatioCodeGenFunctionContext context + PatioToLlvmFunctionContext context ) { return switch (patioOperand) { case PatioBool patioBool -> @@ -1224,9 +1224,9 @@ public class PatioToLlvm { }; } - public static LlvmPatioCodeGenFunctionContext.Result<LlvmOperand> sizeOf( + public static PatioToLlvmFunctionContext.Result<LlvmOperand> sizeOf( LlvmType type, - LlvmPatioCodeGenFunctionContext context + PatioToLlvmFunctionContext context ) { var sizePtrResult = context.allocateLocalName(LlvmCodeGenLocalVariableSpace.SIZE_PTR); var sizePtr = sizePtrResult.value(); @@ -1255,10 +1255,10 @@ public class PatioToLlvm { .toResult(size); } - private static LlvmPatioCodeGenFunctionContext.Result<LlvmOperand> offsetOf( + private static PatioToLlvmFunctionContext.Result<LlvmOperand> offsetOf( PatioDataLayout patioDataLayout, List<Integer> patioOffset, - LlvmPatioCodeGenFunctionContext context + PatioToLlvmFunctionContext context ) { var offsetPtrResult = context.allocateLocalName(LlvmCodeGenLocalVariableSpace.OFFSET_PTR); var offsetPtr = offsetPtrResult.value(); diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGenFunctionContext.java b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContext.java index 1ab4b78a..584d3202 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGenFunctionContext.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContext.java @@ -17,9 +17,9 @@ import org.shedlang.compiler.util.P; import java.util.Optional; -class LlvmPatioCodeGenFunctionContext { - static LlvmPatioCodeGenFunctionContext of(LlvmPatioCodeGenModuleContext moduleContext) { - return new LlvmPatioCodeGenFunctionContext( +class PatioToLlvmFunctionContext { + static PatioToLlvmFunctionContext of(PatioToLlvmModuleContext moduleContext) { + return new PatioToLlvmFunctionContext( moduleContext, P.vector(), Optional.empty(), @@ -31,7 +31,7 @@ class LlvmPatioCodeGenFunctionContext { ); } - private final LlvmPatioCodeGenModuleContext moduleContext; + private final PatioToLlvmModuleContext moduleContext; private final PVector<LlvmBasicBlock> basicBlocks; private final Optional<String> basicBlockLabel; private final PVector<LlvmInstruction> instructions; @@ -40,8 +40,8 @@ class LlvmPatioCodeGenFunctionContext { private final NameAllocator<LlvmCodeGenLocalVariableSpace> localNameAllocator; private final PStack<LoopLabels> loopLabels; - private LlvmPatioCodeGenFunctionContext( - LlvmPatioCodeGenModuleContext moduleContext, + private PatioToLlvmFunctionContext( + PatioToLlvmModuleContext moduleContext, PVector<LlvmBasicBlock> basicBlocks, Optional<String> basicBlockLabel, PVector<LlvmInstruction> instructions, @@ -68,14 +68,14 @@ class LlvmPatioCodeGenFunctionContext { return this.moduleContext.exceptionTag(exceptionTypeName); } - LlvmPatioCodeGenModuleContext.Result<PVector<LlvmBasicBlock>> toBasicBlocks() { + PatioToLlvmModuleContext.Result<PVector<LlvmBasicBlock>> toBasicBlocks() { // TODO: check there are no instructions without a terminator. return this.moduleContext.toResult(this.basicBlocks); } - LlvmPatioCodeGenFunctionContext addTerminatorInstruction(LlvmTerminatorInstruction terminatorInstruction) { - return new LlvmPatioCodeGenFunctionContext( + PatioToLlvmFunctionContext addTerminatorInstruction(LlvmTerminatorInstruction terminatorInstruction) { + return new PatioToLlvmFunctionContext( this.moduleContext, this.basicBlocks.plus(new LlvmBasicBlock( this.basicBlockLabel, @@ -96,14 +96,14 @@ class LlvmPatioCodeGenFunctionContext { * block, then the existing basic block is terminated with an * unconditional jump to the new basic block. */ - public LlvmPatioCodeGenFunctionContext startBasicBlock(LlvmVariableLocal basicBlockLabel) { + public PatioToLlvmFunctionContext startBasicBlock(LlvmVariableLocal basicBlockLabel) { var context = this.basicBlockLabel.isEmpty() && this.instructions.isEmpty() ? this : this.addTerminatorInstruction( new LlvmBrUnconditional(basicBlockLabel) ); - return new LlvmPatioCodeGenFunctionContext( + return new PatioToLlvmFunctionContext( context.moduleContext, context.basicBlocks, Optional.of(basicBlockLabel.name()), @@ -132,8 +132,8 @@ class LlvmPatioCodeGenFunctionContext { return this.patioLocalToOperand.containsKey(value); } - public LlvmPatioCodeGenFunctionContext addPatioLocalToType(PatioLocalRef patioLocal, LlvmType llvmType) { - return new LlvmPatioCodeGenFunctionContext( + public PatioToLlvmFunctionContext addPatioLocalToType(PatioLocalRef patioLocal, LlvmType llvmType) { + return new PatioToLlvmFunctionContext( this.moduleContext, this.basicBlocks, this.basicBlockLabel, @@ -145,8 +145,8 @@ class LlvmPatioCodeGenFunctionContext { ); } - public LlvmPatioCodeGenFunctionContext addInstruction(LlvmInstruction instruction) { - return new LlvmPatioCodeGenFunctionContext( + public PatioToLlvmFunctionContext addInstruction(LlvmInstruction instruction) { + return new PatioToLlvmFunctionContext( this.moduleContext, this.basicBlocks, this.basicBlockLabel, @@ -161,7 +161,7 @@ class LlvmPatioCodeGenFunctionContext { public Result<LlvmVariableLocal> allocateLocalName(LlvmCodeGenLocalVariableSpace space) { var result = localNameAllocator.allocateName(space, Optional.empty()); - return new LlvmPatioCodeGenFunctionContext( + return new PatioToLlvmFunctionContext( this.moduleContext, this.basicBlocks, this.basicBlockLabel, @@ -176,7 +176,7 @@ class LlvmPatioCodeGenFunctionContext { public Result<LlvmVariableLocal> allocateLocalName(LlvmCodeGenLocalVariableSpace space, String name) { var result = localNameAllocator.allocateName(space, Optional.of(name)); - return new LlvmPatioCodeGenFunctionContext( + return new PatioToLlvmFunctionContext( this.moduleContext, this.basicBlocks, this.basicBlockLabel, @@ -194,8 +194,8 @@ class LlvmPatioCodeGenFunctionContext { return result.context.addPatioLocal(patioLocal, result.value).toResult(result.value); } - public LlvmPatioCodeGenFunctionContext enterLoop(LlvmVariableLocal startLabel, LlvmVariableLocal endLabel) { - return new LlvmPatioCodeGenFunctionContext( + public PatioToLlvmFunctionContext enterLoop(LlvmVariableLocal startLabel, LlvmVariableLocal endLabel) { + return new PatioToLlvmFunctionContext( this.moduleContext, this.basicBlocks, this.basicBlockLabel, @@ -207,8 +207,8 @@ class LlvmPatioCodeGenFunctionContext { ); } - public LlvmPatioCodeGenFunctionContext exitLoop() { - return new LlvmPatioCodeGenFunctionContext( + public PatioToLlvmFunctionContext exitLoop() { + return new PatioToLlvmFunctionContext( this.moduleContext, this.basicBlocks, this.basicBlockLabel, @@ -228,8 +228,8 @@ class LlvmPatioCodeGenFunctionContext { return this.loopLabels.get(0).end(); } - public LlvmPatioCodeGenFunctionContext addPatioLocal(PatioLocalRef patioLocal, LlvmOperand llvmOperand) { - return new LlvmPatioCodeGenFunctionContext( + public PatioToLlvmFunctionContext addPatioLocal(PatioLocalRef patioLocal, LlvmOperand llvmOperand) { + return new PatioToLlvmFunctionContext( this.moduleContext, this.basicBlocks, this.basicBlockLabel, @@ -245,6 +245,6 @@ class LlvmPatioCodeGenFunctionContext { return new Result<>(value, this); } - public record Result<T>(T value, LlvmPatioCodeGenFunctionContext context) { + public record Result<T>(T value, PatioToLlvmFunctionContext context) { } } diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGenGlobalContext.java b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmGlobalContext.java index a0aacf7f..79557c73 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGenGlobalContext.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmGlobalContext.java @@ -3,20 +3,20 @@ package org.shedlang.compiler.backends.llvm.codegen; import org.pcollections.PMap; import org.shedlang.compiler.util.P; -public class LlvmPatioCodeGenGlobalContext { - public static final LlvmPatioCodeGenGlobalContext EMPTY = new LlvmPatioCodeGenGlobalContext(P.map()); +public class PatioToLlvmGlobalContext { + public static final PatioToLlvmGlobalContext EMPTY = new PatioToLlvmGlobalContext(P.map()); private final PMap<String, Integer> exceptionTypeNameToTag; - private LlvmPatioCodeGenGlobalContext( + private PatioToLlvmGlobalContext( PMap<String, Integer> exceptionTypeNameToTag ) { this.exceptionTypeNameToTag = exceptionTypeNameToTag; } - LlvmPatioCodeGenGlobalContext allocateExceptionTag(String exceptionTypeName) { + PatioToLlvmGlobalContext allocateExceptionTag(String exceptionTypeName) { var tag = this.exceptionTypeNameToTag.size() + 1; - return new LlvmPatioCodeGenGlobalContext( + return new PatioToLlvmGlobalContext( this.exceptionTypeNameToTag.plus(exceptionTypeName, tag) ); } @@ -25,14 +25,14 @@ public class LlvmPatioCodeGenGlobalContext { return this.exceptionTypeNameToTag.get(exceptionTypeName); } - LlvmPatioCodeGenModuleContext enterModule() { - return LlvmPatioCodeGenModuleContext.of(this); + PatioToLlvmModuleContext enterModule() { + return PatioToLlvmModuleContext.of(this); } <T> Result<T> toResult(T value) { return new Result<>(value, this); } - public record Result<T>(T value, LlvmPatioCodeGenGlobalContext context) { + public record Result<T>(T value, PatioToLlvmGlobalContext context) { } } diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGenModuleContext.java b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmModuleContext.java index ae630492..c5fa7d08 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/LlvmPatioCodeGenModuleContext.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmModuleContext.java @@ -7,19 +7,19 @@ import org.shedlang.compiler.backends.llvm.ir.ast.LlvmTopLevelEntity; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmType; import org.shedlang.compiler.util.P; -class LlvmPatioCodeGenModuleContext { - static final LlvmPatioCodeGenModuleContext EMPTY = of(LlvmPatioCodeGenGlobalContext.EMPTY); +class PatioToLlvmModuleContext { + static final PatioToLlvmModuleContext EMPTY = of(PatioToLlvmGlobalContext.EMPTY); - static LlvmPatioCodeGenModuleContext of(LlvmPatioCodeGenGlobalContext globalContext) { - return new LlvmPatioCodeGenModuleContext(globalContext, P.map(), P.vector()); + static PatioToLlvmModuleContext of(PatioToLlvmGlobalContext globalContext) { + return new PatioToLlvmModuleContext(globalContext, P.map(), P.vector()); } - private final LlvmPatioCodeGenGlobalContext globalContext; + private final PatioToLlvmGlobalContext globalContext; private final PMap<String, LlvmType> functionNameToReturnType; private final PVector<LlvmTopLevelEntity> topLevelEntities; - private LlvmPatioCodeGenModuleContext( - LlvmPatioCodeGenGlobalContext globalContext, + private PatioToLlvmModuleContext( + PatioToLlvmGlobalContext globalContext, PMap<String, LlvmType> functionNameToReturnType, PVector<LlvmTopLevelEntity> topLevelEntities ) { @@ -28,12 +28,12 @@ class LlvmPatioCodeGenModuleContext { this.topLevelEntities = topLevelEntities; } - LlvmPatioCodeGenGlobalContext.Result<LlvmModule> toModule() { + PatioToLlvmGlobalContext.Result<LlvmModule> toModule() { return this.globalContext.toResult(new LlvmModule(topLevelEntities)); } - LlvmPatioCodeGenModuleContext addFunctionNameToReturnType(String functionName, LlvmType returnType) { - return new LlvmPatioCodeGenModuleContext( + PatioToLlvmModuleContext addFunctionNameToReturnType(String functionName, LlvmType returnType) { + return new PatioToLlvmModuleContext( this.globalContext, this.functionNameToReturnType.plus(functionName, returnType), this.topLevelEntities @@ -44,16 +44,16 @@ class LlvmPatioCodeGenModuleContext { return this.functionNameToReturnType.get(functionName); } - LlvmPatioCodeGenModuleContext addTopLevelEntity(LlvmTopLevelEntity topLevelEntity) { - return new LlvmPatioCodeGenModuleContext( + PatioToLlvmModuleContext addTopLevelEntity(LlvmTopLevelEntity topLevelEntity) { + return new PatioToLlvmModuleContext( this.globalContext, this.functionNameToReturnType, this.topLevelEntities.plus(topLevelEntity) ); } - LlvmPatioCodeGenModuleContext allocateExceptionTag(String exceptionTypeName) { - return new LlvmPatioCodeGenModuleContext( + PatioToLlvmModuleContext allocateExceptionTag(String exceptionTypeName) { + return new PatioToLlvmModuleContext( this.globalContext.allocateExceptionTag(exceptionTypeName), this.functionNameToReturnType, this.topLevelEntities @@ -64,14 +64,14 @@ class LlvmPatioCodeGenModuleContext { return this.globalContext.exceptionTag(exceptionTypeName); } - LlvmPatioCodeGenFunctionContext enterFunction() { - return LlvmPatioCodeGenFunctionContext.of(this); + PatioToLlvmFunctionContext enterFunction() { + return PatioToLlvmFunctionContext.of(this); } <T> Result<T> toResult(T value) { return new Result<>(value, this); } - public record Result<T>(T value, LlvmPatioCodeGenModuleContext context) { + public record Result<T>(T value, PatioToLlvmModuleContext context) { } } |
