summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PTX/PTXAsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove the PTX back-end and all of its artifacts (triple, etc.)Justin Holewinski2012-05-241-561/+0
| | | | | | | | This back-end was deprecated in favor of the NVPTX back-end. NV_CONTRIB llvm-svn: 157417
* Reorder includes in Target backends to following coding standards. Remove ↵Craig Topper2012-03-171-1/+1
| | | | | | some superfluous forward declarations. llvm-svn: 152997
* Remove dead code. Improve llvm_unreachable text. Simplify some control flow.Ahmed Charles2012-02-191-1/+0
| | | | llvm-svn: 150918
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-201-3/+1
| | | | llvm-svn: 148578
* PTX: Continue to fix up the register mess.Justin Holewinski2011-12-061-47/+26
| | | | llvm-svn: 145947
* PTX: Encode registers as unsigned values in the MC asm printer instead of ↵Justin Holewinski2011-12-061-10/+28
| | | | | | using external symbols llvm-svn: 145946
* allow non-device function calls in PTX when natively handling device-side printfDan Bailey2011-11-111-0/+30
| | | | llvm-svn: 144388
* Simplify code. No functionality change.Benjamin Kramer2011-11-071-155/+91
| | | | llvm-svn: 144012
* fixed global array handling for ptx to use the correct bit widthsDan Bailey2011-11-031-12/+17
| | | | llvm-svn: 143640
* Add support for a new extension to the .file directive:Nick Lewycky2011-10-171-2/+1
| | | | | | | | | | .file filenumber "directory" "filename" This removes one join+split of the directory+filename in MC internals. Because bitcode files have independent fields for directory and filenames in debug info, this patch may change the .o files written by existing .bc files. llvm-svn: 142300
* PTX: Print .ptr kernel attributes if PTX version >= 2.2Justin Holewinski2011-10-091-1/+37
| | | | llvm-svn: 141508
* PTX: Various stylistic and code readability changes recommended by Jim Grosbach.Justin Holewinski2011-09-301-200/+8
| | | | llvm-svn: 140855
* PTX: Fix broken shared library buildJustin Holewinski2011-09-291-4/+0
| | | | llvm-svn: 140783
* PTX: Fix alignment logicJustin Holewinski2011-09-281-1/+1
| | | | llvm-svn: 140709
* PTX: MC-ize the PTX backend (patch 2 of N)Justin Holewinski2011-09-281-8/+2
| | | | | | Get rid of some of the no-longer-needed parts of PTXAsmPrinter. llvm-svn: 140698
* PTX: MC-ize the PTX back-end (patch 1 of N)Justin Holewinski2011-09-281-44/+61
| | | | | | | | Lay some groundwork for converting to MC-based asm printer. This is the first of probably many patches to bring the back-end back up-to-date with all of the recent MC changes. llvm-svn: 140697
* PTX: Fix case where printed alignment could be 0Justin Holewinski2011-09-271-1/+1
| | | | llvm-svn: 140624
* PTX: Use external symbols to keep track of params and locals. This also fixesJustin Holewinski2011-09-271-23/+5
| | | | | | | a couple of outstanding issues with frame objects occuring as instruction operands. llvm-svn: 140616
* PTX: Fix detection of stack load/store vs. global load/store, as well as fix theJustin Holewinski2011-09-261-2/+9
| | | | | | printing of local offsets llvm-svn: 140547
* PTX: Fix some lingering issues with stack allocationJustin Holewinski2011-09-261-1/+3
| | | | llvm-svn: 140535
* PTX: Unify handling of loads/storesJustin Holewinski2011-09-261-1/+8
| | | | llvm-svn: 140533
* PTX: Handle FrameIndex nodesJustin Holewinski2011-09-261-2/+2
| | | | llvm-svn: 140532
* PTX: Cleanup unused code in PTXMachineFunctionInfoJustin Holewinski2011-09-231-3/+3
| | | | llvm-svn: 140390
* PTX: Handle function call return valuesJustin Holewinski2011-09-231-9/+24
| | | | llvm-svn: 140386
* PTX: Start fixing function callsJustin Holewinski2011-09-231-1/+12
| | | | llvm-svn: 140378
* PTX: Generalize handling of .param typesJustin Holewinski2011-09-231-11/+21
| | | | llvm-svn: 140375
* PTX: Use .param space for device function return values on SM 2.0+, and attemptJustin Holewinski2011-09-221-34/+55
| | | | | | to fix up parameter passing on SM < 2.0 llvm-svn: 140309
* PTX: Fixup codegen to handle emission of virtual registers.Justin Holewinski2011-09-221-15/+60
| | | | llvm-svn: 140307
* Move TargetRegistry and TargetSelect from Target to Support where they belong.Evan Cheng2011-08-241-1/+1
| | | | | | These are strictly utilities for registering targets and components. llvm-svn: 138450
* PTX: Add initial support for device function callsJustin Holewinski2011-08-091-1/+42
| | | | | | - Calls are supported on SM 2.0+ for function with no return values llvm-svn: 137125
* land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner2011-07-181-6/+6
| | | | llvm-svn: 135375
* PTX: Reverting implementation of i8.Dan Bailey2011-06-251-2/+0
| | | | | | | | The .b8 operations in PTX are far more limiting than I first thought. The mov operation isn't even supported, so there's no way of converting a .pred value into a .b8 without going via .b16, which is not sensible. An improved implementation needs to use the fact that loads and stores automatically extend and truncate to implement support for EXTLOAD and TRUNCSTORE in order to correctly support boolean values. llvm-svn: 133873
* PTX: Add support for i8 type and introduce associated .b8 registersDan Bailey2011-06-241-0/+2
| | | | | | The i8 type is required for boolean values, but can only use ld, st and mov instructions. The i1 type continues to be used for predicates. llvm-svn: 133814
* PTX: Add preliminary support for outputting debug information in the form ofJustin Holewinski2011-06-241-0/+97
| | | | | | | | | | .file and .loc directives. Ideally, we would utilize the existing support in AsmPrinter for this, but I cannot find a way to get .file and .loc directives to print without the rest of the associated DWARF sections, which ptxas cannot handle. llvm-svn: 133812
* PTX: Re-work target sm/compute selection and add some basic GPUJustin Holewinski2011-06-241-1/+1
| | | | | | targets: g80, gt200, gf100(fermi) llvm-svn: 133799
* PTX: Always use registers for return values, but use .param space for deviceJustin Holewinski2011-06-231-13/+4
| | | | | | | | | | | parameters if SM >= 2.0 - Update test cases to be more robust against register allocation changes - Bump up the number of registers to 128 per type - Include Python script to re-generate register file with any number of registers llvm-svn: 133736
* PTX: Whitespace fixes and remove commented out codeJustin Holewinski2011-06-231-35/+0
| | | | llvm-svn: 133734
* PTX: Prevent DCE from eliminating st.param calls, and unify the handling ofJustin Holewinski2011-06-231-5/+23
| | | | | | | st.param and ld.param FIXME: Test cases still need to be updated llvm-svn: 133733
* PTX: Use .param space for parameters in device functions for SM >= 2.0Justin Holewinski2011-06-231-1/+2
| | | | | FIXME: DCE is eliminating the final st.param.x calls, figure out why llvm-svn: 133732
* PTX: Fix FrameIndex mapping bugJustin Holewinski2011-06-221-7/+10
| | | | llvm-svn: 133619
* PTX: Add .address_size directive if PTX version >= 2.3Justin Holewinski2011-06-221-0/+7
| | | | | | Patch by Wei-Ren Chen llvm-svn: 133589
* PTX: Add basic register spilling codeJustin Holewinski2011-06-201-0/+13
| | | | | | | | | | | | The current implementation generates stack loads/stores, which are really just mov instructions from/to "special" registers. This may not be the most efficient implementation, compared to an approach where the stack registers are directly folded into instructions, but this is easier to implement and I have yet to see a case where ptxas is unable to see through this kind of register usage and know what is really going on. llvm-svn: 133443
* Fix a FIXME by making GlobalVariable::getInitializer() return aJay Foad2011-06-191-1/+1
| | | | | | const Constant *. llvm-svn: 133400
* PTX: Finish new calling convention implementationJustin Holewinski2011-06-161-43/+75
| | | | llvm-svn: 133172
* PTX: Rename register classes for readability and combine int and fp registersJustin Holewinski2011-06-161-6/+6
| | | | llvm-svn: 133171
* PTX: Fix whitespace errorsJustin Holewinski2011-06-161-9/+10
| | | | llvm-svn: 133158
* PTX: patch to AsmPrinterJustin Holewinski2011-04-281-22/+47
| | | | | | | | | - immediate value cast as long not int - handles initializer for constant array Patch by Dan Bailey llvm-svn: 130352
* PTX: Add intrinsics to list of built-in intrinsics, which allows them to beJustin Holewinski2011-04-201-1/+2
| | | | | | | | | | used by Clang. To help Clang integration, the PTX target has been split into two targets: ptx32 and ptx64, depending on the desired pointer size. - Add GCCBuiltin class to all intrinsics - Split PTX target into ptx32 and ptx64 llvm-svn: 129851
* PTX: Fix various codegen issuesJustin Holewinski2011-03-181-1/+11
| | | | | | | | - Emit mad instead of mad.rn for shader model 1.0 - Emit explicit mov.u32 instructions for reading global variables - (most PTX instructions cannot take global variable immediates) llvm-svn: 127895
* ptx: fix parameter order that is reversedChe-Liang Chiou2011-03-181-5/+4
| | | | llvm-svn: 127874
OpenPOWER on IntegriCloud