Justin Holewinski
5e18b14ee2
PTX: MC-ize the PTX back-end (patch 1 of N)
...
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
2011-09-28 14:32:04 +00:00
Justin Holewinski
e074593498
PTX: Use external symbols to keep track of params and locals. This also fixes
...
a couple of outstanding issues with frame objects occuring as instruction
operands.
llvm-svn: 140616
2011-09-27 18:12:55 +00:00
Justin Holewinski
6e84a68023
PTX: Cleanup unused code in PTXMachineFunctionInfo
...
llvm-svn: 140390
2011-09-23 17:15:53 +00:00
Justin Holewinski
b823e41bf4
PTX: Generalize handling of .param types
...
llvm-svn: 140375
2011-09-23 14:18:22 +00:00
Justin Holewinski
43787cd447
PTX: Use .param space for device function return values on SM 2.0+, and attempt
...
to fix up parameter passing on SM < 2.0
llvm-svn: 140309
2011-09-22 16:45:46 +00:00
Justin Holewinski
8bc34e72e9
PTX: Fixup codegen to handle emission of virtual registers.
...
llvm-svn: 140307
2011-09-22 16:45:40 +00:00
Justin Holewinski
db05c2b963
PTX: Add initial support for device function calls
...
- Calls are supported on SM 2.0+ for function with no return values
llvm-svn: 137125
2011-08-09 17:36:31 +00:00
Justin Holewinski
6cdd72a9ca
PTX: Always use registers for return values, but use .param space for device
...
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
2011-06-23 18:10:13 +00:00
Justin Holewinski
7f191b2a3b
PTX: Finish new calling convention implementation
...
llvm-svn: 133172
2011-06-16 17:50:00 +00:00
Che-Liang Chiou
14c48e5d66
ptx: fix parameter ordering
...
This patch depends on the prior fix r129908 that changes to use std::find,
rather than std::binary_search, on unordered array.
Patch by Dan Bailey
llvm-svn: 129909
2011-04-21 10:56:58 +00:00
Che-Liang Chiou
cdc51569ee
ptx: PTXMachineFunctionInfo no longer sort registers and so should not use std::binary_search
...
llvm-svn: 129908
2011-04-21 10:16:20 +00:00
Eli Friedman
c93d399eed
Revert r129846; it's breaking a buildbot. See
...
http://google1.osuosl.org:8011/builders/llvm-x86_64-linux-checks/builds/825/steps/test.llvm.stage2/logs/st.ll
llvm-svn: 129869
2011-04-20 19:00:08 +00:00
Che-Liang Chiou
49160f9a71
ptx: fix parameter ordering
...
Patched by Dan Bailey
llvm-svn: 129846
2011-04-20 09:27:19 +00:00
Che-Liang Chiou
59515dc703
Add 64-bit addressing to PTX backend
...
- Add '64bit' sub-target option.
- Select 32-bit/64-bit loads/stores based on '64bit' option.
- Fix function parameter order.
Patch by Justin Holewinski
llvm-svn: 126837
2011-03-02 07:36:48 +00:00
Che-Liang Chiou
84fde9ef2b
ptx: add passing parameter to kernel functions
...
llvm-svn: 125279
2011-02-10 12:01:24 +00:00
Che-Liang Chiou
fab7697e42
Add generating function declaration for PTX
...
llvm-svn: 118398
2010-11-08 03:06:08 +00:00
Che-Liang Chiou
09bf309527
Add physical register counting functions
...
llvm-svn: 118397
2010-11-08 03:00:52 +00:00