2c3e0051c31c3f5b2328b447eadf1cf9c4427442 |
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r235153 Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7 (cherry picked from commit 0c7f116bb6950ef819323d855415b2f2b0aad987)
nstPrinter/NVPTXInstPrinter.cpp
nstPrinter/NVPTXInstPrinter.h
CTargetDesc/NVPTXMCTargetDesc.cpp
VPTX.td
VPTXAsmPrinter.cpp
VPTXFavorNonGenericAddrSpaces.cpp
VPTXGenericToNVVM.cpp
VPTXISelLowering.cpp
VPTXLowerAggrCopies.cpp
VPTXTargetMachine.h
VPTXTargetTransformInfo.cpp
VPTXTargetTransformInfo.h
|
4c5e43da7792f75567b693105cc53e3f1992ad98 |
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
MakeLists.txt
CTargetDesc/NVPTXMCAsmInfo.cpp
CTargetDesc/NVPTXMCTargetDesc.cpp
CTargetDesc/NVPTXMCTargetDesc.h
VPTXAllocaHoisting.cpp
VPTXAllocaHoisting.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXFavorNonGenericAddrSpaces.cpp
VPTXGenericToNVVM.cpp
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXLowerAggrCopies.cpp
VPTXLowerAggrCopies.h
VPTXLowerStructArgs.cpp
VPTXMCExpr.h
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
VPTXSection.h
VPTXTargetMachine.cpp
VPTXTargetMachine.h
VPTXTargetObjectFile.h
VPTXUtilities.cpp
VPTXutil.cpp
VPTXutil.h
VVMReflect.cpp
|
ebe69fe11e48d322045d5949c83283927a0d790b |
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
LVMBuild.txt
CTargetDesc/NVPTXMCAsmInfo.cpp
VPTX.h
VPTXAllocaHoisting.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXAssignValidGlobalNames.cpp
VPTXFrameLowering.cpp
VPTXFrameLowering.h
VPTXGenericToNVVM.cpp
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXImageOptimizer.cpp
VPTXInstrInfo.cpp
VPTXInstrInfo.h
VPTXInstrInfo.td
VPTXLowerAggrCopies.h
VPTXPrologEpilogPass.cpp
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
VPTXReplaceImageHandles.cpp
VPTXSubtarget.cpp
VPTXSubtarget.h
VPTXTargetMachine.cpp
VPTXTargetMachine.h
VPTXTargetTransformInfo.cpp
VPTXTargetTransformInfo.h
VPTXUtilities.cpp
VPTXVector.td
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
MakeLists.txt
nstPrinter/NVPTXInstPrinter.cpp
nstPrinter/NVPTXInstPrinter.h
LVMBuild.txt
CTargetDesc/NVPTXBaseInfo.h
CTargetDesc/NVPTXMCAsmInfo.cpp
CTargetDesc/NVPTXMCAsmInfo.h
CTargetDesc/NVPTXMCTargetDesc.h
anagedStringPool.h
VPTX.h
VPTXAllocaHoisting.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXFrameLowering.cpp
VPTXFrameLowering.h
VPTXGenericToNVVM.cpp
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXInstrFormats.td
VPTXInstrInfo.h
VPTXInstrInfo.td
VPTXIntrinsics.td
VPTXLowerAggrCopies.h
VPTXLowerStructArgs.cpp
VPTXMCExpr.h
VPTXMachineFunctionInfo.h
VPTXPrologEpilogPass.cpp
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
VPTXRegisterInfo.td
VPTXReplaceImageHandles.cpp
VPTXSection.h
VPTXSubtarget.cpp
VPTXSubtarget.h
VPTXTargetMachine.cpp
VPTXTargetMachine.h
VPTXTargetObjectFile.h
VPTXTargetTransformInfo.cpp
VPTXUtilities.cpp
VPTXUtilities.h
VPTXutil.h
|
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 |
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
VPTX.td
VPTXAsmPrinter.cpp
VPTXFrameLowering.cpp
VPTXFrameLowering.h
VPTXGenericToNVVM.cpp
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXImageOptimizer.cpp
VPTXInstrInfo.cpp
VPTXInstrInfo.h
VPTXInstrInfo.td
VPTXIntrinsics.td
VPTXMCExpr.h
VPTXRegisterInfo.td
VPTXSubtarget.cpp
VPTXSubtarget.h
VPTXTargetMachine.cpp
VPTXTargetMachine.h
VVMReflect.cpp
l_common_defines.h
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
MakeLists.txt
nstPrinter/NVPTXInstPrinter.cpp
nstPrinter/NVPTXInstPrinter.h
CTargetDesc/NVPTXBaseInfo.h
CTargetDesc/NVPTXMCTargetDesc.cpp
VPTX.h
VPTXAllocaHoisting.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXAssignValidGlobalNames.cpp
VPTXFavorNonGenericAddrSpaces.cpp
VPTXFrameLowering.h
VPTXGenericToNVVM.cpp
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXImageOptimizer.cpp
VPTXInstrInfo.cpp
VPTXInstrInfo.h
VPTXIntrinsics.td
VPTXLowerAggrCopies.h
VPTXMCExpr.cpp
VPTXMCExpr.h
VPTXMachineFunctionInfo.h
VPTXPrologEpilogPass.cpp
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
VPTXReplaceImageHandles.cpp
VPTXSection.h
VPTXSubtarget.cpp
VPTXSubtarget.h
VPTXTargetMachine.cpp
VPTXTargetMachine.h
VPTXTargetObjectFile.h
VPTXUtilities.cpp
VPTXUtilities.h
VVMReflect.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
MakeLists.txt
nstPrinter/CMakeLists.txt
nstPrinter/NVPTXInstPrinter.cpp
LVMBuild.txt
CTargetDesc/CMakeLists.txt
CTargetDesc/NVPTXMCAsmInfo.cpp
CTargetDesc/NVPTXMCTargetDesc.cpp
VPTX.h
VPTX.td
VPTXAllocaHoisting.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXAssignValidGlobalNames.cpp
VPTXGenericToNVVM.cpp
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXInstrInfo.td
VPTXLowerAggrCopies.cpp
VPTXLowerAggrCopies.h
VPTXPrologEpilogPass.cpp
VPTXSplitBBatBar.cpp
VPTXSplitBBatBar.h
VPTXSubtarget.h
VPTXTargetMachine.cpp
VPTXTargetObjectFile.h
VPTXUtilities.cpp
VVMReflect.cpp
argetInfo/CMakeLists.txt
argetInfo/LLVMBuild.txt
|
354362524a72b3fa43a6c09380b7ae3b2380cbba |
19-Nov-2013 |
Juergen Ributzka <juergen@apple.com> |
[weak vtables] Remove a bunch of weak vtables This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. The memory leaks in this version have been fixed. Thanks Alexey for pointing them out. Differential Revision: http://llvm-reviews.chandlerc.com/D2068 Reviewed by Andy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195064 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXInstrInfo.cpp
VPTXInstrInfo.h
VPTXSection.h
VPTXSubtarget.cpp
VPTXSubtarget.h
VPTXTargetObjectFile.h
|
b21ab43cfc3fa0dacf5c95f04e58b6d804b59a16 |
18-Nov-2013 |
Alexey Samsonov <samsonov@google.com> |
Revert r194865 and r194874. This change is incorrect. If you delete virtual destructor of both a base class and a subclass, then the following code: Base *foo = new Child(); delete foo; will not cause the destructor for members of Child class. As a result, I observe plently of memory leaks. Notable examples I investigated are: ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194997 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXInstrInfo.cpp
VPTXInstrInfo.h
VPTXSection.h
VPTXSubtarget.cpp
VPTXSubtarget.h
VPTXTargetObjectFile.h
|
5a364c5561ec04e33a6f5d52c14f1bac6f247ea0 |
15-Nov-2013 |
Juergen Ributzka <juergen@apple.com> |
[weak vtables] Remove a bunch of weak vtables This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. Differential Revision: http://llvm-reviews.chandlerc.com/D2068 Reviewed by Andy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194865 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXInstrInfo.cpp
VPTXInstrInfo.h
VPTXSection.h
VPTXSubtarget.cpp
VPTXSubtarget.h
VPTXTargetObjectFile.h
|
4d748eb0e4b55262619305c96a89c55c30bffe6c |
15-Nov-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix handling of indirect calls Using a special machine node is cleaner than an InlineAsm node, and fixes an assertion failure in InstrEmitter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194810 91177308-0d34-0410-b5e6-96231b3b80d8
nstPrinter/NVPTXInstPrinter.cpp
nstPrinter/NVPTXInstPrinter.h
VPTXAsmPrinter.cpp
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXInstrInfo.td
|
59d3ae6cdc4316ad338cd848251f33a236ccb36c |
15-Nov-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Add addrspacecast instruction. Patch by Michele Scandale! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194760 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXGenericToNVVM.cpp
|
de9a1a2055851a0f0a88e459cd23a246a90efd45 |
13-Nov-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove AllowQuotesInName and friends from MCAsmInfo. Accepting quotes is a property of an assembler, not of an object file. For example, ELF can support any names for sections and symbols, but the gnu assembler only accepts quotes in some contexts and llvm-mc in a few more. LLVM should not produce different symbols based on a guess about which assembler will be reading the code it is printing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194575 91177308-0d34-0410-b5e6-96231b3b80d8
CTargetDesc/NVPTXMCAsmInfo.cpp
|
07a5d3dc3d99ad2bf5c1122787d37ec0e17adde6 |
11-Nov-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Properly handle bitcast ConstantExpr when checking for the alignment of function parameters git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194410 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
0df3ce333b90cb42ee190a80b310ba89ff4cbeb3 |
11-Nov-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix logic error in loading vector parameters of more than 4 components git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194409 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
40f689851f6737d59b6f6a771ab1e07ce84c9bc3 |
11-Nov-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Blacklist TailDuplicate pass This causes issues with virtual registers. We will likely need to fix TailDuplicate in the future, or introduce a new version that plays nicely with vregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194373 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
|
93cf0939f95b3d580d9c05375a7c84164e1ba72e |
29-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move getSymbol to TargetLoweringObjectFile. This allows constructing a Mangler with just a TargetMachine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193630 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXTargetObjectFile.h
|
ffc7dca885151ed42642c2d6733e8db75d276621 |
29-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a helper getSymbol to AsmPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193627 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
|
703c75c8ae3ed5757781e7a6b6b78f1e91c31371 |
27-Oct-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
NVPTX: Remove unused globals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193500 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
fe16848601bdde6e3a5e0860199169dd171222a4 |
19-Oct-2013 |
Nadav Rotem <nrotem@apple.com> |
Mark some command line flags as hidden git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193013 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXISelDAGToDAG.cpp
VVMReflect.cpp
|
670655471dfc35d90271393bd3e6e26a708f1a3c |
16-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Assert on duplicate registration. Don't depend on function pointer equality. Before this patch we would assert when building llvm as multiple shared libraries (cmake's BUILD_SHARED_LIBS). The problem was the line if (T.AsmStreamerCtorFn == Target::createDefaultAsmStreamer) which returns false because of -fvisibility-inlines-hidden. It is easy to fix just this one case, but I decided to try to also make the registration more strict. It looks like the old logic for ignoring followup registration was just a temporary hack that outlived its usefulness. This patch converts the ifs to asserts, fixes the few cases that were registering twice and makes sure all the asserts compare with null. Thanks for Joerg for reporting the problem and reviewing the patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192803 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
|
81d9902bb11b05c19c2a82209c362bd4e772bfea |
11-Oct-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Switch from StrongPHIElimination to PHIElimination in NVPTXTargetMachine, and add some missing optimization passes to addOptimizedRegAlloc Fixes PR17529 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192445 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
|
43777c3150c1dd12c661f62d5d7c95bf9b04c16a |
11-Oct-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
Make AsmPrinter::emitImplicitDef a virtual method so targets can emit custom comments for implicit defs For NVPTX, this fixes a crash where the emitImplicitDef implementation was expecting physical registers, while NVPTX uses virtual registers (with a couple of exceptions). Now, the implicit def comment will be emitted as a true PTX register name. Other targets can use this to customize the output of implicit def comments. Fixes PR17519 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192444 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
|
f80a63fa23862e578de919f4b44d4fcdee68fd0d |
28-Sep-2013 |
Robert Wilhelm <robert.wilhelm@gmx.net> |
Fix spelling intruction -> instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191610 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXSplitBBatBar.cpp
|
3e84ad28d4d3ceee25771b1e30315c20b7608c39 |
22-Sep-2013 |
Tim Northover <tnorthover@apple.com> |
ISelDAG: spot chain cycles involving MachineNodes Previously, the DAGISel function WalkChainUsers was spotting that it had entered already-selected territory by whether a node was a MachineNode (amongst other things). Since it's fairly common practice to insert MachineNodes during ISelLowering, this was not the correct check. Looking around, it seems that other nodes get their NodeId set to -1 upon selection, so this makes sure the same thing happens to all MachineNodes and uses that characteristic to determine whether we should stop looking for a loop during selection. This should fix PR15840. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191165 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
|
3917535b1af06f03dc0150fc956fb05218a78292 |
19-Sep-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Support constant vector globals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190997 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
30632d2fbb3c46e552a68aa7961b12eb44cece01 |
24-Aug-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Re-enable assembly printing support for inline assembly This support was removed by accident during the MC conversion git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189160 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
|
1edd1a336a79c4cb804d32cb492738549154c69c |
18-Aug-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove unused stdio.h includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188626 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXInstrInfo.cpp
|
0ff1190888f5b24f64a196392c452800447186d8 |
15-Aug-2013 |
Craig Topper <craig.topper@gmail.com> |
Replace getValueType().getSimpleVT() with getSimpleValueType(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188442 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
|
06d63b31beb38a0c30dfa94543e53d8632531417 |
07-Aug-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] We dont have any target specific flags yet for generating symbol references, so get rid of the default-only switch statement. Fixes an MSVC warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187829 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
df66ff09bcbdddf4ed6e3d162110a3d2b7978628 |
06-Aug-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add missing patterns for i1 [s,u]int_to_fp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187800 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXInstrInfo.td
|
a3635eefc749389aed84d9791fab657297203e1b |
06-Aug-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix bug in stack code generation causes by MC conversion We do use a very small set of physical registers, so account for them in the virtual register encoding between MachineInstr and MC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187799 91177308-0d34-0410-b5e6-96231b3b80d8
nstPrinter/NVPTXInstPrinter.cpp
VPTXAsmPrinter.cpp
VPTXFrameLowering.cpp
VPTXInstrInfo.td
|
82767327c59ede1f8663ec9b9a64a668993d501f |
06-Aug-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Start conversion to MC infrastructure This change converts the NVPTX target to use the MC infrastructure instead of directly emitting MachineInstr instances. This brings the target more up-to-date with LLVM TOT, and should fix PR15175 and PR15958 (libNVPTXInstPrinter is empty) as a side-effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187798 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
nstPrinter/NVPTXInstPrinter.cpp
nstPrinter/NVPTXInstPrinter.h
CTargetDesc/NVPTXMCTargetDesc.cpp
VPTX.td
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXISelLowering.cpp
VPTXMCExpr.cpp
VPTXMCExpr.h
|
8e1d64666f493e4994b26a390bec1290a5d94b96 |
06-Aug-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Target/*/CMakeLists.txt: Add the dependency to CommonTableGen explicitly for each corresponding CodeGen. Without explicit dependencies, both per-file action and in-CommonTableGen action could run in parallel. It races to emit *.inc files simultaneously. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187780 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
6303ef1fb7bba4e6c6823a6732019e0996efe575 |
22-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Remove unused prototypes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186844 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.h
|
3a8ee4ffd783bd0cf2d83089edb43ec546b49d0d |
22-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Use approximate FP ops when unsafe-fp-math is used, and append .ftz to instructions if the nvptx-f32ftz attribute is set to "true" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186820 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXInstrInfo.td
|
2f438131f115a3860ee344a827a091790d6dc13d |
16-Jul-2013 |
Tim Northover <tnorthover@apple.com> |
ARM: implement ldrex, strex and clrex intrinsics Intrinsics already existed for the 64-bit variants, so these support operations of size at most 32-bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186392 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAllocaHoisting.cpp
|
a0ec3f9b7b826b9b40b80199923b664bad808cce |
14-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186274 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
6227d5c690504c7ada5780c00a635b282c46e275 |
04-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185606 91177308-0d34-0410-b5e6-96231b3b80d8
anagedStringPool.h
VPTXGenericToNVVM.cpp
|
728af3d574895dd9e4bb5c418c7398297c4f39fe |
01-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add support for module-scope inline asm Since we were explicitly not calling AsmPrinter::doInitialization, any module-scope inline asm was not being printed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185336 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
1fd09172bba8539e198db0360ac66f4694b4a3e0 |
01-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] We dont use NVBuiltin anymore git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185335 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXISelLowering.h
|
c676590614a0547242620fc2eefb16945e66c68a |
01-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Cut down on physical register defs We are using virtual registers throughout now, but we still need to keep a few physical registers per class around to keep the infrastructure happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185334 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXNumRegisters.h
VPTXRegisterInfo.td
|
fc32eb472ae74e96435ce70c67d6c1edeb6f3e9f |
01-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] 64-bit ADDC/ADDE are not legal git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185333 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
be08c60533d27f2714a4a88ba91125bcede32a1e |
01-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix vector loads from parameters that span multiple loads, and fix some typos git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185332 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
VPTXISelLowering.cpp
|
03e5bb2c87c05ca42f9940e14f22275b136a9883 |
01-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Handle signext/zeroext attributes properly Fix a case where we were incorrectly sign-extending a value when we should have been zero-extending the value. Also change some SIGN_EXTEND to ANY_EXTEND because we really dont care and may have more opportunity to fold subexpressions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185331 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
8834184a463514530728a8032df165558393cd9c |
01-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add support for native SIGN_EXTEND_INREG where available git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185330 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXInstrInfo.td
|
9bc8feeb4fd15883949900194c93fd1704c404b4 |
01-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add isel patterns for [reg+offset] form of ldg/ldu. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185329 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
VPTXIntrinsics.td
|
30b13ebd0b3d29d5f2d3dcbccee31d3a55917277 |
01-Jul-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Make sure we zero out high-order 24 bits for 8-bit load into 32-bit value git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185328 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
bebf6222f6b7cc871cfbc51f78cdb33d17fedb6c |
30-Jun-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
NVPTX: Fold otherwise unused variable into assert. Avoids unused variable warnings in release builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185271 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
b206498b95e09358d62a19fbff4a98258b179c7a |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Select -1 instead of 1 when anyextend'ing i1 types This makes it more consistent with the ZeroOrNegativeOneBooleanContent flag git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185179 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXInstrInfo.td
|
f51a22e815a7494cbe1aba25d275015a70b5c31d |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add (1.0 / sqrt(x)) => rsqrt(x) generation when allowable by FP flags git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185178 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXInstrInfo.td
|
ac78a0645ddd2046fb66237ba4cfadffa2d367d7 |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Calling conventions fix Fix ABI handling for function returning bool -- use st.param.b32 to return the value and use ld.param.b32 in caller to load the return value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185177 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
331ba2739d484b670000bd59b170fe1e993786d2 |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add support for cttz/ctlz/ctpop git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185176 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXInstrInfo.td
|
ef0ccc93203e99077632cec7a0a15b8e1b704aee |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Clean up comparison/select/convert patterns and factor out PTX instructions from their patterns Test case is no breakage git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185175 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXISelDAGToDAG.cpp
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXInstrInfo.td
VPTXIntrinsics.td
|
1c07dae9fcd04469779edf7b86fef37fecc9466c |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Remove i8 register class. PTX support for i8 (.b8, .u8, .s8) is rather poor and we're better off just ignoring it and letting LLVM expand all i8 ops out to i16. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185174 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXInstrInfo.cpp
VPTXInstrInfo.td
VPTXIntrinsics.td
VPTXRegisterInfo.cpp
VPTXRegisterInfo.td
|
bc48ce87ef608730616c3250b18c013b1b4a39fc |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add support for vectorized function return values git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185173 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
b67366514316bbb3cc3cb57f72f2d1439ec474bc |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Clean up handling of formal arguments and enable generation of vector parameter loads git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185172 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
00df1252286eb71b093d8e45eb4c9cee4ca5761d |
28-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add infrastructure for vector loads/stores of parameters git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185171 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXInstrInfo.td
|
cbafae6d33031a72ba8219c28cb0e852511f79a3 |
28-Jun-2013 |
Manman Ren <mren@apple.com> |
Debug Info: clean up usage of Verify. No functionality change. It should suffice to check the type of a debug info metadata, instead of calling Verify. For cases where we know the type of a DI metadata, use assert. Also update testing cases to make them conform to the format of DI classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185135 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
8479989ebe30f8fb9e14fbd5622fe0fd51988ff6 |
27-Jun-2013 |
Eric Christopher <echristo@gmail.com> |
Revert "Debug Info: clean up usage of Verify." as it's breaking bots. This reverts commit r185020 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185032 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
02e75021d80bb068d0178f1e4fdd0a4fb36b9811 |
26-Jun-2013 |
Manman Ren <mren@apple.com> |
Debug Info: clean up usage of Verify. No functionality change. It should suffice to check the type of a debug info metadata, instead of calling Verify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185020 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
5df8c1bbb66a6b7386c9d7866592ecbb646da66c |
25-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Default pointer type doesn't make sense for getParamSymbol() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184831 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXISelLowering.h
|
f1505ff35bf76cb044c261b4cc97773d47658805 |
24-Jun-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
NVPTXTargetObjectFile.h: Initialize some pointers as NULL in the constructor of NVPTXTargetObjectFile. ~NVPTXTargetObjectFile() tries to delete them. It caused crash on some hosts since r184595. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184728 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetObjectFile.h
|
5b3fca50a08865f0db55fc92ad1c037a04e12177 |
22-Jun-2013 |
Chad Rosier <mcrosier@apple.com> |
The getRegForInlineAsmConstraint function should only accept MVT value types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184642 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXISelLowering.h
|
0ff4287fe2245f417ed78fa535fce360b8b8df23 |
21-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add support for selecting CUDA vs OCL mode based on triple IR for CUDA should use "nvptx[64]-nvidia-cuda", and IR for NV OpenCL should use "nvptx[64]-nvidia-nvcl" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184579 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.h
VPTXSubtarget.cpp
|
0c92f2a1c73aeccc9e0f4deadcad8dc563dec225 |
19-Jun-2013 |
Bill Wendling <isanbard@gmail.com> |
Don't pass in the TargetInstrInfo into the register info object. It doesn't use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184369 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXInstrInfo.cpp
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
|
7c32502a7f81dfaddb79c9c8e5b1acc759e19af9 |
10-Jun-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Remove old CONST_NOT_GEN address space that is not being used anymore and causes constants to be emitted in the global address space git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183652 91177308-0d34-0410-b5e6-96231b3b80d8
CTargetDesc/NVPTXBaseInfo.h
VPTXAsmPrinter.cpp
VPTXISelDAGToDAG.cpp
|
488401e9c995b6bfcc54fa7c54a5ec09e75d01a1 |
31-May-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
NVPTX: Don't even create a regalloc if we're not going to use it. Fixes a leak found by valgrind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183031 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
|
5443e7d79044f3198f2da044f1b389b40d9bea6f |
31-May-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Re-enable support for virtual registers in the final output Now that 3.3 is branched, we are re-enabling virtual registers to help iron out bugs before the next release. Some of the post-RA passes do not play well with virtual registers, so we disable them for now. The needed functionality of the PrologEpilogInserter pass is copied to a new backend-specific NVPTXPrologEpilog pass. The test for this commit is not breaking the existing tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182998 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
VPTX.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXInstrInfo.cpp
VPTXPrologEpilogPass.cpp
VPTXRegisterInfo.cpp
VPTXTargetMachine.cpp
|
d5c52f1d760cd2f6f347733a02bf666fc1d50662 |
30-May-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix case where a sext load of an i1 type may produce an ld.u1 instead of an ld.u8. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182924 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
|
6e0b2a0cb0d398f175a5294bf0ad5488c714e8c2 |
30-May-2013 |
Andrew Trick <atrick@apple.com> |
Order CALLSEQ_START and CALLSEQ_END nodes. Fixes PR16146: gdb.base__call-ar-st.exp fails after pre-RA-sched=source fixes. Patch by Xiaoyi Guo! This also fixes an unsupported dbg.value test case. Codegen was previously incorrect but the test was passing by luck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182885 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
cc5a882c96af6e36bc029b7ff69f62f94e2d041d |
29-May-2013 |
Bill Wendling <isanbard@gmail.com> |
Don't reach into the middle of TargetMachine and cache one of its ivars. Not only does this break encapsulation, it's gross. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182876 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
dd0fb018a7cd2214c7bc5c6c767f626f99b47ba9 |
25-May-2013 |
Andrew Trick <atrick@apple.com> |
Track IR ordering of SelectionDAG nodes 3/4. Remove the old IR ordering mechanism and switch to new one. Fix unit test failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182704 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
ac6d9bec671252dd1e596fa71180ff6b39d06b5d |
25-May-2013 |
Andrew Trick <atrick@apple.com> |
Track IR ordering of SelectionDAG nodes 2/4. Change SelectionDAG::getXXXNode() interfaces as well as call sites of these functions to pass in SDLoc instead of DebugLoc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182703 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
VPTXISelLowering.cpp
VPTXISelLowering.h
|
5c35290fa35ae234fed02496404cb0fc37e1c8a5 |
23-May-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move passes from namespace llvm into anonymous namespaces. Sort includes while there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182594 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
|
603100d3de4ba34bf5a7274acf7942083a1e2641 |
23-May-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
More symbols that should be static. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182590 91177308-0d34-0410-b5e6-96231b3b80d8
CTargetDesc/NVPTXMCAsmInfo.cpp
|
b9c26dcb2438266567ce94570bf294d00d10cc87 |
21-May-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add @llvm.nvvm.sqrt.f() intrinsic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182394 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXInstrInfo.td
VPTXIntrinsics.td
|
9b39c726a007d8a4101568e9afe72658a5ae1b7c |
20-May-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix mis-use of CurrentFnSym in NVPTXAsmPrinter. This was causing a symbol name error in the output PTX. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182298 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
d22367559300c77c73e0ad9e193a33451bf8bf6c |
20-May-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add programmatic interface to NVVMReflect pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182297 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.h
VVMReflect.cpp
|
7536ecf2916a6a986f0d328069e3a210f34d5ea7 |
20-May-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add GenericToNVVM IR converter to better handle idiomatic LLVM IR inputs This converter currently only handles global variables in address space 0. For these variables, they are promoted to address space 1 (global memory), and all uses are updated to point to the result of a cvta.global instruction on the new variable. The motivation for this is address space 0 global variables are illegal since we cannot declare variables in the generic address space. Instead, we place the variables in address space 1 and explicitly convert the pointer to address space 0. This is primarily intended to help new users who expect to be able to place global variables in the default address space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182254 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
VPTX.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXGenericToNVVM.cpp
VPTXIntrinsics.td
VPTXTargetMachine.cpp
|
55fdf5362954a58b7e1bda34ff5c7e1246bfb991 |
20-May-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix i1 kernel parameters and global variables. ABI rules say we need to use .u8 for i1 parameters for kernels. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182253 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
225ed7069caae9ece32d8bd3d15c6e41e21cc04b |
18-May-2013 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Add LLVMContext argument to getSetCCResultType git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182180 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.h
|
4a971705bc6030dc2e4338b3cd5cffa2e0f88b7b |
13-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove the MachineMove class. It was just a less powerful and more confusing version of MCCFIInstruction. A side effect is that, since MCCFIInstruction uses dwarf register numbers, calls to getDwarfRegNum are pushed out, which should allow further simplifications. I left the MachineModuleInfo::addFrameMove interface unchanged since this patch was already fairly big. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181680 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
|
6e53180db120b30f600ac31611a9dd47ef7f4921 |
10-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove unused argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181618 91177308-0d34-0410-b5e6-96231b3b80d8
CTargetDesc/NVPTXMCAsmInfo.cpp
CTargetDesc/NVPTXMCAsmInfo.h
|
2a8bea7a8eba9bfa05dcc7a87e9152a0043841b2 |
20-Apr-2013 |
Michael Liao <michael.liao@intel.com> |
ArrayRefize getMachineNode(). No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179901 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
|
df39be6cb4eb44011db3d3e86f8fe463f81ce127 |
17-Apr-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for subsections to the ELF assembler. Fixes PR8717. Differential Revision: http://llvm-reviews.chandlerc.com/D598 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179725 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXSection.h
|
d4ab1926af982e4334978fd9bf9156c7c087f6f5 |
02-Apr-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix a few style issues in NVVMReflect git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178536 91177308-0d34-0410-b5e6-96231b3b80d8
VVMReflect.cpp
|
b24fc1c7f7545362fe283730d5532fa7e7375c9e |
30-Mar-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Remove support for SM < 2.0. This was never fully supported anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178417 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.td
VPTXSubtarget.cpp
|
21fdcb02716f5eae097abfd2f44e40563e90180a |
30-Mar-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add NVVMReflect pass to allow compile-time selection of specific code paths. This allows us to write code like: if (__nvvm_reflect("FOO")) // Do something else // Do something else and compile into a library, then give "FOO" a value at kernel compile-time so the check becomes a no-op. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178416 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
VPTXTargetMachine.cpp
VVMReflect.cpp
|
3639ce2575660a0e6938d2e84e8bd9a738fd7051 |
30-Mar-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Run clang-format on all NVPTX sources. Hopefully this resolves any outstanding style issues and gives us an automated way of ensuring we conform to the style guidelines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178415 91177308-0d34-0410-b5e6-96231b3b80d8
CTargetDesc/NVPTXBaseInfo.h
CTargetDesc/NVPTXMCAsmInfo.cpp
CTargetDesc/NVPTXMCTargetDesc.cpp
anagedStringPool.h
VPTX.h
VPTXAllocaHoisting.cpp
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXFrameLowering.cpp
VPTXFrameLowering.h
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXInstrInfo.cpp
VPTXInstrInfo.h
VPTXLowerAggrCopies.cpp
VPTXNumRegisters.h
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
VPTXSplitBBatBar.cpp
VPTXSubtarget.cpp
VPTXSubtarget.h
VPTXTargetMachine.cpp
VPTXTargetMachine.h
VPTXTargetObjectFile.h
VPTXUtilities.cpp
VPTXUtilities.h
VPTXutil.cpp
argetInfo/NVPTXTargetInfo.cpp
l_common_defines.h
|
1ce53cb526d23a3988fb12a5294ab1fcb2eb840f |
24-Mar-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix handling of vector arguments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177847 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXISelLowering.cpp
|
3ef5383b3537a420c5e2ab3e657c378e5185549d |
08-Mar-2013 |
Tom Stellard <thomas.stellard@amd.com> |
DAGCombiner: Use correct value type for checking legality of BR_CC v3 LegalizeDAG.cpp uses the value of the comparison operands when checking the legality of BR_CC, so DAGCombiner should do the same. v2: - Expand more BR_CC value types for NVPTX v3: - Expand correct BR_CC value types for Hexagon, Mips, and XCore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176694 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
3853f74aba301ef08b699bac2fa8e53230714a58 |
07-Mar-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
ArrayRefize some code. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176648 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
a6b20ced765b67a85d9219d0c8547fc9c133e14f |
01-Mar-2013 |
Michael Liao <michael.liao@intel.com> |
Fix PR10475 - ISD::SHL/SRL/SRA must have either both scalar or both vector operands but TLI.getShiftAmountTy() so far only return scalar type. As a result, backend logic assuming that breaks. - Rename the original TLI.getShiftAmountTy() to TLI.getScalarShiftAmountTy() and re-define TLI.getShiftAmountTy() to return target-specificed scalar type or the same vector type as the 1st operand. - Fix most TICG logic assuming TLI.getShiftAmountTy() a simple scalar type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176364 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.h
|
700ed80d3da5e98e05ceb90e9bfb66058581a6db |
21-Feb-2013 |
Eli Bendersky <eliben@google.com> |
Move the eliminateCallFramePseudoInstr method from TargetRegisterInfo to TargetFrameLowering, where it belongs. Incidentally, this allows us to delete some duplicated (and slightly different!) code in TRI. There are potentially other layering problems that can be cleaned up as a result, or in a similar manner. The refactoring was OK'd by Anton Korobeynikov on llvmdev. Note: this touches the target interfaces, so out-of-tree targets may be affected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175788 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXFrameLowering.cpp
VPTXFrameLowering.h
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
|
3450f800aa65c91f0496816ba6061a422a74c1fe |
20-Feb-2013 |
Jim Grosbach <grosbach@apple.com> |
Update TargetLowering ivars for name policy. http://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly ivars should be camel-case and start with an upper-case letter. A few in TargetLowering were starting with a lower-case letter. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175667 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
7eacad03efda36e09ebd96e95d7891cadaaa9087 |
12-Feb-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Disable vector registers Vectors were being manually scalarized by the backend. Instead, let the target-independent code do all of the work. The manual scalarization was from a time before good target-independent support for scalarization in LLVM. However, this forces us to specially-handle vector loads and stores, which we can turn into PTX instructions that produce/consume multiple operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174968 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
VPTX.h
VPTXAsmPrinter.cpp
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXInstrInfo.cpp
VPTXInstrInfo.td
VPTXIntrinsics.td
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
VPTXRegisterInfo.td
VPTXSubtarget.h
VPTXTargetMachine.cpp
ectorElementize.cpp
en-register-defs.py
|
00d9da1ac45429cb69c8b298b9f25e10a4b57813 |
09-Feb-2013 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Make address space errors more explicit (llvm_unreachable -> report_fatal_error) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174808 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
108fb3202af6f500073cdbb7be32c25d7a273a2e |
31-Jan-2013 |
Chad Rosier <mcrosier@apple.com> |
[PEI] Pass the frame index operand number to the eliminateFrameIndex function. Each target implementation was needlessly recomputing the index. Part of rdar://13076458 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174083 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
|
e752feee5228bfa33acee35ef9c606ce12f0f173 |
23-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Clean up assignment of CalleeSaveStackSlotSize: get rid of the default and explicitly set this in every target that needs to change it from the default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173270 91177308-0d34-0410-b5e6-96231b3b80d8
CTargetDesc/NVPTXMCAsmInfo.cpp
|
e735945ad74a4af9772a7d9bb45418b2551fffe9 |
23-Jan-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
NVPTX: Stop leaking memory by using a managed constant instead of a new Argument. This is still an egregious hack since we don't have a nice interface for this kind of thing but should help the valgrind leak check buildbot to become green. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173267 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
aeef83c6afa1e18d1cf9d359cc678ca0ad556175 |
07-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Switch TargetTransformInfo from an immutable analysis pass that requires a TargetMachine to construct (and thus isn't always available), to an analysis group that supports layered implementations much like AliasAnalysis does. This is a pretty massive change, with a few parts that I was unable to easily separate (sorry), so I'll walk through it. The first step of this conversion was to make TargetTransformInfo an analysis group, and to sink the nonce implementations in ScalarTargetTransformInfo and VectorTargetTranformInfo into a NoTargetTransformInfo pass. This allows other passes to add a hard requirement on TTI, and assume they will always get at least on implementation. The TargetTransformInfo analysis group leverages the delegation chaining trick that AliasAnalysis uses, where the base class for the analysis group delegates to the previous analysis *pass*, allowing all but tho NoFoo analysis passes to only implement the parts of the interfaces they support. It also introduces a new trick where each pass in the group retains a pointer to the top-most pass that has been initialized. This allows passes to implement one API in terms of another API and benefit when some other pass above them in the stack has more precise results for the second API. The second step of this conversion is to create a pass that implements the TargetTransformInfo analysis using the target-independent abstractions in the code generator. This replaces the ScalarTargetTransformImpl and VectorTargetTransformImpl classes in lib/Target with a single pass in lib/CodeGen called BasicTargetTransformInfo. This class actually provides most of the TTI functionality, basing it upon the TargetLowering abstraction and other information in the target independent code generator. The third step of the conversion adds support to all TargetMachines to register custom analysis passes. This allows building those passes with access to TargetLowering or other target-specific classes, and it also allows each target to customize the set of analysis passes desired in the pass manager. The baseline LLVMTargetMachine implements this interface to add the BasicTTI pass to the pass manager, and all of the tools that want to support target-aware TTI passes call this routine on whatever target machine they end up with to add the appropriate passes. The fourth step of the conversion created target-specific TTI analysis passes for the X86 and ARM backends. These passes contain the custom logic that was previously in their extensions of the ScalarTargetTransformInfo and VectorTargetTransformInfo interfaces. I separated them into their own file, as now all of the interface bits are private and they just expose a function to create the pass itself. Then I extended these target machines to set up a custom set of analysis passes, first adding BasicTTI as a fallback, and then adding their customized TTI implementations. The fourth step required logic that was shared between the target independent layer and the specific targets to move to a different interface, as they no longer derive from each other. As a consequence, a helper functions were added to TargetLowering representing the common logic needed both in the target implementation and the codegen implementation of the TTI pass. While technically this is the only change that could have been committed separately, it would have been a nightmare to extract. The final step of the conversion was just to delete all the old boilerplate. This got rid of the ScalarTargetTransformInfo and VectorTargetTransformInfo classes, all of the support in all of the targets for producing instances of them, and all of the support in the tools for manually constructing a pass based around them. Now that TTI is a relatively normal analysis group, two things become straightforward. First, we can sink it into lib/Analysis which is a more natural layer for it to live. Second, clients of this interface can depend on it *always* being available which will simplify their code and behavior. These (and other) simplifications will follow in subsequent commits, this one is clearly big enough. Finally, I'm very aware that much of the comments and documentation needs to be updated. As soon as I had this working, and plausibly well commented, I wanted to get it committed and in front of the build bots. I'll be doing a few passes over documentation later if it sticks. Commits to update DragonEgg and Clang will be made presently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171681 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
VPTXTargetMachine.h
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.h
VPTXAllocaHoisting.cpp
VPTXAllocaHoisting.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXInstrInfo.cpp
VPTXLowerAggrCopies.cpp
VPTXLowerAggrCopies.h
VPTXSection.h
VPTXSplitBBatBar.cpp
VPTXTargetMachine.cpp
VPTXTargetMachine.h
VPTXUtilities.cpp
VPTXUtilities.h
argetInfo/NVPTXTargetInfo.cpp
ectorElementize.cpp
|
98281a20503896349bd152e2dfe87435d3a6aada |
30-Dec-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
convert a bunch of callers from DataLayout::getIndexedOffset() to GEP::accumulateConstantOffset(). The later API is nicer than the former, and is correct regarding wrap-around offsets (if anyone cares). There are a few more places left with duplicated code, which I'll remove soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171259 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
94e94b350652d3a71993bbc7d44afbe3b304605e |
30-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Use the predicate methods off of AttributeSet instead of Attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171257 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXISelLowering.cpp
|
38b06020dbd804f01ee3802779a52c05cffdf87d |
21-Dec-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Remove duplicate includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170902 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
|
28d53a26cccd3620d2fdc50065e17b689455de47 |
20-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
MachineInstrBuilderize NVPTX. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170794 91177308-0d34-0410-b5e6-96231b3b80d8
ectorElementize.cpp
|
034b94b17006f51722886b0f2283fb6fb19aca1f |
19-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXISelLowering.cpp
|
b1cc6f3dff96bfb26e0f5b62a187374b6a7629a1 |
13-Dec-2012 |
Eric Christopher <echristo@gmail.com> |
Add a way of printing out an arbitrary label name for a section given the section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170087 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXSection.h
|
99faa3b4ec6d03ac7808fe4ff3fbf3d04e375502 |
08-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
s/AttrListPtr/AttributeSet/g to better label what this class is going to be in the near future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169651 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXISelLowering.cpp
|
2f1086137dbabad072c98bd4d8dab15525ca4991 |
05-Dec-2012 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Fix crash with unnamed struct arguments Patch by Eric Holk git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169418 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
a1514e24cc24b050f53a12650e047799358833a1 |
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort includes for all of the .h files under the 'lib' tree. These were missed in the first pass because the script didn't yet handle include guards. Note that the script is now able to handle all of these headers without manual edits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169224 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.h
VPTXAllocaHoisting.h
VPTXAsmPrinter.h
VPTXLowerAggrCopies.h
VPTXSection.h
VPTXSplitBBatBar.h
VPTXSubtarget.h
VPTXTargetMachine.h
VPTXUtilities.h
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAllocaHoisting.cpp
VPTXAsmPrinter.cpp
VPTXFrameLowering.cpp
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXLowerAggrCopies.cpp
VPTXRegisterInfo.cpp
VPTXSplitBBatBar.cpp
VPTXTargetMachine.cpp
VPTXUtilities.cpp
ectorElementize.cpp
|
3d200255d5b93344c1ab0a5ba4b47a52cfa5893e |
29-Nov-2012 |
Justin Holewinski <jholewinski@nvidia.com> |
Allow targets to prefer TypeSplitVector over TypePromoteInteger when computing the legalization method for vectors For some targets, it is desirable to prefer scalarizing <N x i1> instead of promoting to a larger legal type, such as <N x i32>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168882 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXISelLowering.h
|
2085d00d09f4f3678a6c67da46df3a04e31b499c |
16-Nov-2012 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Order global variables in def-use order before emiting them in the final assembly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168198 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
e8b0ae1fb61aa8d4e698ed8fabffd16f2bf51605 |
15-Nov-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
NVPTXISelLowering.cpp: Fix warnings. [-Wunused-variable] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168001 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
|
7454fc2e87ef5638f3644b86a4350a44513e5185 |
14-Nov-2012 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix invalid asserts, use llvm_unreachable instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167976 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
a20067b5d4ea718a3f0e47adae8b231e4a2db9f6 |
14-Nov-2012 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Implement custom lowering of loads/stores for i1 Loads from i1 become loads from i8 followed by trunc Stores to i1 become zext to i8 followed by store to i8 Fixes PR13291 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167948 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXISelLowering.h
|
4db8833c93107052686bf3f757f41349fb736809 |
12-Nov-2012 |
Eric Christopher <echristo@gmail.com> |
Remove unused field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167719 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXSubtarget.h
|
08e9cb46feb0c8e08e3d309a0f9fd75a04ca54fb |
12-Nov-2012 |
Justin Holewinski <jholewinski@nvidia.com> |
[NVPTX] Add more precise PTX/SM target attributes Each SM and PTX version is modeled as a subtarget feature/CPU. Additionally, PTX 3.1 is added as the default PTX version to be out-of-the-box compatible with CUDA 5.0. Available CPUs for this target: sm_10 - Select the sm_10 processor. sm_11 - Select the sm_11 processor. sm_12 - Select the sm_12 processor. sm_13 - Select the sm_13 processor. sm_20 - Select the sm_20 processor. sm_21 - Select the sm_21 processor. sm_30 - Select the sm_30 processor. sm_35 - Select the sm_35 processor. Available features for this target: ptx30 - Use PTX version 3.0. ptx31 - Use PTX version 3.1. sm_10 - Target SM 1.0. sm_11 - Target SM 1.1. sm_12 - Target SM 1.2. sm_13 - Target SM 1.3. sm_20 - Target SM 2.0. sm_21 - Target SM 2.1. sm_30 - Target SM 3.0. sm_35 - Target SM 3.5. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167699 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.td
VPTXAsmPrinter.cpp
VPTXSubtarget.cpp
VPTXSubtarget.h
|
89443ff7ae81e6a439b5b67e5dd587a450090599 |
10-Nov-2012 |
Justin Holewinski <justin.holewinski@gmail.com> |
[NVPTX] Use ABI alignment for parameters when alignment is not specified. Affects SM 2.0+. Fixes bug 13324. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167646 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
426c2bf5cdd2173e4a33aea8cb92cf684a724f4b |
01-Nov-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Revert the majority of the next patch in the address space series: r165941: Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis. Despite this commit log, this change primarily changed stuff outside of VMCore, and those changes do not carry any tests for correctness (or even plausibility), and we have consistently found questionable or flat out incorrect cases in these changes. Most of them are probably correct, but we need to devise a system that makes it more clear when we have handled the address space concerns correctly, and ideally each pass that gets updated would receive an accompanying test case that exercises that pass specificaly w.r.t. alternate address spaces. However, from this commit, I have retained the new C API entry points. Those were an orthogonal change that probably should have been split apart, but they seem entirely good. In several places the changes were very obvious cleanups with no actual multiple address space code added; these I have not reverted when I spotted them. In a few other places there were merge conflicts due to a cleaner solution being implemented later, often not using address spaces at all. In those cases, I've preserved the new code which isn't address space dependent. This is part of my ongoing effort to clean out the partial address space code which carries high risk and low test coverage, and not likely to be finished before the 3.2 release looms closer. Duncan and I would both like to see the above issues addressed before we return to these changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167222 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
ece6c6bb6329748b92403c06ac87f45c43485911 |
01-Nov-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Revert the series of commits starting with r166578 which introduced the getIntPtrType support for multiple address spaces via a pointer type, and also introduced a crasher bug in the constant folder reported in PR14233. These commits also contained several problems that should really be addressed before they are re-committed. I have avoided reverting various cleanups to the DataLayout APIs that are reasonable to have moving forward in order to reduce the amount of churn, and minimize the number of commits that were reverted. I've also manually updated merge conflicts and manually arranged for the getIntPtrType function to stay in DataLayout and to be defined in a plausible way after this revert. Thanks to Duncan for working through this exact strategy with me, and Nick Lewycky for tracking down the really annoying crasher this triggered. (Test case to follow in its own commit.) After discussing with Duncan extensively, and based on a note from Micah, I'm going to continue to back out some more of the more problematic patches in this series in order to ensure we go into the LLVM 3.2 branch with a reasonable story here. I'll send a note to llvmdev explaining what's going on and why. Summary of reverted revisions: r166634: Fix a compiler warning with an unused variable. r166607: Add some cleanup to the DataLayout changes requested by Chandler. r166596: Revert "Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this! r166591: Delete a directory that wasn't supposed to be checked in yet. r166578: Add in support for getIntPtrType to get the pointer type based on the address space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167221 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
b52fb876171e3670e7307fda4459ca005d49d9f5 |
24-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Add some cleanup to the DataLayout changes requested by Chandler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166607 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
270483466124fe1e19d5439e958fef63cebd43cd |
24-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
Implement a basic VectorTargetTransformInfo interface to be used by the loop and bb vectorizers for modeling the cost of instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166593 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
|
aa76e9e2cf50af190de90bc778b7f7e42ef9ceff |
24-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Add in support for getIntPtrType to get the pointer type based on the address space. This checkin also adds in some tests that utilize these paths and updates some of the clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166578 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
cbd9a19b5d6ff93efa82c467508ede78b8af3bac |
19-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
Reapply the TargerTransformInfo changes, minus the changes to LSR and Lowerinvoke. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166248 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
VPTXTargetMachine.h
|
3b9a911efcf280950f878a050728450423875639 |
18-Oct-2012 |
Bob Wilson <bob.wilson@apple.com> |
Temporarily revert the TargetTransform changes. The TargetTransform changes are breaking LTO bootstraps of clang. I am working with Nadav to figure out the problem, but I am reverting it for now to get our buildbots working. This reverts svn commits: 165665 165669 165670 165786 165787 165997 and I have also reverted clang svn 165741 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166168 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
VPTXTargetMachine.h
|
2c39b15073db81d93bb629303915b7d7e5d088dc |
15-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165941 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
fb384d61c78b60787ed65475d8403aee65023962 |
11-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Revert 165732 for further review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165747 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
f3840d2c16a4ec4c879a8ded402835746de380f8 |
11-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165726 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
e3d0e86919730784faaddcb5d9b0257c39b0804b |
11-Oct-2012 |
Nadav Rotem <nrotem@apple.com> |
Add a new interface to allow IR-level passes to access codegen-specific information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165665 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
VPTXTargetMachine.h
|
6765834754cbb3cb0f15b4b15e98c5e73fa50066 |
09-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Create enums for the different attributes. We use the enums to query whether an Attributes object has that attribute. The opaque layer is responsible for knowing where that specific attribute is stored. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165488 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXISelLowering.cpp
|
3574eca1b02600bac4e625297f4ecf745f4c4f32 |
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAllocaHoisting.h
VPTXAsmPrinter.cpp
VPTXISelLowering.cpp
VPTXLowerAggrCopies.cpp
VPTXLowerAggrCopies.h
VPTXTargetMachine.cpp
VPTXTargetMachine.h
|
8f00ae6a3f8d392ce0f42a81223e479f97876d7f |
04-Oct-2012 |
Bill Wendling <isanbard@gmail.com> |
Use new accessor methods to query for attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165205 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXISelLowering.cpp
|
30a507a1f5d6a5646dd3481eba6958424415c886 |
02-Jul-2012 |
Bob Wilson <bob.wilson@apple.com> |
Extend TargetPassConfig to allow running only a subset of the normal passes. This is still a work in progress but I believe it is currently good enough to fix PR13122 "Need unit test driver for codegen IR passes". For example, you can run llc with -stop-after=loop-reduce to have it dump out the IR after running LSR. Serializing machine-level IR is not yet supported but we have some patches in progress for that. The plan is to serialize the IR to a YAML file, containing separate sections for the LLVM IR, machine-level IR, and whatever other info is needed. Chad suggested that we stash the stop-after pass in the YAML file and use that instead of the start-after option to figure out where to restart the compilation. I think that's a great idea, but since it's not implemented yet I put the -start-after option into this patch for testing purposes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159570 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.h
|
564fbf6aff8fb95646a1290078a37c2d4dbe629f |
02-Jul-2012 |
Bob Wilson <bob.wilson@apple.com> |
Add all codegen passes to the PassManager via TargetPassConfig. This is a preliminary step toward having TargetPassConfig be able to start and stop the compilation at specified passes for unit testing and debugging. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159567 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetMachine.cpp
|
06cb8ed00696eb14d1b831921452e50ec0568ea2 |
29-Jun-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h This was always part of the VMCore library out of necessity -- it deals entirely in the IR. The .cpp file in fact was already part of the VMCore library. This is just a mechanical move. I've tried to go through and re-apply the coding standard's preferred header sort, but at 40-ish files, I may have gotten some wrong. Please let me know if so. I'll be committing the corresponding updates to Clang and Polly, and Duncan has DragonEgg. Thanks to Bill and Eric for giving the green light for this bit of cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159421 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXLowerAggrCopies.cpp
|
112f575e4bd2b5f72ce7d5a5544ecaa11418a50a |
28-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove layering violation #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159372 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
0bcbd1df7a204e1e512f1a27066d725309de1b13 |
28-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h. The reasoning is because the DebugInfo module is simply an interface to the debug info MDNodes and has nothing to do with analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159312 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
0518fca843ff87d069ecb07fc00d306c1f587d58 |
26-Jun-2012 |
Jack Carter <jcarter@mips.com> |
There are a number of generic inline asm operand modifiers that up to r158925 were handled as processor specific. Making them generic and putting tests for these modifiers in the CodeGen/Generic directory caused a number of targets to fail. This commit addresses that problem by having the targets call the generic routine for generic modifiers that they don't currently have explicit code for. For now only generic print operands 'c' and 'n' are supported.vi Affected files: test/CodeGen/Generic/asm-large-immediate.ll lib/Target/PowerPC/PPCAsmPrinter.cpp lib/Target/NVPTX/NVPTXAsmPrinter.cpp lib/Target/ARM/ARMAsmPrinter.cpp lib/Target/XCore/XCoreAsmPrinter.cpp lib/Target/X86/X86AsmPrinter.cpp lib/Target/Hexagon/HexagonAsmPrinter.cpp lib/Target/CellSPU/SPUAsmPrinter.cpp lib/Target/Sparc/SparcAsmPrinter.cpp lib/Target/MBlaze/MBlazeAsmPrinter.cpp lib/Target/Mips/MipsAsmPrinter.cpp MSP430 isn't represented because it did not even run with the long existing 'c' modifier and it was not apparent what needs to be done to get it inline asm ready. Contributer: Jack Carter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159203 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
|
d5c407d2d01ff8797c29343e4da5f765fe52fb5f |
24-Jun-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159112 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
95a9d937728ca9cf2bf44f86ff1184df318b3bd7 |
06-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Round 2 of dead private variable removal. LLVM is now -Wunused-private-field clean except for - lib/MC/MCDisassembler/Disassembler.h. Not sure why it keeps all those unaccessible fields. - gtest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158096 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
|
09b5df8996b37e61369026d50b44713984adbdc4 |
05-Jun-2012 |
Yuan Lin <yulin@nvidia.com> |
Fix header file include order in NVPTX backend NV_CONTRIB git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158013 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.h
|
d9b0b025612992a0b724eeca8bdf10b1d7a5c355 |
02-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix typos found by http://github.com/lyda/misspell-check git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXInstrInfo.td
|
703360f93cf88aeab3d602a454c554622eba63e9 |
31-May-2012 |
Joel Jones <joel_k_jones@apple.com> |
Fix typos git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157752 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAllocaHoisting.cpp
|
d2ea0e10cbd158c93fb870cdd03001b9cd1156b8 |
25-May-2012 |
Justin Holewinski <jholewinski@nvidia.com> |
Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall to pass around a struct instead of a large set of individual values. This cleans up the interface and allows more information to be added to the struct for future targets without requiring changes to each and every target. NV_CONTRIB git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157479 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXISelLowering.h
|
b1ebd6981fe2654a295200d18d479f092201d394 |
25-May-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Shrink. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157433 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXRegisterInfo.td
|
6366361998599a63a74ee7cc5f4ba900711c7e7a |
24-May-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert assert(0) to llvm_unreachable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157380 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXInstrInfo.cpp
VPTXRegisterInfo.cpp
ectorElementize.cpp
|
6fcf129cf5fcf4cd0ceb2afa8e2537a4333f896d |
24-May-2012 |
Craig Topper <craig.topper@gmail.com> |
Mark a couple arrays as static and const. Use array_lengthof instead of sizeof/sizeof. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157369 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXAsmPrinter.cpp
VPTXISelLowering.cpp
|
ecb3f43d644962d904bac16e25af07aa9156e56e |
15-May-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove extraneous ';'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156791 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXSection.h
|
22b291abd855ccf013381a9d6939d918181b0e0e |
08-May-2012 |
Eric Christopher <echristo@apple.com> |
Remove excess semi-colons to quiet warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156416 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXTargetObjectFile.h
|
af878315192a9fa5b534364e327c24aeb8d73b5a |
05-May-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
NVPTX: Initialize the UseF32FTZ flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156232 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelDAGToDAG.cpp
|
03ba93e194d979c95f29c9b602730e522f8facd4 |
05-May-2012 |
David Blaikie <dblaikie@gmail.com> |
Fix warnings in release build. This fixes a couple of Clang warnings in release builds of LLVM: * Missing return in ISelLowering * Unused variable in NVPTXutil.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156216 91177308-0d34-0410-b5e6-96231b3b80d8
VPTXISelLowering.cpp
VPTXutil.cpp
|
917644d0c347950f8e77f52797cb89ceb771215d |
04-May-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Fix a Clang warning in the new NVPTX backend: In file included from ../lib/Target/NVPTX/VectorElementize.cpp:53: ../lib/Target/NVPTX/NVPTX.h:44:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default] default: assert(0 && "Unknown condition code"); ^ 1 warning generated. The prevailing pattern in LLVM is to not use a default label, and instead to use llvm_unreachable to denote that the switch in fact covers all return paths from the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156209 91177308-0d34-0410-b5e6-96231b3b80d8
VPTX.h
|
49683f3c961379fbc088871a5d6304950f1f1cbc |
04-May-2012 |
Justin Holewinski <jholewinski@nvidia.com> |
This patch adds a new NVPTX back-end to LLVM which supports code generation for NVIDIA PTX 3.0. This back-end will (eventually) replace the current PTX back-end, while maintaining compatibility with it. The new target machines are: nvptx (old ptx32) => 32-bit PTX nvptx64 (old ptx64) => 64-bit PTX The sources are based on the internal NVIDIA NVPTX back-end, and contain more functionality than the current PTX back-end currently provides. NV_CONTRIB git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156196 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
nstPrinter/CMakeLists.txt
nstPrinter/LLVMBuild.txt
nstPrinter/Makefile
nstPrinter/NVPTXInstPrinter.cpp
LVMBuild.txt
CTargetDesc/CMakeLists.txt
CTargetDesc/LLVMBuild.txt
CTargetDesc/Makefile
CTargetDesc/NVPTXBaseInfo.h
CTargetDesc/NVPTXMCAsmInfo.cpp
CTargetDesc/NVPTXMCAsmInfo.h
CTargetDesc/NVPTXMCTargetDesc.cpp
CTargetDesc/NVPTXMCTargetDesc.h
akefile
anagedStringPool.h
VPTX.h
VPTX.td
VPTXAllocaHoisting.cpp
VPTXAllocaHoisting.h
VPTXAsmPrinter.cpp
VPTXAsmPrinter.h
VPTXFrameLowering.cpp
VPTXFrameLowering.h
VPTXISelDAGToDAG.cpp
VPTXISelDAGToDAG.h
VPTXISelLowering.cpp
VPTXISelLowering.h
VPTXInstrFormats.td
VPTXInstrInfo.cpp
VPTXInstrInfo.h
VPTXInstrInfo.td
VPTXIntrinsics.td
VPTXLowerAggrCopies.cpp
VPTXLowerAggrCopies.h
VPTXNumRegisters.h
VPTXRegisterInfo.cpp
VPTXRegisterInfo.h
VPTXRegisterInfo.td
VPTXSection.h
VPTXSplitBBatBar.cpp
VPTXSplitBBatBar.h
VPTXSubtarget.cpp
VPTXSubtarget.h
VPTXTargetMachine.cpp
VPTXTargetMachine.h
VPTXTargetObjectFile.h
VPTXUtilities.cpp
VPTXUtilities.h
VPTXVector.td
VPTXutil.cpp
VPTXutil.h
argetInfo/CMakeLists.txt
argetInfo/LLVMBuild.txt
argetInfo/Makefile
argetInfo/NVPTXTargetInfo.cpp
ectorElementize.cpp
l_common_defines.h
en-register-defs.py
|