summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* [mips][msa] Direct Object Emission support for the LSA instruction.Matheus Almeida2013-10-232-8/+21
| | | | llvm-svn: 193240
* [mips][msa] Added support for matching fexp2 from normal IR (i.e. not ↵Daniel Sanders2013-10-233-4/+94
| | | | | | intrinsics) llvm-svn: 193239
* Make ARM hint ranges consistent, and add tests for these rangesArtyom Skrobov2013-10-234-6/+26
| | | | llvm-svn: 193238
* R600/SI: Replace ffs(x) - 1 with countTrailingZeros(x)Tom Stellard2013-10-231-1/+1
| | | | | | ffs(x) broke the mingw buildbot. llvm-svn: 193225
* Test commit. Added whitespace in GCOV.cpp.Yuchen Wu2013-10-231-1/+1
| | | | llvm-svn: 193224
* R600/SI: fix MIMG writemask adjustementTom Stellard2013-10-231-6/+21
| | | | | | | | | | | | 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
* R600: Fix handling of vector kernel argumentsTom Stellard2013-10-239-35/+131
| | | | | | | | | | 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
* SelectionDAG: Pass along the original argument/element type in ISD::InputArgTom Stellard2013-10-232-6/+9
| | | | | | | | | | | | | | | | 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
* R600/SI: Add support for i64 bitwise orTom Stellard2013-10-231-0/+19
| | | | llvm-svn: 193213
* R600/SI: Use S_LOAD_DWORD instructions for v8i32 and v16i32Tom Stellard2013-10-233-2/+8
| | | | llvm-svn: 193212
* MC: Support multiple sections with the same name in the same comdat groupDavid Blaikie2013-10-222-14/+23
| | | | | | Code review by Eric Christopher and Rafael Espindola. llvm-svn: 193209
* [X86][FastISel] Add a comment to help understanding changes made in r192636.Quentin Colombet2013-10-221-0/+23
| | | | | | <rdar://problem/15192473> llvm-svn: 193199
* R600/SI: Don't assert on SCC usageMatt Arsenault2013-10-221-0/+2
| | | | llvm-svn: 193198
* Debug Info: code clean up.Manman Ren2013-10-221-7/+1
| | | | | | | | | | | 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
* WhitespaceDavid Blaikie2013-10-221-2/+2
| | | | llvm-svn: 193194
* DIEHashing: Provide an assert for unreachable functionality regarding friends.David Blaikie2013-10-221-0/+3
| | | | | | | | | | | | | 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
* llvm-cov: Use uint32_t for loop variables to be more consistent.Bob Wilson2013-10-221-2/+2
| | | | | | | | | 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
* llvm-cov: fix a typo and rename a variable.Bob Wilson2013-10-221-4/+4
| | | | | | | | | 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
* ARM: provide diagnostics on more writeback LDM/STM instructionsTim Northover2013-10-222-17/+41
| | | | | | | | | | | | | | 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
* R600/SI: Use llvm_unreachable() for an always false assertTom Stellard2013-10-221-2/+1
| | | | llvm-svn: 193183
* R600/SI: Fix warning on non-asserts buildTom Stellard2013-10-221-0/+1
| | | | llvm-svn: 193180
* R600: Simplify handling of private address spaceTom Stellard2013-10-2213-436/+95
| | | | | | | | | | | | | | | | | | 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
* R600: Remove unused InstrInfo::getMovImmInstr() functionTom Stellard2013-10-225-31/+0
| | | | llvm-svn: 193178
* DWARF type hashing: pointers to membersDavid Blaikie2013-10-221-11/+14
| | | | | | | | | 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
* Fix llvm-cov counts to be 64-bit integers to avoid overflows.Bob Wilson2013-10-221-2/+2
| | | | | | | | | | 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
* Fix the -Werror -Wpedantic clang selfhost buildAlp Toker2013-10-221-3/+3
| | | | | | | | 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
* [mips][msa] Direct Object Emission support for conditional branches.Matheus Almeida2013-10-222-25/+43
| | | | | | | | | | | | 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
* AVX-512: aligned / unaligned load and store for 512-bit integer vectors.Elena Demikhovsky2013-10-222-30/+36
| | | | llvm-svn: 193156
* Using FoldingSet in SelectionDAG::getVTList.Wan Xiaofei2013-10-221-59/+64
| | | | | | | | | | 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
* llvm-c: Add LLVMPrintTypeToStringAnders Waldenborg2013-10-221-0/+10
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1963 llvm-svn: 193149
* Change llvm-cov output formatting to be more similar to gcov.Bob Wilson2013-10-221-7/+9
| | | | | | | | | | | | - 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
* Clarify SCEV comments.Andrew Trick2013-10-221-8/+11
| | | | | | We handle for(i=n; i>0; i -= s) by canonicalizing within SCEV to for(i=-n; i<0; i += s). llvm-svn: 193147
* Replace (V)MOVZDI2PDIrr/rm instructions with patterns that select ↵Craig Topper2013-10-222-37/+22
| | | | | | (V)MOVDI2PDIrr/rm. llvm-svn: 193146
* ARM: Thumb2 copy for GPRPair needs to use thumb instructions.Jim Grosbach2013-10-221-1/+1
| | | | | | | | Use tMOVr instead of plain MOVr. rdar://15193017 llvm-svn: 193139
* ARM: Clean up copyPhysReg() a bit.Jim Grosbach2013-10-221-27/+47
| | | | | | No functional change, just cleaning things up for readability. llvm-svn: 193138
* TBAA: fix PR17620.Manman Ren2013-10-221-1/+5
| | | | | | | 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
* Formatting/whitespace.Eric Christopher2013-10-221-4/+4
| | | | llvm-svn: 193135
* Move the printing of llvm-cov information out from collectLineCounts().Bob Wilson2013-10-221-1/+0
| | | | | | | | | | 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
* FIXME comment shouldn't have been doxygen styleAndrew Kaylor2013-10-211-1/+1
| | | | llvm-svn: 193131
* Fix spelling, grammar, and match naming convention for test files.Eric Christopher2013-10-211-3/+3
| | | | llvm-svn: 193130
* DWARF Type Hashing: Include reference and rvalue reference type in the ↵David Blaikie2013-10-211-1/+3
| | | | | | | | declarable summary hashing path More support for 7.25 Part 5. llvm-svn: 193129
* DWARF type hashing: begin implementing Step 5, summary hashing in declarable ↵David Blaikie2013-10-212-7/+39
| | | | | | | | | contexts There are several other tag types that need similar handling but to ensure test coverage they'll be coming incrementally. llvm-svn: 193126
* [AArch64] Add the constraint to NEON scalar mla/mls instructions.Chad Rosier2013-10-211-6/+30
| | | | llvm-svn: 193117
* SimplifyCFG: Don't duplicate calls to functions marked noduplicate v2Tom Stellard2013-10-211-0/+15
| | | | | | | v2: - Use CI->cannotDuplicate() llvm-svn: 193115
* Remove unused TargetLowering field.Matt Arsenault2013-10-211-1/+0
| | | | llvm-svn: 193113
* Fix CodeGen for different size address space GEPsMatt Arsenault2013-10-212-8/+6
| | | | llvm-svn: 193111
* Use more type helper functionsMatt Arsenault2013-10-215-24/+24
| | | | llvm-svn: 193109
* Reuse variableMatt Arsenault2013-10-211-1/+1
| | | | llvm-svn: 193107
* Fix the build in DIE.cpp with MSVC 2010Reid Kleckner2013-10-211-3/+5
| | | | llvm-svn: 193106
* DWARF type hashing: Handle multiple (including recursive) references to the ↵David Blaikie2013-10-212-8/+21
| | | | | | | | | | 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
OpenPOWER on IntegriCloud