baldurk
|
fc5c58a6c9
|
Move reflection to separate file, implement GetOutputTopology()
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
6fcd4fee91
|
Ignore PSV0 chunk
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
b4db14915a
|
Disassemble empty types with no padding
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
505a674b85
|
Ensure DXIL populates compute shader fake input signature
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
2081c4219c
|
Ignore DXIL STAT chunk since we decode bytecode always
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
fec709b2d1
|
Support using ILDN to locate separate debug info
* This works the same way as the existing separate pdb support
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
57721e4688
|
Include new ILDN chunk and global flags in disassembly
* This is used for both DXBC and DXIL bytecode
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
6641030fbc
|
Print types in same order as LLVM
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
d73452f012
|
Print metadata values inline instead of referencing them by number
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
df1187b8ee
|
Support naming basic blocks in function symbol table
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
343e13def0
|
Fix disassembly of DIDerivedType
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
6093690737
|
Match LLVM's escaping behaviour
|
2020-06-18 17:22:42 +01:00 |
|
baldurk
|
c1838c89fc
|
Handle atomic instructions
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
5a976e55ea
|
Fetch compute thread dimension from dx.entrypoint metadata
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
77d60b72da
|
Save address space in pointer types
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
b54248ad49
|
Fix indexing of symbols for metadata
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
e29502ddcb
|
Handle switch opcode
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
26d4244d25
|
Fix disassembly of DILexicalBlock
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
340bf9f805
|
Add handling for branching and phi nodes
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
08cd7ae0e0
|
Handle explicit debug info
* Some locations are given as metadata even though most appear through
DEBUG_LOC, so ensure we handle these.
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
8b57989b3f
|
Disassemble global variables with initialisers properly
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
c8742a1456
|
Handle extract/insert/shuffle vector and aggregate operations
* DXIL supposedly won't use these, but handle them just in case
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
a6c8949335
|
Handle compare and select operations
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
d99a8536ca
|
Decode alloca/gep/load/store
|
2020-06-18 17:22:41 +01:00 |
|
baldurk
|
591e02b565
|
Handled attached metadata
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
10da3b73ae
|
Add support for DISubrange
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
9697bc294d
|
Add helper to find and cache void type
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
0000916e75
|
Expose svbr rotated encoding as static member of LLVM bit reader
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
bfea4427aa
|
Stub out exception handling instructions we don't expect to appear
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
657a5a0c39
|
Handle binops in functions
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
6f950afea7
|
Fix display of double values
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
84da098a00
|
Only pad exponential float printing of exponent to 2 decimal digits
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
41cf02aa53
|
Use %e for printing floats
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
ef076f962a
|
Disassemble all bitcasts the same way
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
4c4cdae5a9
|
Remove extra space in type declarations
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
80205a887c
|
Add special zeroinitializer disassembly
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
c94b157165
|
Remove bitcode dump functions
|
2020-06-18 17:22:40 +01:00 |
|
baldurk
|
39eb8da8f2
|
Move disassembly to separate file
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
3dfb9a069d
|
Parse and disassemble function blocks
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
297ba38e94
|
Remove unused GetDisassemblyLine function
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
0869f338bc
|
Handle local debug information metadata
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
c29fce8366
|
Count line numbers for disassembly
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
25321e741f
|
Decode metadata for global debug information
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
d28bab8c79
|
Handle (but skip) STAT DXIL chunk
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
8727b2aa88
|
Implement constant block parsing
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
395e8325c2
|
Implement handling for function types and declarations
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
143181d829
|
Process types record
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
144e8057c1
|
Improve LLVM record dumping a bit
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
0c54db28aa
|
Stub types and constants blocks
|
2020-06-18 17:22:39 +01:00 |
|
baldurk
|
99aa195e40
|
Handle attributes
|
2020-06-18 17:22:38 +01:00 |
|