[PATCH] Add AnyReg calling convention support for patchpoint intrinsic.

Juergen Ributzka juergen at ributzka.de
Wed Oct 23 20:26:59 PDT 2013


ributzka added you to the CC list for the revision "Add AnyReg calling convention support for patchpoint intrinsic.".

Hi atrick, lhames,

The idea of the AnyReg Calling Convention is to provide the call arguments in
registers, but not to force them to be placed in a paticular order into a
specified set of registers. Instead it is up tp the register allocator to assign
any register as it sees fit. The same applies to the return value (if
applicable).

Callees that follow the AnyReg convention on X86 must preserve almost all
registers, except for r11. r11 is used as a scratch register.

http://llvm-reviews.chandlerc.com/D2009

Files:
  include/llvm/CodeGen/StackMaps.h
  include/llvm/IR/CallingConv.h
  include/llvm/Target/Target.td
  lib/AsmParser/LLLexer.cpp
  lib/AsmParser/LLParser.cpp
  lib/AsmParser/LLToken.h
  lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  lib/CodeGen/SelectionDAG/InstrEmitter.h
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  lib/CodeGen/StackMaps.cpp
  lib/Target/X86/X86CallingConv.td
  lib/Target/X86/X86InstrInfo.cpp
  lib/Target/X86/X86MCInstLower.cpp
  lib/Target/X86/X86RegisterInfo.cpp
  test/CodeGen/X86/anyregcc.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2009.1.patch
Type: text/x-patch
Size: 33721 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131023/0762eb9b/attachment.bin>


More information about the llvm-commits mailing list