Search in sources :

Example 11 with IValue

use of com.dat3m.dartagnan.expression.IValue in project Dat3M by hernanponcedeleon.

the class VisitorLitmusAArch64 method visitExpressionRegister32.

@Override
public IExpr visitExpressionRegister32(LitmusAArch64Parser.ExpressionRegister32Context ctx) {
    IExpr expr = programBuilder.getOrCreateRegister(mainThread, ctx.register32().id, ARCH_PRECISION);
    if (ctx.shift() != null) {
        IValue val = new IValue(new BigInteger(ctx.shift().immediate().constant().getText()), ARCH_PRECISION);
        expr = new IExprBin(expr, ctx.shift().shiftOperator().op, val);
    }
    return expr;
}
Also used : IExprBin(com.dat3m.dartagnan.expression.IExprBin) IValue(com.dat3m.dartagnan.expression.IValue) BigInteger(java.math.BigInteger) IExpr(com.dat3m.dartagnan.expression.IExpr)

Aggregations

IValue (com.dat3m.dartagnan.expression.IValue)11 BigInteger (java.math.BigInteger)10 IExprBin (com.dat3m.dartagnan.expression.IExprBin)5 Register (com.dat3m.dartagnan.program.Register)5 IExpr (com.dat3m.dartagnan.expression.IExpr)4 MemoryObject (com.dat3m.dartagnan.program.memory.MemoryObject)2 BooleanFormula (org.sosy_lab.java_smt.api.BooleanFormula)2 BooleanFormulaManager (org.sosy_lab.java_smt.api.BooleanFormulaManager)2 Utils.generalEqual (com.dat3m.dartagnan.expression.utils.Utils.generalEqual)1 ExecutionAnalysis (com.dat3m.dartagnan.program.analysis.ExecutionAnalysis)1 Event (com.dat3m.dartagnan.program.event.core.Event)1 RegWriter (com.dat3m.dartagnan.program.event.core.utils.RegWriter)1 Location (com.dat3m.dartagnan.program.memory.Location)1 StaticRelation (com.dat3m.dartagnan.wmm.relation.base.stat.StaticRelation)1 Tuple (com.dat3m.dartagnan.wmm.utils.Tuple)1 TupleSet (com.dat3m.dartagnan.wmm.utils.TupleSet)1 ImmutableList (com.google.common.collect.ImmutableList)1 ImmutableMap (com.google.common.collect.ImmutableMap)1 Collection (java.util.Collection)1 List (java.util.List)1