[PATCH] D11438: Fix x86_64 fp128 calling convention

Chih-Hung Hsieh via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 24 17:23:49 PST 2015


chh updated this revision to Diff 41100.
chh added a comment.

Push short cuts inside SoftenFloatResult down to SoftenFloatResultOp_* functions,
which now take extra argument ResNo.  SoftenFloatResult is cleaner and faster,
SoftenFloatResultOp_* functions have some repeated patterns.

Abstract out the function isLegalInHWReg used in multiple places.
Spell out more short-cut opcode inside SoftenFloatOperand when isLegalInHWReg.
Add assert of isLegalInHWReg after call of SoftenFloatResult when result is not changed.


http://reviews.llvm.org/D11438

Files:
  include/llvm/Target/TargetLowering.h
  include/llvm/Target/TargetRegisterInfo.h
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
  lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
  lib/CodeGen/SelectionDAG/LegalizeTypes.h
  lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/CodeGen/SelectionDAG/TargetLowering.cpp
  lib/CodeGen/TargetLoweringBase.cpp
  lib/CodeGen/TargetRegisterInfo.cpp
  lib/Target/X86/X86CallingConv.td
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86InstrCompiler.td
  lib/Target/X86/X86InstrInfo.td
  lib/Target/X86/X86InstrSSE.td
  lib/Target/X86/X86MCInstLower.cpp
  lib/Target/X86/X86RegisterInfo.td
  test/CodeGen/X86/fp128-calling-conv.ll
  test/CodeGen/X86/fp128-cast.ll
  test/CodeGen/X86/fp128-compare.ll
  test/CodeGen/X86/fp128-i128.ll
  test/CodeGen/X86/fp128-libcalls.ll
  test/CodeGen/X86/fp128-load.ll
  test/CodeGen/X86/fp128-store.ll
  test/CodeGen/X86/soft-fp.ll
  utils/TableGen/X86RecognizableInstr.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11438.41100.patch
Type: text/x-patch
Size: 96959 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151125/0d09d4dc/attachment.bin>


More information about the llvm-commits mailing list