llvm-project/llvm/test/Transforms/FunctionSpecialization
Sjoerd Meijer eba76056a3 [FuncSpec] Don't specialise (or crash) on poison or constexpr values
Function specialization was crashing on poison values and constexpr values.
The problem is that these values are not added to the solver, so it crashes
when a lookup is performed for these values. This fixes that by not
specialising on these values. For poison that is obvious, but for constexpr
this is a change in behaviour. Thus, in one way this is a bit of a stopgap, but
specialising on constexpr values wasn't done very intentionally, and need some
more work and tests if we wanted to support this.

As a follow up, we need to look if the solver should exit more gracefully and
return a "don't know", or that it should really support these constexprs.

This should fix PR51600 (https://bugs.llvm.org/show_bug.cgi?id=51600).

Differential Revision: https://reviews.llvm.org/D110529
2021-09-27 14:58:53 +01:00
..
function-specialization-always-inline.ll [FuncSpec] Don't specialize function which are easy to inline 2021-08-23 19:20:21 +08:00
function-specialization-constant-expression.ll [FuncSpec] Don't specialise (or crash) on poison or constexpr values 2021-09-27 14:58:53 +01:00
function-specialization-constant-expression2.ll [FuncSpec] Don't specialise (or crash) on poison or constexpr values 2021-09-27 14:58:53 +01:00
function-specialization-constant-integers.ll [FuncSpec] Don't specialize function which are easy to inline 2021-08-23 19:20:21 +08:00
function-specialization-loop.ll [FuncSpec] Don't specialize function which are easy to inline 2021-08-23 19:20:21 +08:00
function-specialization-minsize.ll [FuncSpec] Add minsize test. NFC. 2021-06-21 15:21:09 +01:00
function-specialization-minsize2.ll [FuncSpec] Don't specialise call sites that have the MinSize attribute set 2021-09-10 09:01:45 +01:00
function-specialization-minsize3.ll [FuncSpec] Don't specialise call sites that have the MinSize attribute set 2021-09-10 09:01:45 +01:00
function-specialization-nodup.ll [FuncSpec] Don't specialise functions with attribute NoDuplicate. 2021-06-17 10:32:29 +01:00
function-specialization-nodup2.ll [FuncSpec] Don't specialise functions with NoDuplicate instructions. 2021-06-21 09:02:11 +01:00
function-specialization-noexec.ll [FuncSpec] Fixed prefix typo in test function-specialization-noexec.ll. NFC. 2021-06-16 16:25:26 +01:00
function-specialization-nonconst-glob.ll [FuncSpec] Specialising on addresses of const global values. 2021-09-17 08:07:05 +01:00
function-specialization-poison.ll [FuncSpec] Don't specialise (or crash) on poison or constexpr values 2021-09-27 14:58:53 +01:00
function-specialization-recursive.ll [FuncSpec] Support specialising recursive functions 2021-08-04 08:07:04 +01:00
function-specialization-recursive2.ll [FuncSpec] Support specialising recursive functions 2021-08-04 08:07:04 +01:00
function-specialization-recursive3.ll [FuncSpec] Support specialising recursive functions 2021-08-04 08:07:04 +01:00
function-specialization-recursive4.ll [FuncSpec] Support specialising recursive functions 2021-08-04 08:07:04 +01:00
function-specialization-stats.ll [FuncSpec] Don't specialize function which are easy to inline 2021-08-23 19:20:21 +08:00
function-specialization.ll [FuncSpec] Fix test case: only run funcspec and not any other passes. NFC. 2021-09-08 12:40:58 +01:00
function-specialization2.ll [FuncSpec] Don't specialize function which are easy to inline 2021-08-23 19:20:21 +08:00
function-specialization3.ll [OpaquePtr] Support forward references in textual IR 2021-06-29 20:10:31 +02:00
function-specialization4.ll [OpaquePtr] Support forward references in textual IR 2021-06-29 20:10:31 +02:00
function-specialization5.ll