Skip to content

Conversation

frabert
Copy link
Collaborator

@frabert frabert commented Jun 5, 2025

This is a hack in order to make the lencod test compile

NOTE(ekilmer, June 9): Let's hold off on merging this until we understand the consequences of how this affects static analysis results. We can skip the affected tests in the meantime.

@frabert frabert marked this pull request as ready for review June 5, 2025 12:09
@frabert frabert marked this pull request as draft June 5, 2025 12:23
@frabert
Copy link
Collaborator Author

frabert commented Jun 5, 2025

Arrrgh found some regressions

EDIT: it was a misunderstanding on my part

@frabert
Copy link
Collaborator Author

frabert commented Jun 5, 2025

This is a (partial?) list of failing builds when passing -k 0 using Henrik's branch against instafix-llvm main:

FAILED: MultiSource/Applications/ALAC/decode/alacconvert-decode
FAILED: MultiSource/Applications/ALAC/encode/alacconvert-encode
FAILED: MultiSource/Applications/hbd/hbd
FAILED: MultiSource/Applications/hexxagon/hexxagon
FAILED: MultiSource/Applications/JM/lencod/lencod
FAILED: MultiSource/Applications/kimwitu++/kc
FAILED: MultiSource/Applications/lambda-0.1.3/lambda
FAILED: MultiSource/Applications/minisat/minisat
FAILED: MultiSource/Applications/sgefa/sgefa
FAILED: MultiSource/Applications/spiff/spiff
FAILED: MultiSource/Applications/sqlite3/sqlite3
FAILED: MultiSource/Benchmarks/7zip/7zip-benchmark
FAILED: MultiSource/Benchmarks/Bullet/bullet
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C/RSBench/rsbench
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/HACCKernels/HACCKernels
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/HPCCG/HPCCG
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/PENNANT/PENNANT
FAILED: MultiSource/Benchmarks/Fhourstones/fhourstones
FAILED: MultiSource/Benchmarks/MallocBench/cfrac/cfrac
FAILED: MultiSource/Benchmarks/MallocBench/espresso/espresso
FAILED: MultiSource/Benchmarks/MallocBench/gs/gs
FAILED: MultiSource/Benchmarks/McCat/08-main/main
FAILED: MultiSource/Benchmarks/McCat/09-vor/vor
FAILED: MultiSource/Benchmarks/mediabench/g721/g721encode/encode
FAILED: MultiSource/Benchmarks/MiBench/automotive-basicmath/automotive-basicmath
FAILED: MultiSource/Benchmarks/Olden/voronoi/voronoi
FAILED: MultiSource/Benchmarks/PAQ8p/paq8p
FAILED: MultiSource/Benchmarks/Prolangs-C++/city/city
FAILED: MultiSource/Benchmarks/Prolangs-C++/employ/employ
FAILED: MultiSource/Benchmarks/Prolangs-C++/life/life
FAILED: MultiSource/Benchmarks/Prolangs-C++/ocean/ocean
FAILED: MultiSource/Benchmarks/Prolangs-C++/primes/primes
FAILED: MultiSource/Benchmarks/Prolangs-C++/simul/simul
FAILED: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4
FAILED: tools/not

This is the same list, but against my instafix-llvm branch:

FAILED: MultiSource/Applications/ALAC/decode/alacconvert-decode
FAILED: MultiSource/Applications/ALAC/encode/alacconvert-encode
FAILED: MultiSource/Applications/hbd/hbd
FAILED: MultiSource/Applications/hexxagon/hexxagon
FAILED: MultiSource/Applications/kimwitu++/kc
FAILED: MultiSource/Applications/lambda-0.1.3/lambda
FAILED: MultiSource/Applications/minisat/minisat
FAILED: MultiSource/Applications/sqlite3/sqlite3
FAILED: MultiSource/Benchmarks/7zip/7zip-benchmark
FAILED: MultiSource/Benchmarks/Bullet/bullet
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C/RSBench/rsbench
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/HACCKernels/HACCKernels
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/HPCCG/HPCCG
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE
FAILED: MultiSource/Benchmarks/DOE-ProxyApps-C++/PENNANT/PENNANT
FAILED: MultiSource/Benchmarks/McCat/08-main/main
FAILED: MultiSource/Benchmarks/McCat/09-vor/vor
FAILED: MultiSource/Benchmarks/MiBench/automotive-basicmath/automotive-basicmath
FAILED: MultiSource/Benchmarks/Olden/voronoi/voronoi
FAILED: MultiSource/Benchmarks/PAQ8p/paq8p
FAILED: MultiSource/Benchmarks/Prolangs-C++/city/city
FAILED: MultiSource/Benchmarks/Prolangs-C++/employ/employ
FAILED: MultiSource/Benchmarks/Prolangs-C++/life/life
FAILED: MultiSource/Benchmarks/Prolangs-C++/ocean/ocean
FAILED: MultiSource/Benchmarks/Prolangs-C++/primes/primes
FAILED: MultiSource/Benchmarks/Prolangs-C++/simul/simul
FAILED: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4
FAILED: tools/not

These tests fail to build on main but succeed on my branch:

FAILED: MultiSource/Applications/JM/lencod/lencod
FAILED: MultiSource/Applications/sgefa/sgefa
FAILED: MultiSource/Applications/spiff/spiff
FAILED: MultiSource/Benchmarks/Fhourstones/fhourstones
FAILED: MultiSource/Benchmarks/MallocBench/cfrac/cfrac
FAILED: MultiSource/Benchmarks/MallocBench/espresso/espresso
FAILED: MultiSource/Benchmarks/MallocBench/gs/gs
FAILED: MultiSource/Benchmarks/mediabench/g721/g721encode/encode

No packages fail to build on my branch but succeed on main AFAICT

@frabert frabert marked this pull request as ready for review June 5, 2025 14:19
ekilmer added a commit to trail-of-forks/instafix-llvm-test-suite that referenced this pull request Jun 6, 2025
trailofbits/instafix-llvm#44 is an attempted workaround
for some ill-formed C programs that we still need to support building, but it
will cause way more LLVM indirect calls to be generated, and calls to be
generated with the wrong number of arguments against the original declaration

Essentially, the issue is that some programs do

```c
int foo() { ... }
```

Then somewhere else:

```c
extern int foo(int bar);

foo(0);
```
ekilmer added a commit to trail-of-forks/instafix-llvm-test-suite that referenced this pull request Jun 6, 2025
trailofbits/instafix-llvm#44 is an attempted workaround
for some ill-formed C programs that we still need to support building, but it
will cause way more LLVM indirect calls to be generated, and calls to be
generated with the wrong number of arguments against the original declaration

Essentially, the issue is that some programs do

```c
int foo() { ... }
```

Then somewhere else:

```c
extern int foo(int bar);

foo(0);
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant