diff --git a/hpvm/tools/hpvm-clang/main.py.in b/hpvm/tools/hpvm-clang/main.py.in
index e2bc5cbafa23bd64094a3198ad8466f682f6bbdc..b20af0b80f192fe3c87b004c05a72b034aee098d 100644
--- a/hpvm/tools/hpvm-clang/main.py.in
+++ b/hpvm/tools/hpvm-clang/main.py.in
@@ -36,6 +36,7 @@ def compile_hpvm_c(
     link_libs: List[str] = None,
     working_dir: PathLike = None,
     conf_file: PathLike = None,
+    verbose: bool = False,
 ):
     from subprocess import check_output
 
@@ -84,7 +85,8 @@ def compile_hpvm_c(
         link_binary(hpvm_rt_linked_file, output_file, link_dirs, link_libs)
     )
     for command in commands:
-        print(" ".join(command))
+        if verbose:
+            print(" ".join(command))
         check_output(command)
 
 
@@ -245,6 +247,10 @@ See option -b for that."""
         help="[clang linker] Link library (such as -lpthread)"
     )
 
+    parser.add_argument(
+        "-v", "--verbose", action="store_true", help="Print out all clang/opt/llvm-link commands used"
+    )
+
     args = parser.parse_args()
     if args.tensor_target == "tensor":
         if args.conf_file is None: