vikramRH marked 4 inline comments as done.
vikramRH added inline comments.

================
Comment at: clang/test/CodeGenHIP/printf_nonhostcall.cpp:137
+
+__device__ float f1 = 3.14f;
+__device__ double f2 = 2.71828;
----------------
arsenm wrote:
> Also half 
C++ default arg promotions does not seem to list float16 case and consequently 
clang does not handle it. I have handled this case by promoting to double 
currenlty. Clang however still emits a warning when used with a %f conv 
specifier


================
Comment at: llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp:386-387
+    } else {
+      auto IntTy = dyn_cast<IntegerType>(Args[i]->getType());
+      if (IntTy && IntTy->getBitWidth() == 32)
+        WhatToStore.push_back(
----------------
arsenm wrote:
> isIntegerTy(32).
> 
> I also do not understand why only 32-bit integers would be promoted to 64-bit 
> (or why this would be zext). This doesn't match varargs ABI handling, where 
> everything smaller would be promoted to i32.
Right, But default promotions would have happened already, this additional 
promotion is due to runtime processing requirement


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D150427/new/

https://reviews.llvm.org/D150427

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to