summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Couple of small logical cleanups to use !empty rather than otherEric Christopher2013-12-041-2/+2
| | | | | | checks. No functional change. llvm-svn: 196412
* llvm-cov: Replace size() with empty() in bool check.Yuchen Wu2013-12-041-2/+2
| | | | llvm-svn: 196400
* Use move and stack allocation for RangeSpanLists. As a result makeEric Christopher2013-12-043-21/+17
| | | | | | | a few things more const as well because we're now using const references to refer to iterators. llvm-svn: 196398
* DebugInfo: Remove unused start/end labels for the debug_abbrevs sectionDavid Blaikie2013-12-042-8/+4
| | | | | | | | | | Since we always emit only one abbrevation section (shared by all the compilation units in this module) there's no need for a separate label at the start of each one (and we weren't using the CU ID anyway, so there really was only one label). Use the section label instead and drop the wholely unused debug_abbrev_end label. llvm-svn: 196394
* Fix assembly syntax for AVX512 vector blend instructions.Cameron McInally2013-12-041-2/+2
| | | | llvm-svn: 196393
* DebugInfo: Avoid recreating matching labels in disparate places.David Blaikie2013-12-041-20/+16
| | | | | | | | Instead, reuse the same MCSymbol - this should make the code easier to follow by avoiding hard to trace dependencies between different bits of code. llvm-svn: 196392
* [X86] Check YMM31/ZMM31 as wellMichael Liao2013-12-041-4/+4
| | | | | | - No test case as there's no calling convention preserve YMM31/ZMM31 only llvm-svn: 196391
* Update the UseFusedMAC definition to directly specify its dependence on havingChad Rosier2013-12-041-1/+2
| | | | | | | VFP4. Patch by Daniel Stewart! llvm-svn: 196390
* Suppress '(x < y) ? a : 0 -> (x < y) & a' transform on X86 architectures ↵Cameron McInally2013-12-041-7/+8
| | | | | | | | with dedicated mask registers. Patch by Aleksey Bader. llvm-svn: 196386
* Un-revert r196358: "llvm-cov: Added support for function checksums."Daniel Jasper2013-12-042-6/+26
| | | | | | And add the proper fix. llvm-svn: 196367
* Revert r196358: "llvm-cov: Added support for function checksums."Daniel Jasper2013-12-042-25/+6
| | | | | | | This currently breaks clang/test/CodeGen/code-coverage.c. The root cause is that the newly introduced access to Funcs[j] is out of bounds. llvm-svn: 196365
* [AArch64 Neon] Add ACLE intrinsic vceqz_f64.Kevin Qin2013-12-041-5/+7
| | | | llvm-svn: 196362
* [AArch64 NEON] Add missing compare intrinsics.Kevin Qin2013-12-041-0/+23
| | | | llvm-svn: 196360
* llvm-cov: Added support for function checksums.Yuchen Wu2013-12-042-6/+25
| | | | | | | The function checksums are hashed from the concatenation of the function name and line number. llvm-svn: 196358
* llvm-cov: Added checks for ident, checksum, name.Yuchen Wu2013-12-041-15/+45
| | | | | | | Added additional checks for the Identifier, CfgChecksum and Name for each GCOVFunction. Also added function names in error messages. llvm-svn: 196356
* llvm-cov: Capitalized GCNO and GCDA for consistency.Yuchen Wu2013-12-041-5/+5
| | | | llvm-svn: 196354
* llvm-cov: Split GCOVFile's read into GCNO and GCDA.Yuchen Wu2013-12-041-52/+55
| | | | | | | | This splits the file-scope read() function into readGCNO() and readGCDA(). Also broke file format read into functions that first read the file type, then check the version. llvm-svn: 196353
* Fix a funny typo.Rafael Espindola2013-12-041-1/+1
| | | | | | Thanks for j`ey and Sean Silva for noticing it. llvm-svn: 196344
* Produce deterministic coff files.Rafael Espindola2013-12-041-1/+2
| | | | llvm-svn: 196341
* [Stackmap] Emit multi-byte nops for X86.Juergen Ributzka2013-12-041-22/+70
| | | | llvm-svn: 196334
* final patch for very long conditional branches for mips16 constant islands.Reed Kotler2013-12-031-5/+18
| | | | | | | | | this completes the basic port of ARM constant islands to Mips16. More testing, code review, cleanup is in order but basically everything seems to be working. A bug in gas is preventing some of the runtime testing but I hope to resolve this soon. llvm-svn: 196331
* Update comment grammar and contents.Eric Christopher2013-12-031-1/+4
| | | | llvm-svn: 196323
* Fix mingw32 thiscall + sret.Rafael Espindola2013-12-031-5/+21
| | | | | | | | | | Unlike msvc, when handling a thiscall + sret gcc will * Put the sret in %ecx * Put the this pointer is (%esp) This fixes, for example, calling stringstream::str. llvm-svn: 196312
* Fixed various whitespace/spelling/80+ issues.Michael Gottesman2013-12-031-9/+16
| | | | llvm-svn: 196310
* Return true on success in cl::ExpandResponseFilesReid Kleckner2013-12-031-1/+1
| | | | | | | | | | | | This fixes a logic bug pointed out by Juraj Ivancic. No behavior change because none of the in-tree clients of cl::ExpandResponseFiles check the return value. In this case, the @prefixed arguments are left in the command line. Downstream command line processing has the opportunity to emit errors about it, so this isn't that bad. llvm-svn: 196306
* Fix a typo in a commentTimur Iskhodzhanov2013-12-031-1/+1
| | | | llvm-svn: 196304
* Avoid buffer copies when a Twine already is a StringRef.David Blaikie2013-12-032-4/+2
| | | | llvm-svn: 196301
* Teach the internalize pass to skip dllexported symbols because they could beYunzhong Gao2013-12-031-0/+4
| | | | | | | | referenced in a way that even the linker does not see. Differential Revision: http://llvm-reviews.chandlerc.com/D2280 llvm-svn: 196300
* Reland 196270 "Generalize debug info / EH emission in AsmPrinter"Timur Iskhodzhanov2013-12-0310-80/+169
| | | | | | Addressing the existense AMDGPUAsmPrinter and other subclasses of AsmPrinter llvm-svn: 196288
* Revert r196270, "Generalize debug info / EH emission in AsmPrinter"NAKAMURA Takumi2013-12-036-152/+73
| | | | | | It broke CodeGen/R600 tests with +Asserts. llvm-svn: 196272
* Generalize debug info / EH emission in AsmPrinterTimur Iskhodzhanov2013-12-036-73/+152
| | | | llvm-svn: 196270
* Addrspacecasts are no-ops on ARM.James Molloy2013-12-031-0/+6
| | | | | | Testcase added. llvm-svn: 196269
* [SystemZ] Fix choice of known-zero mask in insertion optimizationRichard Sandiford2013-12-031-4/+4
| | | | | | | | | | | | | | The backend converts 64-bit ORs into subreg moves if the upper 32 bits of one operand and the low 32 bits of the other are known to be zero. It then tries to peel away redundant ANDs from the upper 32 bits. Since AND masks are canonicalized to exclude known-zero bits, the test ORs the mask and the known-zero bits together before checking for redundancy. The problem was that it was using the wrong node when checking for known-zero bits, so could drop ANDs that were still needed. llvm-svn: 196267
* Enhance the fix of PR17631Michael Liao2013-12-031-8/+27
| | | | | | | | | | | | | | - The fix to PR17631 fixes part of the cases where 'vzeroupper' should not be issued before 'call' insn. There're other cases where helper calls will be inserted not limited to epilog. These helper calls do not follow the standard calling convention and won't clobber any YMM registers. (So far, all call conventions will clobber any or part of YMM registers.) This patch enhances the previous fix to cover more cases 'vzerosupper' should not be inserted by checking if that function call won't clobber any YMM registers and skipping it if so. llvm-svn: 196261
* [AArch64]Add missing floating point convert, round and misc intrinsics.Hao Liu2013-12-032-2/+59
| | | | | | E.g. int64x1_t vcvt_s64_f64(float64x1_t a) -> FCVTZS Dd, Dn llvm-svn: 196210
* AArch64: add missing ACLE intrinsics mapping to general arithmetic operation ↵Hao Liu2013-12-031-0/+31
| | | | | | | | from VFP instructions. E.g. float64x1_t vadd_f64(float64x1_t a, float64x1_t b) -> FADD Dd, Dn, Dm. llvm-svn: 196208
* Whitespace.NAKAMURA Takumi2013-12-031-178/+177
| | | | llvm-svn: 196203
* AArch64: Add missing scalar pair intrinsics.Hao Liu2013-12-031-0/+22
| | | | | | E.g. "float32_t vaddv_f32(float32x2_t a)" to be matched into "faddp s0, v1.2s". llvm-svn: 196198
* llvm-cov: Cleaned up print() function slightly.Yuchen Wu2013-12-031-9/+7
| | | | | | Changed while to for loop. Removed unnecessary if statement. llvm-svn: 196194
* Add some missing pattern matches for AArch64 Neon intrinsics like vuqadd_s64 ↵Jiangning Liu2013-12-031-0/+21
| | | | | | and friends. llvm-svn: 196192
* Add some missing pattern matches for AArch64 Neon intrinsics like ↵Jiangning Liu2013-12-032-604/+691
| | | | | | vmull_high_n_s16 and friends. llvm-svn: 196190
* Don't set PrivateGlobalPrefix for NVPTX and R600.Rafael Espindola2013-12-032-2/+0
| | | | | | These targets have special asm printers that don't use these. llvm-svn: 196187
* llvm-cov: Removed output to STDOUT/specified file.Yuchen Wu2013-12-031-2/+7
| | | | | | | | | | | | Instead of asking the user to specify a single file to output coverage info and defaulting to STDOUT, llvm-cov now creates files for each source file with a naming system of: <source filename> + ".llcov". This is what gcov does and although it can clutter the working directory with numerous coverage files, it will be easier to hook the llvm-cov output to tools which operate on this assumption (such as lcov). llvm-svn: 196184
* Added MachineBlockFrequencyInfo::view for displaying the block frequency ↵Michael Gottesman2013-12-031-0/+107
| | | | | | | | | | | | propagation graph via graphviz. This is useful for debugging issues in the BlockFrequency implementation since one can easily visualize where probability mass and other errors occur in the propagation. This is the MI version of r194654. llvm-svn: 196183
* Refactor the handling of lexical block and inline scope rangesEric Christopher2013-12-032-36/+30
| | | | | | into a single function. No functional change. llvm-svn: 196181
* Update doxygen tags.Eric Christopher2013-12-031-2/+2
| | | | llvm-svn: 196180
* Reorder member function declarations to match source order.Eric Christopher2013-12-031-3/+4
| | | | llvm-svn: 196179
* Make ranges and range lists be a discrete entity that can be locatedEric Christopher2013-12-034-52/+135
| | | | | | | and emitted per function and CU. Begins coalescing ranges as a first class entity through debug info. No functional change. llvm-svn: 196178
* llvm-cov: Store blocks rather than counts per line.Yuchen Wu2013-12-031-7/+13
| | | | | | | | | Each line stores all the blocks that execute on that line, instead of only storing the line counts previously accumulated. This provides more information for each line, and will be useful for options in enabling block and branch information. llvm-svn: 196177
* llvm-cov: Added edge struct for traversal in block.Yuchen Wu2013-12-031-12/+39
| | | | | | | | | | | | | Added GCOVEdge which are simple structs owned by the GCOVFunction that stores the source and destination GCOVBlocks, as well as the counts. Changed GCOVBlocks so that it stores a vector of source GCOVEdges and a vector of destination GCOVEdges, rather than just the block number. Storing the block number was only useful for knowing the number of edges and for debug info. Using a struct is useful for traversing the edges, especially back edges which may be needed later. llvm-svn: 196175
OpenPOWER on IntegriCloud