[llvm-commits] [PATCH] AArch64 backend: LLVM changes

Tim Northover Tim.Northover at arm.com
Tue Jan 15 07:47:09 PST 2013


  Minor update on the LLVM side:

  + Most significantly the vfms intrinsic has been removed since it is adequately modelled by an fneg and an fma.
  + Remove spurious whitespace change.

  In addition, it's been suggested in a separate thread that the TLS changes in generic code (around fixELFSymbolsInTLSFixups) should be considered part of this patch, so that they're not divorced of all motivation when committed.

  That leaves one remaining generic change that I would not intend to commit: the change around sint_to_fp. The proper fix is awaiting review on the cfe-commits list. When a version of that is committed I'm expecting no diff from trunk in that area.

  Comments?

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

CHANGE SINCE LAST DIFF
  http://llvm-reviews.chandlerc.com/D284?vs=670&id=698#toc

Files:
  autoconf/config.sub
  autoconf/configure.ac
  configure
  docs/CompilerWriterInfo.rst
  include/llvm/ADT/Triple.h
  include/llvm/IR/Intrinsics.td
  include/llvm/IR/IntrinsicsAArch64.td
  include/llvm/MC/MCExpr.h
  include/llvm/MC/MCObjectWriter.h
  include/llvm/Object/ELF.h
  include/llvm/Support/ELF.h
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/CodeGen/SelectionDAG/TargetLowering.cpp
  lib/MC/MCELFStreamer.cpp
  lib/MC/MCObjectFileInfo.cpp
  lib/Support/Triple.cpp
  lib/Target/AArch64/AArch64.h
  lib/Target/AArch64/AArch64.td
  lib/Target/AArch64/AArch64AsmPrinter.cpp
  lib/Target/AArch64/AArch64AsmPrinter.h
  lib/Target/AArch64/AArch64CallingConv.td
  lib/Target/AArch64/AArch64ConstantIslandPass.cpp
  lib/Target/AArch64/AArch64FrameLowering.cpp
  lib/Target/AArch64/AArch64FrameLowering.h
  lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/AArch64/AArch64ISelLowering.h
  lib/Target/AArch64/AArch64InstrFormats.td
  lib/Target/AArch64/AArch64InstrInfo.cpp
  lib/Target/AArch64/AArch64InstrInfo.h
  lib/Target/AArch64/AArch64InstrInfo.td
  lib/Target/AArch64/AArch64InstrNEON.td
  lib/Target/AArch64/AArch64MCInstLower.cpp
  lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
  lib/Target/AArch64/AArch64MachineFunctionInfo.h
  lib/Target/AArch64/AArch64RegisterInfo.cpp
  lib/Target/AArch64/AArch64RegisterInfo.h
  lib/Target/AArch64/AArch64RegisterInfo.td
  lib/Target/AArch64/AArch64Schedule.td
  lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
  lib/Target/AArch64/AArch64SelectionDAGInfo.h
  lib/Target/AArch64/AArch64Subtarget.cpp
  lib/Target/AArch64/AArch64Subtarget.h
  lib/Target/AArch64/AArch64TargetMachine.cpp
  lib/Target/AArch64/AArch64TargetMachine.h
  lib/Target/AArch64/AArch64TargetObjectFile.cpp
  lib/Target/AArch64/AArch64TargetObjectFile.h
  lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  lib/Target/AArch64/AsmParser/CMakeLists.txt
  lib/Target/AArch64/AsmParser/LLVMBuild.txt
  lib/Target/AArch64/AsmParser/Makefile
  lib/Target/AArch64/CMakeLists.txt
  lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
  lib/Target/AArch64/Disassembler/CMakeLists.txt
  lib/Target/AArch64/Disassembler/LLVMBuild.txt
  lib/Target/AArch64/Disassembler/Makefile
  lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
  lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h
  lib/Target/AArch64/InstPrinter/CMakeLists.txt
  lib/Target/AArch64/InstPrinter/LLVMBuild.txt
  lib/Target/AArch64/InstPrinter/Makefile
  lib/Target/AArch64/LLVMBuild.txt
  lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64BaseInfo.h
  lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h
  lib/Target/AArch64/MCTargetDesc/AArch64FixupKinds.h
  lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
  lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
  lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
  lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
  lib/Target/AArch64/MCTargetDesc/LLVMBuild.txt
  lib/Target/AArch64/MCTargetDesc/Makefile
  lib/Target/AArch64/Makefile
  lib/Target/AArch64/README.txt
  lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
  lib/Target/AArch64/TargetInfo/CMakeLists.txt
  lib/Target/AArch64/TargetInfo/LLVMBuild.txt
  lib/Target/AArch64/TargetInfo/Makefile
  lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
  lib/Target/LLVMBuild.txt
  projects/sample/autoconf/config.sub
  projects/sample/autoconf/configure.ac
  projects/sample/configure
  test/CodeGen/AArch64/adc.ll
  test/CodeGen/AArch64/addsub-shifted.ll
  test/CodeGen/AArch64/addsub.ll
  test/CodeGen/AArch64/addsub_ext.ll
  test/CodeGen/AArch64/adrp-relocation.ll
  test/CodeGen/AArch64/alloca.ll
  test/CodeGen/AArch64/analyze-branch.ll
  test/CodeGen/AArch64/atomic-ops-not-barriers.ll
  test/CodeGen/AArch64/atomic-ops.ll
  test/CodeGen/AArch64/basic-pic.ll
  test/CodeGen/AArch64/bitfield-insert-0.ll
  test/CodeGen/AArch64/bitfield-insert.ll
  test/CodeGen/AArch64/bitfield.ll
  test/CodeGen/AArch64/blockaddress.ll
  test/CodeGen/AArch64/bool-loads.ll
  test/CodeGen/AArch64/breg.ll
  test/CodeGen/AArch64/callee-save.ll
  test/CodeGen/AArch64/compare-branch.ll
  test/CodeGen/AArch64/complex-copy-noneon.ll
  test/CodeGen/AArch64/cond-sel.ll
  test/CodeGen/AArch64/directcond.ll
  test/CodeGen/AArch64/dp-3source.ll
  test/CodeGen/AArch64/dp1.ll
  test/CodeGen/AArch64/dp2.ll
  test/CodeGen/AArch64/elf-extern.ll
  test/CodeGen/AArch64/extract.ll
  test/CodeGen/AArch64/fastcc-reserved.ll
  test/CodeGen/AArch64/fastcc.ll
  test/CodeGen/AArch64/fcmp.ll
  test/CodeGen/AArch64/fcvt-fixed.ll
  test/CodeGen/AArch64/fcvt-int.ll
  test/CodeGen/AArch64/flags-multiuse.ll
  test/CodeGen/AArch64/floatdp_1source.ll
  test/CodeGen/AArch64/floatdp_2source.ll
  test/CodeGen/AArch64/fp-cond-sel.ll
  test/CodeGen/AArch64/fp-dp3.ll
  test/CodeGen/AArch64/fp128-folding.ll
  test/CodeGen/AArch64/fp128.ll
  test/CodeGen/AArch64/fpimm.ll
  test/CodeGen/AArch64/func-argpassing.ll
  test/CodeGen/AArch64/func-calls.ll
  test/CodeGen/AArch64/global-alignment.ll
  test/CodeGen/AArch64/got-abuse.ll
  test/CodeGen/AArch64/i128-align.ll
  test/CodeGen/AArch64/illegal-float-ops.ll
  test/CodeGen/AArch64/init-array.ll
  test/CodeGen/AArch64/inline-asm-constraints-badI.ll
  test/CodeGen/AArch64/inline-asm-constraints-badK.ll
  test/CodeGen/AArch64/inline-asm-constraints-badK2.ll
  test/CodeGen/AArch64/inline-asm-constraints-badL.ll
  test/CodeGen/AArch64/inline-asm-constraints.ll
  test/CodeGen/AArch64/inline-asm-modifiers.ll
  test/CodeGen/AArch64/jump-table.ll
  test/CodeGen/AArch64/large-frame.ll
  test/CodeGen/AArch64/ldst-regoffset.ll
  test/CodeGen/AArch64/ldst-unscaledimm.ll
  test/CodeGen/AArch64/ldst-unsignedimm.ll
  test/CodeGen/AArch64/lit.local.cfg
  test/CodeGen/AArch64/literal_pools.ll
  test/CodeGen/AArch64/local_vars.ll
  test/CodeGen/AArch64/logical-imm.ll
  test/CodeGen/AArch64/logical_shifted_reg.ll
  test/CodeGen/AArch64/logical_shifted_reg.s
  test/CodeGen/AArch64/movw-consts.ll
  test/CodeGen/AArch64/neon-aba-abd.ll
  test/CodeGen/AArch64/neon-add-pairwise.ll
  test/CodeGen/AArch64/neon-add-sub.ll
  test/CodeGen/AArch64/neon-bitcast.ll
  test/CodeGen/AArch64/neon-bitwise-instructions.ll
  test/CodeGen/AArch64/neon-compare-instructions.ll
  test/CodeGen/AArch64/neon-facge-facgt.ll
  test/CodeGen/AArch64/neon-fma.ll
  test/CodeGen/AArch64/neon-frsqrt-frecp.ll
  test/CodeGen/AArch64/neon-halving-add-sub.ll
  test/CodeGen/AArch64/neon-max-min-pairwise.ll
  test/CodeGen/AArch64/neon-max-min.ll
  test/CodeGen/AArch64/neon-mla-mls.ll
  test/CodeGen/AArch64/neon-mov.ll
  test/CodeGen/AArch64/neon-mul-div.ll
  test/CodeGen/AArch64/neon-rounding-halving-add.ll
  test/CodeGen/AArch64/neon-rounding-shift.ll
  test/CodeGen/AArch64/neon-saturating-add-sub.ll
  test/CodeGen/AArch64/neon-saturating-rounding-shift.ll
  test/CodeGen/AArch64/neon-saturating-shift.ll
  test/CodeGen/AArch64/neon-shift.ll
  test/CodeGen/AArch64/pic-eh-stubs.ll
  test/CodeGen/AArch64/regress-bitcast-formals.ll
  test/CodeGen/AArch64/regress-f128csel-flags.ll
  test/CodeGen/AArch64/regress-tail-livereg.ll
  test/CodeGen/AArch64/regress-tblgen-chains.ll
  test/CodeGen/AArch64/regress-w29-reserved-with-fp.ll
  test/CodeGen/AArch64/regress-wzr-allocatable.ll
  test/CodeGen/AArch64/setcc-takes-i32.ll
  test/CodeGen/AArch64/sibling-call.ll
  test/CodeGen/AArch64/tail-call.ll
  test/CodeGen/AArch64/tls-dynamic-together.ll
  test/CodeGen/AArch64/tls-dynamics.ll
  test/CodeGen/AArch64/tls-execs.ll
  test/CodeGen/AArch64/tst-br.ll
  test/CodeGen/AArch64/variadic.ll
  test/CodeGen/AArch64/zero-reg.ll
  test/DebugInfo/AArch64/cfi-frame.ll
  test/DebugInfo/AArch64/eh_frame.ll
  test/DebugInfo/AArch64/eh_frame_personality.ll
  test/DebugInfo/AArch64/lit.local.cfg
  test/DebugInfo/AArch64/variable-loc.ll
  test/MC/AArch64/basic-a64-diagnostics.s
  test/MC/AArch64/basic-a64-instructions.s
  test/MC/AArch64/elf-globaladdress.ll
  test/MC/AArch64/elf-objdump.s
  test/MC/AArch64/elf-reloc-addsubimm.s
  test/MC/AArch64/elf-reloc-condbr.s
  test/MC/AArch64/elf-reloc-ldrlit.s
  test/MC/AArch64/elf-reloc-ldstunsimm.s
  test/MC/AArch64/elf-reloc-movw.s
  test/MC/AArch64/elf-reloc-pcreladdressing.s
  test/MC/AArch64/elf-reloc-tstb.s
  test/MC/AArch64/elf-reloc-uncondbrimm.s
  test/MC/AArch64/lit.local.cfg
  test/MC/AArch64/mapping-across-sections.s
  test/MC/AArch64/mapping-within-section.s
  test/MC/AArch64/neon-aba-abd.s
  test/MC/AArch64/neon-add-pairwise.s
  test/MC/AArch64/neon-add-sub-instructions.s
  test/MC/AArch64/neon-bitwise-instructions.s
  test/MC/AArch64/neon-compare-instructions.s
  test/MC/AArch64/neon-diagnostics.s
  test/MC/AArch64/neon-facge-facgt.s
  test/MC/AArch64/neon-frsqrt-frecp.s
  test/MC/AArch64/neon-halving-add-sub.s
  test/MC/AArch64/neon-max-min-pairwise.s
  test/MC/AArch64/neon-max-min.s
  test/MC/AArch64/neon-mla-mls-instructions.s
  test/MC/AArch64/neon-mov.s
  test/MC/AArch64/neon-mul-div-instructions.s
  test/MC/AArch64/neon-rounding-halving-add.s
  test/MC/AArch64/neon-rounding-shift.s
  test/MC/AArch64/neon-saturating-add-sub.s
  test/MC/AArch64/neon-saturating-rounding-shift.s
  test/MC/AArch64/neon-saturating-shift.s
  test/MC/AArch64/neon-shift.s
  test/MC/AArch64/noneon-diagnostics.s
  test/MC/AArch64/tls-relocs.s
  test/MC/Disassembler/AArch64/basic-a64-instructions.txt
  test/MC/Disassembler/AArch64/basic-a64-undefined.txt
  test/MC/Disassembler/AArch64/basic-a64-unpredictable.txt
  test/MC/Disassembler/AArch64/ldp-offset-predictable.txt
  test/MC/Disassembler/AArch64/ldp-postind.predictable.txt
  test/MC/Disassembler/AArch64/ldp-preind.predictable.txt
  test/MC/Disassembler/AArch64/lit.local.cfg
  test/MC/Disassembler/AArch64/neon-instructions.txt
  utils/TableGen/DisassemblerEmitter.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D284.2.patch
Type: text/x-patch
Size: 2289150 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130115/68d16fc3/attachment.bin>


More information about the llvm-commits mailing list