llvm-project/llvm/lib/Target/NVPTX
Justin Lebar f0a80ba385 [NVPTX] Compute 'rem' using the result of 'div', if possible.
Summary:
In isel, transform

  Num % Den

into

  Num - (Num / Den) * Den

if the result of Num / Den is already available.

Reviewers: tra

Subscribers: hfinkel, llvm-commits, jholewinski

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

llvm-svn: 285461
2016-10-28 21:44:00 +00:00
..
InstPrinter Remove autoconf support 2016-01-26 21:29:08 +00:00
MCTargetDesc Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
TargetInfo Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
CMakeLists.txt [NVPTX] Renamed NVPTXLowerKernelArgs -> NVPTXLowerArgs. NFC. 2016-07-20 21:44:07 +00:00
LLVMBuild.txt [NVPTX] Enable the load-store vectorizer on nvptx. 2016-07-20 22:11:36 +00:00
ManagedStringPool.h
NVPTX.h Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
NVPTX.td [NVPTX] Added intrinsics for atom.gen.{sys|cta}.* instructions. 2016-09-28 17:25:38 +00:00
NVPTXAllocaHoisting.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
NVPTXAllocaHoisting.h
NVPTXAsmPrinter.cpp Remove unused #includes of TimeValue.h. NFC. 2016-10-24 14:00:26 +00:00
NVPTXAsmPrinter.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
NVPTXAssignValidGlobalNames.cpp
NVPTXFavorNonGenericAddrSpaces.cpp Add optimization bisect opt-in calls for NVPTX passes 2016-04-26 23:44:31 +00:00
NVPTXFrameLowering.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
NVPTXFrameLowering.h Change eliminateCallFramePseudoInstr() to return an iterator 2016-03-31 18:33:38 +00:00
NVPTXGenericToNVVM.cpp CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses 2016-08-24 01:52:46 +00:00
NVPTXISelDAGToDAG.cpp getValueType().getSizeInBits() -> getValueSizeInBits() ; NFCI 2016-09-14 16:05:51 +00:00
NVPTXISelDAGToDAG.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
NVPTXISelLowering.cpp [NVPTX] Compute 'rem' using the result of 'div', if possible. 2016-10-28 21:44:00 +00:00
NVPTXISelLowering.h [NVPTX] Check if callsite is defined when computing argument allignment 2016-09-21 01:57:57 +00:00
NVPTXImageOptimizer.cpp Add optimization bisect opt-in calls for NVPTX passes 2016-04-26 23:44:31 +00:00
NVPTXInferAddressSpaces.cpp [NVPTX] Switch nvptx-use-infer-addrspace to true. 2016-08-19 20:46:45 +00:00
NVPTXInstrFormats.td
NVPTXInstrInfo.cpp Finish renaming remaining analyzeBranch functions 2016-09-14 20:43:16 +00:00
NVPTXInstrInfo.h Finish renaming remaining analyzeBranch functions 2016-09-14 20:43:16 +00:00
NVPTXInstrInfo.td Target: Remove unused patterns and transforms. NFC. 2016-10-07 00:30:49 +00:00
NVPTXIntrinsics.td [NVPTX] Added intrinsics for atom.gen.{sys|cta}.* instructions. 2016-09-28 17:25:38 +00:00
NVPTXLowerAggrCopies.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
NVPTXLowerAggrCopies.h
NVPTXLowerAlloca.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
NVPTXLowerArgs.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
NVPTXMCExpr.cpp Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
NVPTXMCExpr.h Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
NVPTXMachineFunctionInfo.h
NVPTXPeephole.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
NVPTXPrologEpilogPass.cpp MachineFunction: Return reference for getFrameInfo(); NFC 2016-07-28 18:40:00 +00:00
NVPTXRegisterInfo.cpp [NVPTX] Use untyped (.b) integer registers in PTX. 2016-08-12 22:02:19 +00:00
NVPTXRegisterInfo.h
NVPTXRegisterInfo.td
NVPTXReplaceImageHandles.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
NVPTXSection.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
NVPTXSubtarget.cpp [NVPTX] Added intrinsics for atom.gen.{sys|cta}.* instructions. 2016-09-28 17:25:38 +00:00
NVPTXSubtarget.h [NVPTX] Added intrinsics for atom.gen.{sys|cta}.* instructions. 2016-09-28 17:25:38 +00:00
NVPTXTargetMachine.cpp Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
NVPTXTargetMachine.h Delete Reloc::Default. 2016-05-18 22:04:49 +00:00
NVPTXTargetObjectFile.h Target: Change various section classifiers in TargetLoweringObjectFile to take a GlobalObject. 2016-10-24 19:23:39 +00:00
NVPTXTargetTransformInfo.cpp [NVPTX] Added intrinsics for atom.gen.{sys|cta}.* instructions. 2016-09-28 17:25:38 +00:00
NVPTXTargetTransformInfo.h Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00
NVPTXUtilities.cpp Use the range variant of find instead of unpacking begin/end 2016-08-11 22:21:41 +00:00
NVPTXUtilities.h Apply most suggestions of clang-tidy's performance-unnecessary-value-param 2016-06-08 19:09:22 +00:00
NVPTXVector.td
NVVMIntrRange.cpp NVPTX: Remove the legacy ptx intrinsics 2016-07-07 16:40:17 +00:00
NVVMReflect.cpp [NVPTX] Don't (incorrectly) say that the NVVMReflect pass preserves all analyses. 2016-05-25 23:12:38 +00:00
cl_common_defines.h