History log of /external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f51b7e5d74d3de591c61e5cd69bb1b55c471c7d4 30-Sep-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Various stylistic and code readability changes recommended by Jim Grosbach.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
d8e4ed2686cfcc1857d1ea15d2797d6c92c09f6c 28-Sep-2011 Justin Holewinski <justin.holewinski@gmail.com> 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
d5c3920f8d7e3556b7349344523cd572224bf44e 26-Sep-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Split up the TableGen instruction definitions into logical units

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
5422a0f166bc86c72fafaa547435e18578add3b9 22-Sep-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Use .param space for device function return values on SM 2.0+, and attempt
to fix up parameter passing on SM < 2.0

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
297984d7c6d7bc944c49564374be2e6e3902373b 22-Sep-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Fixup codegen to handle emission of virtual registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
3e74d6fdd248e20a280f1dff3da9a6c689c2c4c3 24-Aug-2011 Evan Cheng <evan.cheng@apple.com> Move TargetRegistry and TargetSelect from Target to Support where they belong.
These are strictly utilities for registering targets and components.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
c60f9b752381baa6c4b80c0739034660f1748c84 14-Jul-2011 Evan Cheng <evan.cheng@apple.com> Next round of MC refactoring. This patch factor MC table instantiations, MC
registeration and creation code into XXXMCDesc libraries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
59ee62d2418df8db499eca1ae17f5900dc2dcbba 11-Jul-2011 Evan Cheng <evan.cheng@apple.com> - Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfo
and MCSubtargetInfo.
- Added methods to update subtarget features (used when targets automatically
detect subtarget features or switch modes).
- Teach X86Subtarget to update MCSubtargetInfo features bits since the
MCSubtargetInfo layer can be shared with other modules.
- These fixes .code 16 / .code 32 support since mode switch is updated in
MCSubtargetInfo so MC code emitter can do the right thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
4db3cffe94a5285239cc0056f939c6b74a5ca0b6 01-Jul-2011 Evan Cheng <evan.cheng@apple.com> Hide the call to InitMCInstrInfo into tblgen generated ctor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
22fee2dff4c43b551aefa44a96ca74fcade6bfac 28-Jun-2011 Evan Cheng <evan.cheng@apple.com> Merge XXXGenRegisterNames.inc into XXXGenRegisterInfo.inc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
e837dead3c8dc3445ef6a0e2322179c57e264a13 28-Jun-2011 Evan Cheng <evan.cheng@apple.com> - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and
sink them into MC layer.
- Added MCInstrInfo, which captures the tablegen generated static data. Chang
TargetInstrInfo so it's based off MCInstrInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
84149460d5fa2503e953f5800e7cdbf88f161b5a 25-Jun-2011 Dan Bailey <dan@dneg.com> PTX: Reverting implementation of i8.

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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
b05a8a8f02ee3ec78eb6171f2f3078fe2ed4ff7e 24-Jun-2011 Dan Bailey <dan@dneg.com> PTX: Add support for i8 type and introduce associated .b8 registers

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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
08d03168f2be9ee8139e4d2ba0923260df6e00b2 22-Jun-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Fix FrameIndex mapping bug

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
cad129bcc0a23d1acfb6560f12ff1066c7b42ba0 20-Jun-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Fix if-then-else formatting and add missing asserts

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
df1c8d837d2aa1405a5523f6293ccbed38f9c446 20-Jun-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Add basic register spilling code

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
1b91bcddd5a26c8bfad7cc1195aa092d42053c0e 16-Jun-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Rename register classes for readability and combine int and fp registers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
357be5e4ae712eae73d5985c2f6b91baa8bc4271 02-Apr-2011 Che-Liang Chiou <clchiou@gmail.com> ptx: support setp's 4-operand format

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
fb4a8344b6f4be1113498e6e69dc182408dc2ec9 28-Mar-2011 Che-Liang Chiou <clchiou@gmail.com> ptx: clean up branch code a bit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
5e0872e099d854509a3e71055e9266de50955e98 22-Mar-2011 Che-Liang Chiou <clchiou@gmail.com> ptx: add analyze/insert/remove branch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
f78847ee7bda747f62b708d7e35d5517090f778c 14-Mar-2011 Che-Liang Chiou <clchiou@gmail.com> ptx: add set.p instruction and related changes to predicate execution

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
c2ec0f974dab4b00fe61b3b4381c36dd93a21d9d 13-Mar-2011 Che-Liang Chiou <clchiou@gmail.com> ptx: add basic support of predicate execution

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
43b4e23bac43845e519e46e2a050eb907257ae9f 03-Mar-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Fix Emacs renaming a symbol

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
12785e87e88309c1934add000b754eba51a6c391 03-Mar-2011 Justin Holewinski <justin.holewinski@gmail.com> PTX: Fix a couple of lint violations

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
fd8978b021dbb0b9b09084dcc707c2054ff76280 02-Mar-2011 Che-Liang Chiou <clchiou@gmail.com> Extend initial support for primitive types in PTX backend

- Allow i16, i32, i64, float, and double types, using the native .u16,
.u32, .u64, .f32, and .f64 PTX types.
- Allow loading/storing of all primitive types.
- Allow primitive types to be passed as parameters.
- Allow selection of PTX Version and Shader Model as sub-target attributes.
- Merge integer/floating-point test cases for load/store.
- Use .u32 instead of .s32 to conform to output from NVidia nvcc compiler.

Patch by Justin Holewinski



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
f71720231f6de9b2b7fe28edd179ae217a105329 28-Feb-2011 Che-Liang Chiou <clchiou@gmail.com> Add preliminary support for .f32 in the PTX backend.

- Add appropriate TableGen patterns for fadd, fsub, fmul.
- Add .f32 as the PTX type for the LLVM float type.
- Allow parameters, return values, and global variable declarations
to accept the float type.
- Add appropriate test cases.

Patch by Justin Holewinski



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
b48f2c2e1d27115dc940c728310da0ff6d35c758 19-Oct-2010 Che-Liang Chiou <clchiou@gmail.com> Add lower argument and return of device function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp
50880d08ec32857fa557281046c81a0506e7f64d 18-Sep-2010 Eric Christopher <echristo@apple.com> Add the exit instruction to the PTX target.

Patch by Che-Liang Chiou <clchiou@gmail.com>!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PTX/PTXInstrInfo.cpp