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());