[PATCH] D91338: [X86] Zero-extend pointers to i64 for x86_64

Pengfei Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 12 21:56:05 PST 2020


pengfei added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:3073
         Val = lowerRegToMasks(Val, VA.getValVT(), VA.getLocVT(), dl, DAG);
       } else
         Val = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), Val);
----------------
Is some risk here? It is used to truncate i1 only before.


================
Comment at: llvm/test/CodeGen/X86/musttail-varargs.ll:350
 ; LINUX-X32-NEXT:    movl 4(%edi), %r11d
+; LINUX-X32-NEXT:    movl %edi, %edi
 ; LINUX-X32-NEXT:    jmpq *%r11 # TAILCALL
----------------
I have some doubt on the implementation. Is caller always needs zeroext for the pointer even if it knows the upper bits are zero? Form line 309, the callers seems know the upper bits are zero.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91338



More information about the llvm-commits mailing list