[llvm-commits] [PATCH] AArch64 backend: LLVM changes
Tim Northover
Tim.Northover at arm.com
Fri Jan 11 03:33:33 PST 2013
This is the second version of the LLVM patch for the AArch64 target. I think I've applied all of the review comments received so far:
+ Improved comments and documentation (thanks Dmitri)
+ No more grep in tests (Dmitri again)
+ Improved control flow: no else after retrurn, llvm_unreachable (thanks Sean).
+ Register encodings TableGenerated (thanks Jakob)
+ Remove special ExpandPostRAPseudoInst pass (Jakob again).
I believe there are only two changes outside lib/Target/AArch64 (or tests) which are not obviously AArch64 specific now, both in separate review on the list:
+ an sint_to_fp fix for creating APFloats (different approach in review).
+ TLS symbol modifiers.
To my knowledge there have been no detailed reviews yet, so everything should be considered suspect.
http://llvm-reviews.chandlerc.com/D284
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/AsmMatcherEmitter.cpp
utils/TableGen/DisassemblerEmitter.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D284.1.patch
Type: text/x-patch
Size: 2292305 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130111/ffa828ba/attachment.bin>
More information about the llvm-commits
mailing list