guiand added a comment.

I've run across an issue when bootstrapping clang, that manifests itself in the 
following code when compiled with optimizations:

  #include <math.h>
  
  float my_exp2(float a) {
      return pow(2.0, a);
  }

With this code, the call to `pow` is lifted to a `exp2`, and then the resulting 
call causes `llvm::verifyFunction` to fail. The error is that attributes are 
present past the end of the argument list.
I'm thinking that whatever code does the lifting here fails to remove the 
attribute list corresponding to the `2.0` parameter here.

Could anyone point me to where I might need to make a change for that?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D81678



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

Reply via email to