Project

General

Profile

Actions

Bug #9439

open

Cannot perform OR with Condition [type=AND ...] and Condition [type=AND ...]

Added by Alexander Protsenko about 5 years ago. Updated about 1 year ago.

Status:
New
Priority:
Normal
Category:
MMU Plugin
Target version:
Start date:
01/21/2019
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

Code:

    if v == FALSE || (r == FALSE && w == TRUE) then
      // ...
    endif;

Error message:

java.lang.IllegalStateException: Cannot perform OR with Condition [type=AND, size=1, atoms={(EQ SV32Translate.v 0)}] and Condition [type=AND, size=2, atoms={(EQ SV32Translate.r 0), (EQ SV32Translate.w 1)}]. Condition types must be equal.
    at ru.ispras.microtesk.mmu.translator.codegen.spec.Condition.merge(Condition.java:202)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.Condition.or(Condition.java:187)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.Condition.extract(Condition.java:127)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.Condition.extract(Condition.java:104)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.isBufferMiss(MemoryControlFlowExplorer.java:200)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.visitStmtIf(MemoryControlFlowExplorer.java:140)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.visitStmts(MemoryControlFlowExplorer.java:85)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.extractBufferAccess(MemoryControlFlowExplorer.java:264)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.extractBufferAccess(MemoryControlFlowExplorer.java:246)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.visitStmtAssign(MemoryControlFlowExplorer.java:227)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.visitStmts(MemoryControlFlowExplorer.java:89)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.extractBufferAccess(MemoryControlFlowExplorer.java:264)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.extractBufferAccess(MemoryControlFlowExplorer.java:246)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.visitStmtAssign(MemoryControlFlowExplorer.java:227)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.visitStmts(MemoryControlFlowExplorer.java:89)
    at ru.ispras.microtesk.mmu.translator.codegen.spec.MemoryControlFlowExplorer.<init>(MemoryControlFlowExplorer.java:48)
    at ru.ispras.microtesk.mmu.translator.codegen.sim.SimGenerator.processIr(SimGenerator.java:61)
    at ru.ispras.microtesk.mmu.translator.codegen.sim.SimGenerator.processIr(SimGenerator.java:37)
    at ru.ispras.microtesk.translator.Translator.processIr(Translator.java:84)
    at ru.ispras.microtesk.mmu.translator.MmuTranslator.start(MmuTranslator.java:135)
    at ru.ispras.microtesk.translator.Translator.translate(Translator.java:201)
    at ru.ispras.microtesk.MicroTESK.translate(MicroTESK.java:168)
    at ru.ispras.microtesk.MicroTESK.runTask(MicroTESK.java:141)
    at ru.ispras.microtesk.MicroTESK.main(MicroTESK.java:79)

Actions

Also available in: Atom PDF