[PATCH] D36331: Add ARC backend

Pete Couperus via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 8 12:56:10 PDT 2017


petecoup updated this revision to Diff 110257.
petecoup added a comment.

Hello Eugene, Matt,
Thanks again for taking a look.  This should address all of the comments so far.

- Change line-1 comments to be 80-characters, and unify format.
- Add appropriate spacing around namespaces, and add '// end namespace XYZ' comments.
- Fix some other spacing issues, and remove some empty comment lines.
- Remove a couple of useless .str() calls.
- Implement TII getInstSizeInBytes method.  Use this method in ARCBranchFinalize pass.
- Change Expand Pseudos to delete Instructions as encountered, rather than collect and delete at end.
- Remove all target-specific Load/Store lowering: The target independent path works fine for what we have.
- Add tests for unaligned load/store.
- Remove noisy DEBUG output from ARCISelLowering.
- Use getStoreSize where appropriate in ARCISelLowering.
- Run missed clang-tidy checks from last time (fixes ARCTargetLowering::isLegalAddressingMode, static isBRccPseudo in ARCBranchFinalize).

Please let me know if I missed anything.


https://reviews.llvm.org/D36331

Files:
  llvm/include/llvm/ADT/Triple.h
  llvm/lib/Support/Triple.cpp
  llvm/lib/Target/ARC/ARC.h
  llvm/lib/Target/ARC/ARC.td
  llvm/lib/Target/ARC/ARCAsmPrinter.cpp
  llvm/lib/Target/ARC/ARCBranchFinalize.cpp
  llvm/lib/Target/ARC/ARCCallingConv.td
  llvm/lib/Target/ARC/ARCExpandPseudos.cpp
  llvm/lib/Target/ARC/ARCFrameLowering.cpp
  llvm/lib/Target/ARC/ARCFrameLowering.h
  llvm/lib/Target/ARC/ARCISelDAGToDAG.cpp
  llvm/lib/Target/ARC/ARCISelLowering.cpp
  llvm/lib/Target/ARC/ARCISelLowering.h
  llvm/lib/Target/ARC/ARCInstrFormats.td
  llvm/lib/Target/ARC/ARCInstrInfo.cpp
  llvm/lib/Target/ARC/ARCInstrInfo.h
  llvm/lib/Target/ARC/ARCInstrInfo.td
  llvm/lib/Target/ARC/ARCMCInstLower.cpp
  llvm/lib/Target/ARC/ARCMCInstLower.h
  llvm/lib/Target/ARC/ARCMachineFunctionInfo.cpp
  llvm/lib/Target/ARC/ARCMachineFunctionInfo.h
  llvm/lib/Target/ARC/ARCRegisterInfo.cpp
  llvm/lib/Target/ARC/ARCRegisterInfo.h
  llvm/lib/Target/ARC/ARCRegisterInfo.td
  llvm/lib/Target/ARC/ARCSubtarget.cpp
  llvm/lib/Target/ARC/ARCSubtarget.h
  llvm/lib/Target/ARC/ARCTargetMachine.cpp
  llvm/lib/Target/ARC/ARCTargetMachine.h
  llvm/lib/Target/ARC/ARCTargetStreamer.h
  llvm/lib/Target/ARC/ARCTargetTransformInfo.h
  llvm/lib/Target/ARC/CMakeLists.txt
  llvm/lib/Target/ARC/Disassembler/ARCDisassembler.cpp
  llvm/lib/Target/ARC/Disassembler/CMakeLists.txt
  llvm/lib/Target/ARC/Disassembler/LLVMBuild.txt
  llvm/lib/Target/ARC/InstPrinter/ARCInstPrinter.cpp
  llvm/lib/Target/ARC/InstPrinter/ARCInstPrinter.h
  llvm/lib/Target/ARC/InstPrinter/CMakeLists.txt
  llvm/lib/Target/ARC/InstPrinter/LLVMBuild.txt
  llvm/lib/Target/ARC/LLVMBuild.txt
  llvm/lib/Target/ARC/MCTargetDesc/ARCInfo.h
  llvm/lib/Target/ARC/MCTargetDesc/ARCMCAsmInfo.cpp
  llvm/lib/Target/ARC/MCTargetDesc/ARCMCAsmInfo.h
  llvm/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp
  llvm/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.h
  llvm/lib/Target/ARC/MCTargetDesc/CMakeLists.txt
  llvm/lib/Target/ARC/MCTargetDesc/LLVMBuild.txt
  llvm/lib/Target/ARC/TargetInfo/ARCTargetInfo.cpp
  llvm/lib/Target/ARC/TargetInfo/CMakeLists.txt
  llvm/lib/Target/ARC/TargetInfo/LLVMBuild.txt
  llvm/lib/Target/LLVMBuild.txt
  llvm/test/CodeGen/ARC/alu.ll
  llvm/test/CodeGen/ARC/brcc.ll
  llvm/test/CodeGen/ARC/call.ll
  llvm/test/CodeGen/ARC/ldst.ll
  llvm/test/CodeGen/ARC/lit.local.cfg
  llvm/test/MC/Disassembler/ARC/alu.txt
  llvm/test/MC/Disassembler/ARC/br.txt
  llvm/test/MC/Disassembler/ARC/ldst.txt
  llvm/test/MC/Disassembler/ARC/lit.local.cfg
  llvm/test/MC/Disassembler/ARC/misc.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36331.110257.patch
Type: text/x-patch
Size: 233231 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170808/9abae760/attachment-0001.bin>


More information about the llvm-commits mailing list