  Deep learning compilers help address difficulties of deploying deep learning
models on diverse types of hardware. Testing deep learning compilers is highly
crucial, because they are impacting countless AI applications that use them for
model optimization and deployment. To test deep learning compilers, random
testing, being popularly used for compiler testing practices, faces the
challenge of generating semantically valid test inputs, i.e., deep learning
models that satisfy the semantic model specifications (in short as semantic
specifications). To tackle this challenge, in this paper, we propose a novel
approach named Isra, including a domain-specific constraint solver that
resolves the constraints from the semantic specifications without backtracking.
We implement and apply our approach on three popular real-world deep learning
compilers including TVM, Glow, and a commercial compiler. The evaluation
results show that Isra is more effective than the state-of-the-art approaches
and the baseline approaches on constructing valid test inputs for compiler-bug
detection, and Isra successfully finds 24 previously unknown bugs in released
versions of the three compilers. These results indicate effectiveness and
practical value of Isra.
