| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
.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
|
|
|
|
|
|
| |
targets: g80, gt200, gf100(fermi)
llvm-svn: 133799
|
|
|
|
|
|
|
|
|
|
|
|
| |
target machine from those that are only needed by codegen. The goal is to
sink the essential target description into MC layer so we can start building
MC based tools without needing to link in the entire codegen.
First step is to refactor TargetRegisterInfo. This patch added a base class
MCRegisterInfo which TargetRegisterInfo is derived from. Changed TableGen to
separate register description from the rest of the stuff.
llvm-svn: 133782
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 133734
|
|
|
|
|
|
|
| |
st.param and ld.param
FIXME: Test cases still need to be updated
llvm-svn: 133733
|
|
|
|
|
| |
FIXME: DCE is eliminating the final st.param.x calls, figure out why
llvm-svn: 133732
|
|
|
|
| |
llvm-svn: 133619
|
|
|
|
| |
llvm-svn: 133613
|
|
|
|
| |
llvm-svn: 133599
|
|
|
|
|
|
| |
Patch by Wei-Ren Chen
llvm-svn: 133589
|
|
|
|
| |
llvm-svn: 133454
|
|
|
|
| |
llvm-svn: 133447
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
const Constant *.
llvm-svn: 133400
|
|
|
|
| |
llvm-svn: 133292
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The LSDA is a bit difficult for the non-initiated to read. Even with comments,
it's not always clear what's going on. This wraps the ASM streamer in a class
that retains the LSDA and then emits a human-readable description of what's
going on in it.
So instead of having to make sense of:
Lexception1:
.byte 255
.byte 155
.byte 168
.space 1
.byte 3
.byte 26
Lset0 = Ltmp7-Leh_func_begin1
.long Lset0
Lset1 = Ltmp812-Ltmp7
.long Lset1
Lset2 = Ltmp913-Leh_func_begin1
.long Lset2
.byte 3
Lset3 = Ltmp812-Leh_func_begin1
.long Lset3
Lset4 = Leh_func_end1-Ltmp812
.long Lset4
.long 0
.byte 0
.byte 1
.byte 0
.byte 2
.byte 125
.long __ZTIi@GOTPCREL+4
.long __ZTIPKc@GOTPCREL+4
you can read this instead:
## Exception Handling Table: Lexception1
## @LPStart Encoding: omit
## @TType Encoding: indirect pcrel sdata4
## @TType Base: 40 bytes
## @CallSite Encoding: udata4
## @Action Table Size: 26 bytes
## Action 1:
## A throw between Ltmp7 and Ltmp812 jumps to Ltmp913 on an exception.
## For type(s): __ZTIi@GOTPCREL+4 __ZTIPKc@GOTPCREL+4
## Action 2:
## A throw between Ltmp812 and Leh_func_end1 does not have a landing pad.
llvm-svn: 133286
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rounding modes for fp add, mul, sub now use .rn
* float -> int rounding correctly uses .rzi not .rni
* 32bit fdiv for sm13 uses div.rn (instead of div.approx)
* 32bit fdiv for sm10 now uses div (instead of div.approx)
Approx is not IEEE 754 compatible (and should be optionally set by a flag to the backend instead). The .rn rounding modifier is the PTX default anyway, but it's better to be explicit.
All these modifiers should be available by using __fmul_rz functions for example, but support will need to be added for this in the backend.
Patch by Dan Bailey
llvm-svn: 133253
|
|
|
|
| |
llvm-svn: 133172
|
|
|
|
| |
llvm-svn: 133171
|
|
|
|
| |
llvm-svn: 133158
|
|
|
|
|
|
|
|
|
|
|
|
| |
This simplifies many of the target description files since it is common
for register classes to be related or contain sequences of numbered
registers.
I have verified that this doesn't change the files generated by TableGen
for ARM and X86. It alters the allocation order of MBlaze GPR and Mips
FGR32 registers, but I believe the change is benign.
llvm-svn: 133105
|
|
|
|
|
|
|
|
| |
directives.
Fixes PR9826.
llvm-svn: 132317
|
|
|
|
|
|
| |
Patch by Dan Bailey
llvm-svn: 131537
|
|
|
|
|
|
| |
Patch by Wei-Ren Chen
llvm-svn: 131123
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 131012
|
|
|
|
|
|
| |
Patch by Wei-Ren Chen
llvm-svn: 130980
|
|
|
|
|
|
|
|
|
|
| |
for all symbol differences and can drop the old EmitPCRelSymbolValue
method.
This also make getExprForFDESymbol on ELF equal to the one on MachO, and it
can be made non-virtual.
llvm-svn: 130634
|
|
|
|
|
|
|
| |
the final assembly. It is the same technique used when targeting
assemblers that don't support .loc.
llvm-svn: 130587
|
|
|
|
|
|
|
|
|
|
| |
- expansion of SELECT_CC into SETCC
- force SETCC result type to i1
- custom selection for handling i1 using SETCC
Patch by Dan Bailey
llvm-svn: 130358
|
|
|
|
|
|
|
|
|
| |
- selection of SELP instruction
- new selp.ll test
Patch by Dan Bailey
llvm-svn: 130357
|
|
|
|
|
|
|
|
|
|
| |
- fix typo in MOV
- correct fp rounding on CVT
- new cvt.ll test
Patch by Dan Bailey
llvm-svn: 130356
|
|
|
|
|
|
|
|
|
| |
- selection of FNEG instruction
- new fneg.ll test
Patch by Dan Bailey
llvm-svn: 130355
|
|
|
|
|
|
|
|
| |
- expansion of EXTLOAD and TRUNCSTORE instructions
Patch by Dan Bailey
llvm-svn: 130354
|
|
|
|
|
|
|
|
|
| |
- selection of bitwise preds (AND, OR, XOR)
- new bitwise.ll test
Patch by Dan Bailey
llvm-svn: 130353
|
|
|
|
|
|
|
|
|
| |
- immediate value cast as long not int
- handles initializer for constant array
Patch by Dan Bailey
llvm-svn: 130352
|
|
|
|
| |
llvm-svn: 129955
|
|
|
|
| |
llvm-svn: 129913
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
std::binary_search
llvm-svn: 129908
|
|
|
|
|
|
| |
http://google1.osuosl.org:8011/builders/llvm-x86_64-linux-checks/builds/825/steps/test.llvm.stage2/logs/st.ll
llvm-svn: 129869
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Patched by Dan Bailey
llvm-svn: 129848
|
|
|
|
|
|
| |
Patched by Dan Bailey
llvm-svn: 129847
|
|
|
|
|
|
| |
Patched by Dan Bailey
llvm-svn: 129846
|
|
|
|
| |
llvm-svn: 128767
|
|
|
|
| |
llvm-svn: 128405
|
|
|
|
|
|
|
|
|
| |
- Fix bug in ADDRrr/ADDRri/ADDRii selection for 64-bit addresses
- Add comparison selection for i64
- Add zext selection for i32 -> i64
- Add shl/shr/sha support for i64
llvm-svn: 128153
|
|
|
|
| |
llvm-svn: 128084
|
|
|
|
|
|
|
|
| |
- 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
|