1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/lib/Target/NVPTX
Nick Desaulniers 02a0e7f7fc [AsmPrinter] refactor to support %c w/ GlobalAddress'
Summary:
Targets like ARM, MSP430, PPC, and SystemZ have complex behavior when
printing the address of a MachineOperand::MO_GlobalAddress. Move that
handling into a new overriden method in each base class. A virtual
method was added to the base class for handling the generic case.

Refactors a few subclasses to support the target independent %a, %c, and
%n.

The patch also contains small cleanups for AVRAsmPrinter and
SystemZAsmPrinter.

It seems that NVPTXTargetLowering is possibly missing some logic to
transform GlobalAddressSDNodes for
TargetLowering::LowerAsmOperandForConstraint to handle with "i" extended
inline assembly asm constraints.

Fixes:
- https://bugs.llvm.org/show_bug.cgi?id=41402
- https://github.com/ClangBuiltLinux/linux/issues/449

Reviewers: echristo, void

Reviewed By: void

Subscribers: void, craig.topper, jholewinski, dschuff, jyknight, dylanmckay, sdardis, nemanjai, javed.absar, sbc100, jgravelle-google, eraman, kristof.beyls, hiraditya, aheejin, kbarton, fedor.sergeev, jrtc27, atanasyan, jsji, llvm-commits, kees, tpimh, nathanchance, peter.smith, srhines

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60887

llvm-svn: 359337
2019-04-26 18:45:04 +00:00
..
InstPrinter [NVPTX] generate correct MMA instruction mnemonics with PTX63+. 2019-04-25 22:27:46 +00:00
MCTargetDesc [NVPTX][DEBUGINFO]Temp workaround for crash of ptxas: disable packed bytes in debug sections. 2019-03-08 21:29:17 +00:00
TargetInfo Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
cl_common_defines.h
CMakeLists.txt [NVPTX] Allow libcalls that are defined in the current module. 2018-12-26 19:12:31 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ManagedStringPool.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTX.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTX.td [CUDA] Implemented _[bi]mma* builtins. 2019-04-25 22:28:09 +00:00
NVPTXAllocaHoisting.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXAllocaHoisting.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXAsmPrinter.cpp [AsmPrinter] refactor to support %c w/ GlobalAddress' 2019-04-26 18:45:04 +00:00
NVPTXAsmPrinter.h [NVPTXAsmPrinter] clean up dead code. NFC 2019-04-16 21:04:34 +00:00
NVPTXAssignValidGlobalNames.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXFrameLowering.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXFrameLowering.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXGenericToNVVM.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXImageOptimizer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXInstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXInstrInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXInstrInfo.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
NVPTXInstrInfo.td PTX 6.3 extends wmma instruction to support s8/u8/s4/u4/b1 -> s32. 2019-04-25 22:27:57 +00:00
NVPTXIntrinsics.td PTX 6.3 extends wmma instruction to support s8/u8/s4/u4/b1 -> s32. 2019-04-25 22:27:57 +00:00
NVPTXISelDAGToDAG.cpp Add "const" in GetUnderlyingObjects. NFC 2019-04-24 06:55:50 +00:00
NVPTXISelDAGToDAG.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXISelLowering.cpp PTX 6.3 extends wmma instruction to support s8/u8/s4/u4/b1 -> s32. 2019-04-25 22:27:57 +00:00
NVPTXISelLowering.h [NVPTX] Fix the codegen for llvm.round. 2019-04-01 16:10:26 +00:00
NVPTXLowerAggrCopies.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXLowerAggrCopies.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXLowerAlloca.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXLowerArgs.cpp [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
NVPTXMachineFunctionInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXMCExpr.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXMCExpr.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXPeephole.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXPrologEpilogPass.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXProxyRegErasure.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXRegisterInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXRegisterInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXRegisterInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXReplaceImageHandles.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXSubtarget.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXSubtarget.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXTargetMachine.cpp CodeGen: Refactor regallocator command line and target selection 2019-03-19 19:33:12 +00:00
NVPTXTargetMachine.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXTargetObjectFile.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXTargetTransformInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXTargetTransformInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXUtilities.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVPTXUtilities.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVVMIntrRange.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NVVMReflect.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00