# M5 CodeGen/Generic allowlist.
#
# A small curated compile-only set, not the whole Generic corpus.  Every entry
# must compile with:
#     llc -march=tms34010 -filetype=asm -O0
# to a non-empty .s.  The set stays within the M5 subset: integer (<=32 bit),
# pointer, control flow, load/store, calls and PHI.  No floats, vectors,
# atomics, 64-bit integer values, varargs, or aggregate values/arguments/
# returns.  The one aggregate-typed access is
# 2006-06-13-ComputeMaskedBitsCrash.ll: it uses a struct-typed global and a
# struct-field GEP for address computation but never loads, stores, passes or
# returns an aggregate value.
#
# The broad sweep in generic.sh covers all Generic .ll files; this list is the
# gate that must stay green for the supported feature shapes.

# Integer arithmetic and shifts (add/sub/mul/div/rem/and/or/xor/shl/lshr/ashr).
BasicInstrs

# sdiv-by-constant (negative power of two).
div-neg-power-2

# Return-only and global load/return.
ret0
ret42
global-ret0

# Direct calls: one/two/void arguments, one/two-deep call chains.
call-ret0
call-ret42
call-void
call2-ret0
fastcall

# Calls and PHI/control: a call argument defined by a later call, and a
# pointer PHI feeding a call.
badCallArgLRLLVM
2003-05-30-BadPreselectPhi

# PHI carrying ptrtoint globals plus a call.
2005-04-09-GlobalInPHI

# Load/select and load/store with narrow integer operations.
2007-01-15-LoadSelectCycle
2006-11-20-DAGCombineCrash
fwdtwice

# i16 loads, icmp and a switch.
2006-04-26-SetCCAnd

# GEP/load/store/shift/mask.
2006-06-13-ComputeMaskedBitsCrash

# Branches and i1 boolean folding.
2006-10-27-CondFolding
2006-10-29-Crash

# PHI/icmp control flow.
2006-01-12-BadSetCCFold

# Loop induction/PHI control flow.
2007-04-17-lsr-crash

# Switch lowering with PHIs.
2006-09-06-SwitchLowering

# A trivial intrinsic call.
assume
