CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
82 lines
1.8 KiB
Protocol Buffer
82 lines
1.8 KiB
Protocol Buffer
//===-- cxx_loop_proto.proto - Protobuf description of C++ with for loops -===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
///
|
|
/// \file
|
|
/// This file describes a subset of C++ as a protobuf. It is used to
|
|
/// more easily find interesting inputs for fuzzing LLVM's vectorizer.
|
|
/// This subset differs from the one defined in cxx_proto.proto by eliminating
|
|
/// while loops and conditionals. The goal is that the C++ code generated will
|
|
/// be more likely to stress the LLVM loop vectorizer. The code generated will
|
|
/// contain either a single loop or two nested loops.
|
|
///
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
syntax = "proto2";
|
|
|
|
message Const {
|
|
required int32 val = 1;
|
|
}
|
|
|
|
message VarRef {
|
|
// Add an enum for each array in function signature
|
|
enum Arr {
|
|
ARR_A = 0;
|
|
ARR_B = 1;
|
|
ARR_C = 2;
|
|
};
|
|
required Arr arr = 1;
|
|
}
|
|
|
|
message BinaryOp {
|
|
enum Op {
|
|
PLUS = 0;
|
|
MINUS = 1;
|
|
MUL = 2;
|
|
XOR = 3;
|
|
AND = 4;
|
|
OR = 5;
|
|
EQ = 6;
|
|
NE = 7;
|
|
LE = 8;
|
|
GE = 9;
|
|
LT = 10;
|
|
GT = 11;
|
|
};
|
|
required Op op = 1;
|
|
required Rvalue left = 2;
|
|
required Rvalue right = 3;
|
|
}
|
|
|
|
message Rvalue {
|
|
oneof rvalue_oneof {
|
|
Const cons = 1;
|
|
BinaryOp binop = 2;
|
|
VarRef varref = 3;
|
|
}
|
|
}
|
|
|
|
message AssignmentStatement {
|
|
required VarRef varref = 1;
|
|
required Rvalue rvalue = 2;
|
|
}
|
|
|
|
message Statement {
|
|
required AssignmentStatement assignment = 1;
|
|
}
|
|
|
|
message StatementSeq {
|
|
repeated Statement statements = 1;
|
|
}
|
|
|
|
message LoopFunction {
|
|
optional StatementSeq inner_statements = 1;
|
|
required StatementSeq outer_statements = 2;
|
|
}
|
|
|
|
package clang_fuzzer;
|