OSDN Git Service

FileCheck [10/12]: Add support for signed numeric values
authorThomas Preud'homme <thomasp@graphcore.ai>
Tue, 5 Mar 2019 23:20:29 +0000 (23:20 +0000)
committerThomas Preud'homme <thomasp@graphcore.ai>
Thu, 28 May 2020 09:44:21 +0000 (10:44 +0100)
commit23ac16cf9bd4cc0bb434efcf6385baf083a2ff7b
tree46818cd084b23be7667f6cd43350d0932ef4e563
parente533a176b3d4d936a4870cd1a3273941ba699882
FileCheck [10/12]: Add support for signed numeric values

Summary:
This patch is part of a patch series to add support for FileCheck
numeric expressions. This specific patch adds support signed numeric
values, thus allowing negative numeric values.

As such, the patch adds a new class to represent a signed or unsigned
value and add the logic for type promotion and type conversion in
numeric expression mixing signed and unsigned values. It also adds
the %d format specifier to represent signed value.

Finally, it also adds underflow and overflow detection when performing a
binary operation.

Copyright:
    - Linaro (changes up to diff 183612 of revision D55940)
    - GraphCore (changes in later versions of revision D55940 and
                 in new revision created off D55940)

Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson

Reviewed By: jhenderson, arichardson

Subscribers: MaskRay, hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, kristina, hfinkel, rogfer01, JonChesterfield

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60390
llvm/docs/CommandGuide/FileCheck.rst
llvm/lib/Support/FileCheck.cpp
llvm/lib/Support/FileCheckImpl.h
llvm/test/FileCheck/numeric-expression.txt
llvm/unittests/Support/FileCheckTest.cpp