[PATCH] Reverse order in which base and derived pointers are lowered in the statepoint StackMap section

Igor Laevsky igor at azulsystems.com
Thu May 7 09:41:51 PDT 2015


REPOSITORY
  rL LLVM

================
Comment at: test/CodeGen/X86/statepoint-stackmap-format.ll:11
@@ -10,2 +10,3 @@
 
-define i1 @test(i32 addrspace(1)* %ptr) gc "statepoint-example" {
+define i1 @test(i32 addrspace(1)* %ptr_base, i32 addrspace(1)* %ptr_derived)
+  gc "statepoint-example" {
----------------
reames wrote:
> This is an invalid test.  An argument can not be a derived pointer.  This is currently utterly unsupported.  
> 
> You should create ptr_derived by bitcasting or gepping from the existing argument.  
I fixed this test, but I am still not clear what do you mean by unsupported? It is true that in code generated with RewriteStatepointForGC pass we can not have such derived pointers. But from the lowering standpoint it does not make any difference how derived pointer were made. Also from the quick glance at the documentation I have not found that such cases are not supported. What am I missing?

http://reviews.llvm.org/D9527

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list