main
tests: add regression tests for fixed in the past issues
Fix for #1210 : Suppressing comment unless in verbose mode.
Report an error when casting to unsized array
Fix CPU for sse2-i32x8 target
Fix #1308: reset struct cache for every target in multi-target compilation
Switching to __vectorcall calling convention for Windows x64. (#1820)
Remove usage of knl targets from lit tests
tests: move tests from tests_errors to lit-tests
Update lit tests
Perform DIV and MOD binary operators only for active lanes
Fixed problem with full path to stdlib in file generated by -MMM (#1420)
#1425 : switch to Pragma once in headers (#1449)
Issue #1437 : Correcting type when vector has ReferenceType
Fixed issue #1447: Assertion failed "debugScopes.size() > 0"
Added lit-tests for loop-unroll issues: #1498 and #1678
Remove LLVM_8_0+ flag from lit testing, as it's baseline now
Allow extern "C" definition for CPU
Fix for the tests on ARM, when x86 backend is disabled
Fix for #1548.
Use avx512 targets without base type in lit tests
Fix persistent func processing
Added sse4.1 target to test scripts and lit tests
tests: remove LLVM 17
[LLVM22] Fix LLVM version being checked for LIT test.
fix #1738 - Fix header file for SOA struct type.
Fix #1739 - Print error when accessing vector elements incorrectly.
Fix #1747: Change base type for varying bool vector to int8.
Fixes for build with LLVM trunk
Fix for #1767.
fix #1788 - porting llvm patch from 11.0
Treat bool as unsigned, not as signed
Possible new check for shift.
fix #1849 : Checking for SOA type in exported parameters.
fix #1872 : stop compilation in case of error in MakeBinaryExpr.
Support --opt=disable-zmm for generic targets
Adding more negative cases for the fix for #1886
fixes #1912.
fixes #1921 : fix + lit test.
Remove LLVM 8.0 and LLVM 9.0. (#1966)
Introduce early LoopFullUnrollPass
Use regex in 2052-1.ispc and 2720.ispc
Fix lit tests for llvm trunk
Optimize code generation on on ARM (#2052)
Fix #2111: adding patch from llvm fix.
Fixes #2116: Fixing crash while using unary expression with reference type as rvalue. (#2117)
Added __cast_mask_to_i32/i64 to internal functions
Regression test for #2148
Add Linux ppc64le (PowerPC64) architecture support using generic targets (#3735)
Fix logic in treating pointers for IndexExpr lvalue
Added lit test for #2198
Fix #2207: make integer suffix definition stricter
Fix #2214: launch through function pointer on targets with none i32 base type
Fix for #2243. Patch for LLVM 11 & 12 and a regression test
Switch bool types when gathering bools into collections
Target redesign
Avoid using grep in lit tests
Permit smearing for uniform Enum values
Fix #2291 about extracting the address of const variables set to compile-time constants
make sure tests with main() return something
Fix #2321: reports an error when accessing the component w of a short vector of size 3
Fix static const declaration of bool types
Fix #3742: Make FMA instruction matching flexible in 2334_unroll test
Check rvalue before assign operation
Fix anon struct naming if typedefed
Do not emit error for typedef struct foo {} foo
Fix #2376
Refactor Module::GenerateDispatch
ISPC/#2460: Add tests for overflow in signed expressions
Added 2468.ispc lit test
Treat TOKEN_TYPE_NAME and TOKEN_TEMPLATE_NAME as TOKEN_IDENTIFIER in postfix_expression
Relax requirements baseSym != nullptr for lvalue
Fix 2509.ispc 2544.ispc to be platform agnostic
Fix 2514,ispc lit test. Use --target=host
Treat enum values as uints in constant folding on ast
Clean up symbol table to avoid assertion in destructor
parser: fix deallocation on parser error
opt: add ReplaceHalfMaskedMemOps pass
Use generic masked_store[load] for avx512*-x32[64]
Update args for masked llvm memory intrinsics for LLVM 22
Fix emission code for FNeg instruction
Emit struct keyword for vectors to C/C++ header
Fix C compatibility for headers generated by ISPC
Fix incorrect template argument variability (#2661)
Fix casting of bool short vectors to numeric ones
tests: remove LLVM 16
Fix #3821: Update lit tests for LLVM trunk float16 format change
Improve const int varying initialization
type.cpp: check returned types before derefence
Exclude some lit tests from check with LLVM 18
lit-tests: adjust tests for arm
Fix build with LLVM trunk
Add avx512gnr* targets
Target-specific implementation of shuffles on AVX and AVX512 targets
builtins: align all implementations of __round_varying
SwitchBoolSize: introduce two different SwitchBool* functions
Fix #2802: use poison instead of undef for masked load passthrough
Fix nested template without arguments
Add uwtable attr to all created functions
Report incomplete types for function parameters and return values
Report errors for incomplete function argument types earlier
Report incomplete struct type for more situations
Report error for globals with incomplete types
Do not take directories as input files
Add lit tests for #2860
builtins: remove transcendental definitions from avx512-common-16
Copy shl flags
tests: check no loop reminder in more robust way
opt: disable NewGVN for CPU
Skip 2954.ispc
ReplaceMaskedMemOps: support masked ops of length 3
deps: do not register as dependencies in-memory headers
Update tests/lit-tests/3066.ispc
Update tests/lit-tests/3068.ispc
Fix REQUIRE typo in 3081.ispc
Fix 3084-1 for LLVM trunk
Check that constant is a pointer before calling llvm::ConstantExpr::getPtrToInt
Check the size of global initializer list (#3086)
Lit test for issue #3091
Add test related to #3106 issue
Report candidates when unable to find overloads
Create a proper function declaration for overloaded intrinsics
Fix generic-i1x64 target
Reduce targets string in 3126.ispc
Fix #3145: enable void functions to return expression of void type (i.e. void function calls)
Do not generate LLVM IR if preprocessor only mode
Deprecate --nocpp command line flag
Use target-specific instructions for masked ld/st on avx512[x8, x16]
Fix crash for function returning type**
add unit tests for -dD/-E/-dM
Add tests with short vecs for template param deduction
Fix #3234: sizeof of reference to an array correctly returns the size of the referenced array
Fix unsigned promotion in index expressions
Add lit test for issue #3258
Fix issue #3259: assertion failed (on "decl")
Move HasAmbiguousVariability to TypeCheck stage
Check for StructType before accessing GetElementType in gather()
Fix issue #3335: assertion failed on nested foreach (with enabled debugging infos)
lex.ll: fix token types emitted for identifiers
Revert "Revert "Fix 3358: Support structures in lIsSafeToBlend""
Prevent oversized data stores in blend operations
Fix assert if intrinsics is not supported
Enable SROA pass after ReplaceMaskedMemOpsPass
Fix issue with the scope of single statements inside loop statements
Fix the code and add lit-tests
Add disjoint check to IsOrEquivalentToAdd
Make fast-math optimizations more aggressive (#3489)
Fix issue #3404 (unhandled atomic type crash)
Fix #3439: function calls returning a pointer type is treated as an lvalue
Remove alloca from reserved keywords
Fix #3471: fix a crash when using the signed keyword
Fix NaN to bool conversion to match C/C++ behavior
Fix couple of issues with short vector initializer list
Fix lit tests for LLVM 21 and trunk
lit-tests: 3513.ispc test more targets
Add lit test for #3537
Fix #3544: optimize backward memory access patterns to contiguous ops
Fix typecheck of expr wrapped by TypeCastExpr
Fix IndexExpr::GetLValueType() for function calls returning pointers
Fix enum fields missing from generated headers
Make dispatcher thread-safe
Fix crashes when casting SOA pointers (#3591)
Use llvm.popcnt implementation for avx2-i8x32 and avx512skx-x32/64 targets (#3754)
Fix #3616: Handle slice pointers in pointer-to-integer casts
Add exported function checks for function pointer calls
Fix #3654: Handle enum negation in UnaryExpr::Optimize()
Replace dots with underscores in avx10.2dmr target function suffix
Fix #3748: Align varying bool<N> LLVMType with mask representation
Fix alignment handling for extern declarations in AddGlobalVariable and add test for native-vector alignment
Legalize soa<> members in structs
Allow definition of pointers to function types
Add tests from issue #478
Fix #707: support signed/unsigned/const in 'new' expressions and template arguments
Fixes #861 : Removing assert so that error message shows up.
Split arm dotprod test for arm/aarch64 aarchs
stdlib: introduce short_vec.isph
Fixed lit tests
Fix for the tests on ARM, when x86 backend is enabled
Support __attribute__ syntax.
Add tests for aligned attribute
Put user-provided aligned for structs in the generated header
Add aligned-attr-typedef.ispc test
Remove gen9 targets
Fixes #294: Adding alloca() implementation. (#2045)
Fix anon struct renaming
Support DWARF vserion 5 for --dwarf-version
Run arm_custom_linux.ispc for LINUX_ENABLED
Attach loop.mustprogress metadata to loops
Improve MemberExpr::Print
Add tests for --ast-dump
Rename avx10.2 targets to avx10.2dmr
Add avx512skx-x16-nozmm target
lit-tests: remove dependency to llvm-dis
Add --profile-sample-use flag to enable PGO
Fix lit tests for LLVM 21.1
Update lit tests with splat() for LLVM trunk
Replace trunc i8 to i1 with icmp ne i8, 0 for proper bool conversion.
lit-tests/bool-store-vector.ispc: reenable and fix
Fixing access to bool pointer elements for struct. (#1813)
Fix bool swizzles
Extend constant propagation analysis in predecessor blocks
Add additional AMX lit tests for better coverage
Use uint8 type for tiles
Improve shuffle2_i8/16 for AVX-512 targets
Remove cortex-a9 and cortex-a15
lit-tests: consolidate old cpus_x86_llvmN into cpus_x86.ispc
Add support for Zen4 and Zen5
Set MACOS_VERSION_MIN 10.13
Split darwin-minos-ver-1 test
Add a flag to set min os version on darwin platforms
Force DWARF generation on windows with --dwarf-version
Support deprecated attribute
Fix attributes for function returning pointer types
Change the default for discard-value-names
Update default DWARF version
tests: use %{ispc} in enum-32bit-limits
tests: cover 32-bit enum edge cases
tests/lit-tests: merge lit-tests checking errors
Remove unused func ClosestTypeMatch
Error for unmasked/task/export with var decls
Error for inline/noinline with var decls
Support memory("read") and memory("none") attributes
Support unmangled attribute
Support short vectors based on template parameters
Fix segfault in case of undefined symbol
Introduce external_only attribute
Run externC and regcall lit tests on x86 only
Add -ffunction-sections flag
float16 : Tests + doc.
Fix #3835: Update lit tests for LLVM trunk changes
Do not allow double and float16 literals without point, warn for float
Typo: depricated -> deprecated
Generate fminnm/vminnm instructions on arm
Use load + EEI to get unique value in foreach_unique
Test for --no-omit-frame-pointer switch
Fix ftz/daz tests on macOS
Fix ISPC build with LLVM 18.1 and trunk
Adding option to discard value names.
Add more tests
Align declaration specifiers check between different types of templates
Fix template function overloads (#3015)
Implementation of template argument deduction rules
Fix nested template invokation
Add DependentMemberExpr to properly handle dependent member expressions
Lit tests for templated arrays
Fix function specifiers for specializations and instantiations
Support bool non-type template parameter
Fix #3684: Allow integral type aliases as non-type template parameters
Added support of non-type template parameters
func_template_nontype_3.ispc: remove unclear check
Fix func_template_operator_1.ispc test
Support template specializations and instantiations in operators
Fixed short vector casts inside template
Function template specialization
Fix global variable redeclaration memory leak
Implement --include-float16-conversions flag
parse.yy: support llvm.intrinsics with no arguments
Fix LLVM trunk build failure: replace deprecated intrinsic
Adding check for PS4 + macro.
Update intrinsics_vnni test for LLVM 22
Fix avx512vnni intrinsic validation on SKX target
Update args in intrinsics_vnni_llvm22_plus according to LLVM 22 changes
Add ispc-intrinsics-unknown.ispc
Add llvm.ispc.blend_store
Don't require dummy first argument for ISPCEngine API
[AMX][Builtins] Add support to expose LLVM X86 AMX intrinsics as ISPC stdlib functions.
Update type deduction tests
Fix regexp for llvm_ident test
Fixed load_unaligned and bool_swizzle tests for opaque pointers
Tune -O1 pipeline for code size
Fix lit test for macOS on ARM: x86 is not required to be enabled
Fix predefined macro definition values
Fix lit tests
--mcmodel switch
Report an error when mcmodel large and x86 are used
Lit tests
Fix typos
Fix globals in multi-target modules
Add code generating nanobind wrapper
Fix #3628: Add --[no-]internal-export-functions compiler option
Adding 'noinline' function qualifier. (#1489)
Refactoring Unsafe Functions: Multi-target Lit Tests
Fixed packed-load-64.ispc for trunk
Add --PIC flag
Add lit tests for VSX targets
Move pragma-ignore-warnings.ispc to lit-tests
Limiting loop unroll to uniform for and do.
Unroll Varying: Addressing Reviewer Comments
Add lit test for predefined ISPC macros, updated docs and ispc.vim
Separated print_errors lit test for Xe and CPU targets
Fix copying of prof metadata
PS5 support (experimental).
Support instantiation of template function on pointer assignment
Fix the promotion of unsigned types in pointer arithmetics
Add lit test for reduce max/min for int8/int16 types
avx512: use generic implementation of __reduce_equal
Skip RISC-V for Windows
stdlib: implement rotate via shuffle for avx512
Add --sample-profiling-debug-info flag
ScalarizePass: implement
Fix #3805: Handle ConstantFP with vector type in LLVM trunk
Added Type Scoping (#1932)
Fix select folding issue
Massively speed-up 32-bit shuffles on the target avx2-i32x16
Fix shuffle-related optimization issue
Optimize shuffle AVX-512 for all data types
tests: fix lit tests for LLVM 19.0+
Take into account new range<> return value attribute
Add the ability to enable SSP (stack smash protection) for ISPC functions.
Implement single precision erf (#3769)
Support arrays in template argument deduction
Adding macro and modifying parser to show accurate error when redefining uint8/uint16/uint32/uint64.
Fixed vector_type_convert.ispc lit test
Support different types in short vector type initialization
Switch default on x64 Windows to non __vectorcall. (#1837)
Explicitly setting target-os for windows vectotcall tests.
Test arm and aarch64 targets on Windows
Run windows_dllexport.ispc when X86 is enabled only
Disable generation of gathers/scatters by option
Fix Xe lit tests for LLVM 21
Use newer Xe target in lit-tests utilizing ocloc
Fix Failing Tests for Vector Memory Operations