Remove unused non-kernel arguments (#262)
* Added a new pass (run after DRA) to remove unused non-kernel arguments
* added an opt out option
* Helps subsequent identification of necessary variable pointer
capabilities
* updated many tests and added a new one
diff --git a/lib/Compiler.cpp b/lib/Compiler.cpp
index 35737c3..f042d9e 100644
--- a/lib/Compiler.cpp
+++ b/lib/Compiler.cpp
@@ -642,6 +642,9 @@
// that are easy to remove. Also replace GEPs of GEPS
// left by replacing indirect buffer accesses.
pm->add(clspv::createSimplifyPointerBitcastPass());
+ // Run after DRA to clean up parameters and help reduce the need for variable
+ // pointers.
+ pm->add(clspv::createRemoveUnusedArgumentsPass());
pm->add(clspv::createSplatSelectConditionPass());
pm->add(clspv::createSignedCompareFixupPass());