Package com.tonic.analysis.ssa.llvm
Class LlvmLoweringConfig.Builder
- java.lang.Object
-
- com.tonic.analysis.ssa.llvm.LlvmLoweringConfig.Builder
-
- Enclosing class:
- LlvmLoweringConfig
public static final class LlvmLoweringConfig.Builder extends Object
Mutable builder forLlvmLoweringConfig.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LlvmLoweringConfigbuild()LlvmLoweringConfig.BuilderdataLayout(String dataLayout)Sets the target datalayout emitted as a module header.LlvmLoweringConfig.BuilderemitDivisionGuards(boolean emit)Sets whether JVM-faithful guards are emitted around integer division.LlvmLoweringConfig.BuilderobjectModel(LlvmLoweringConfig.ObjectModel objectModel)Sets how the object/reference/runtime model is lowered.LlvmLoweringConfig.BuildertargetTriple(String triple)Sets the target triple emitted as a module header.
-
-
-
Method Detail
-
targetTriple
public LlvmLoweringConfig.Builder targetTriple(String triple)
Sets the target triple emitted as a module header.- Parameters:
triple- the target triple, or null to omit- Returns:
- this builder
-
dataLayout
public LlvmLoweringConfig.Builder dataLayout(String dataLayout)
Sets the target datalayout emitted as a module header.- Parameters:
dataLayout- the datalayout string, or null to omit- Returns:
- this builder
-
emitDivisionGuards
public LlvmLoweringConfig.Builder emitDivisionGuards(boolean emit)
Sets whether JVM-faithful guards are emitted around integer division.- Parameters:
emit- true to emit the guards- Returns:
- this builder
-
objectModel
public LlvmLoweringConfig.Builder objectModel(LlvmLoweringConfig.ObjectModel objectModel)
Sets how the object/reference/runtime model is lowered.- Parameters:
objectModel- the object model; null selectsLlvmLoweringConfig.ObjectModel.NONE- Returns:
- this builder
-
build
public LlvmLoweringConfig build()
- Returns:
- the immutable configuration
-
-