| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 193240
|
|
|
|
|
|
| |
intrinsics)
llvm-svn: 193239
|
|
|
|
| |
llvm-svn: 193238
|
|
|
|
|
|
| |
ffs(x) broke the mingw buildbot.
llvm-svn: 193225
|
|
|
|
| |
llvm-svn: 193224
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes piglit:
- shaders/glsl-fs-texture2d-masked
- shaders/glsl-fs-texture2d-masked-4
Patch by: Marek Olšák
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 193222
|
|
|
|
|
|
|
|
|
|
| |
The SelectionDAGBuilder was promoting vector kernel arguments to legal
types, but this won't work for R600 and SI since kernel arguments are
stored in memory and can't be promoted. In order to handle vector
arguments correctly we need to look at the original types from the LLVM IR
function.
llvm-svn: 193215
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For some targets, it is useful to be able to look at the original
type of an argument without having to dig through the original IR.
This also fixes a bug in SelectionDAGBuilder where InputArg.PartOffset
was not taking into account the offset of structure elements.
Patch by: Justin Holewinski
Tom Stellard:
- Changed the type of ArgVT to EVT, so it can store non-simple types
like v3i32.
llvm-svn: 193214
|
|
|
|
| |
llvm-svn: 193213
|
|
|
|
| |
llvm-svn: 193212
|
|
|
|
|
|
| |
Code review by Eric Christopher and Rafael Espindola.
llvm-svn: 193209
|
|
|
|
|
|
| |
<rdar://problem/15192473>
llvm-svn: 193199
|
|
|
|
| |
llvm-svn: 193198
|
|
|
|
|
|
|
|
|
|
|
| |
Remove unnecessary creation of LexicalScope in collectDeadVariables.
The created LexicialScope was only used to get isAbstractScope, which
should be false from the creation:
"new LexicalScope(NULL, DIDescriptor(SP), NULL, false);".
We can also remove a DenseMap that holds the created LexicalScopes.
llvm-svn: 193196
|
|
|
|
| |
llvm-svn: 193194
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since (as of r190716) Clang no longer emits debug info for C++ friend
declarations (and it seems GCC never has/does, which was the motivation
for the Clang change), there's no actual reachable case for implementing
the part of DWARF 4, Section 7.27 part 5 that pertains to friends.
Leave an assert here so that if/when we do have a client producing
friends and using type units, we can fill in the gap and add appropriate
(unit and feature) tests.
llvm-svn: 193193
|
|
|
|
|
|
|
|
|
| |
The loop bounds here are uint32_t variables, so it makes sense for the
loop variables to have the same type.
Patch by Yuchen Wu!
llvm-svn: 193192
|
|
|
|
|
|
|
|
|
| |
Rename Size to EndPos, which makes more sense because the variable
stores the last location of the blocks.
Patch by Yuchen Wu!
llvm-svn: 193189
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The set of circumstances where the writeback register is allowed to be in the
list of registers is rather baroque, but I think this implements them all on
the assembly parsing side.
For disassembly, we still warn about an ARM-mode LDM even if the architecture
revision is < v7 (the required architecture information isn't available). It's
a silly instruction anyway, so hopefully no-one will mind.
rdar://problem/15223374
llvm-svn: 193185
|
|
|
|
| |
llvm-svn: 193183
|
|
|
|
| |
llvm-svn: 193180
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The AMDGPUIndirectAddressing pass was previously responsible for
lowering private loads and stores to indirect addressing instructions.
However, this pass was buggy and way too complicated. The only
advantage it had over the new simplified code was that it saved one
instruction per direct write to private memory. This optimization
likely has a minimal impact on performance, and we may be able
to duplicate it using some other transformation.
For the private address space, we now:
1. Lower private loads/store to Register(Load|Store) instructions
2. Reserve part of the register file as 'private memory'
3. After regalloc lower the Register(Load|Store) instructions to
MOV instructions that use indirect addressing.
llvm-svn: 193179
|
|
|
|
| |
llvm-svn: 193178
|
|
|
|
|
|
|
|
|
| |
Includes a test case/FIXME demonstrating a bug/limitation in pointer to
member hashing. To be honest I'm not sure why we don't just always use
summary hashing for referenced types... but perhaps I'm missing
something.
llvm-svn: 193175
|
|
|
|
|
|
|
|
|
|
| |
Line counts in llvm-cov are read in as 64-bit integers but were being truncated
to 32-bit in collectLineCounts(), which caused overflow for large counts.
This patch fixes all counts to be uint64_t.
Patch by Yuchen Wu!
llvm-svn: 193172
|
|
|
|
|
|
|
|
| |
This is a stopgap fix for cast warnings introduced in r192864.
A proper fix should be investigated by the author when possible.
llvm-svn: 193160
|
|
|
|
|
|
|
|
|
|
|
|
| |
These branches have a 16-bit offset (R_MIPS_PC16).
List of conditional branch instructions:
bnz.{b,h,w,d}
bnz.v
bz.{b,h,w,d}
bz.v
llvm-svn: 193157
|
|
|
|
| |
llvm-svn: 193156
|
|
|
|
|
|
|
|
|
|
| |
VTList has a long life cycle through the module and getVTList is frequently called. In current getVTList, sequential search over a std::vector is used, this is inefficient in big module.
This patch use FoldingSet to implement hashing mechanism when searching.
Reviewer: Nadav Rotem
Test : Pass unit tests & LNT test suite
llvm-svn: 193150
|
|
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D1963
llvm-svn: 193149
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replaced tabs with proper padding
- print() takes two arguments, which are the GCNO and GCDA filenames
- Files are listed at the top of output, appended by line 0
- Stripped strings of trailing \0s
- Removed last two lines of whitespace in output
Patch by Yuchen Wu!
llvm-svn: 193148
|
|
|
|
|
|
| |
We handle for(i=n; i>0; i -= s) by canonicalizing within SCEV to for(i=-n; i<0; i += s).
llvm-svn: 193147
|
|
|
|
|
|
| |
(V)MOVDI2PDIrr/rm.
llvm-svn: 193146
|
|
|
|
|
|
|
|
| |
Use tMOVr instead of plain MOVr.
rdar://15193017
llvm-svn: 193139
|
|
|
|
|
|
| |
No functional change, just cleaning things up for readability.
llvm-svn: 193138
|
|
|
|
|
|
|
| |
We can have a struct type with a single field and the field does not start
with 0. In that case, we should correctly update the offset.
llvm-svn: 193137
|
|
|
|
| |
llvm-svn: 193135
|
|
|
|
|
|
|
|
|
|
| |
collectLineCounts() should only organize the output data. This is done in
anticipation of subsequent changes which will pass in GCNO and GCDA filenames
into the print function where it is printed similar to the gcov output.
Patch by Yuchen Wu!
llvm-svn: 193134
|
|
|
|
| |
llvm-svn: 193131
|
|
|
|
| |
llvm-svn: 193130
|
|
|
|
|
|
|
|
| |
declarable summary hashing path
More support for 7.25 Part 5.
llvm-svn: 193129
|
|
|
|
|
|
|
|
|
| |
contexts
There are several other tag types that need similar handling but to
ensure test coverage they'll be coming incrementally.
llvm-svn: 193126
|
|
|
|
| |
llvm-svn: 193117
|
|
|
|
|
|
|
| |
v2:
- Use CI->cannotDuplicate()
llvm-svn: 193115
|
|
|
|
| |
llvm-svn: 193113
|
|
|
|
| |
llvm-svn: 193111
|
|
|
|
| |
llvm-svn: 193109
|
|
|
|
| |
llvm-svn: 193107
|
|
|
|
| |
llvm-svn: 193106
|
|
|
|
|
|
|
|
|
|
| |
same type
This uses a map, keeping the type DIE numbering separate from the DIEs
themselves - alternatively we could do things the way GCC does if we
want to add an integer to the DIE type to record the numbering there.
llvm-svn: 193105
|