summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* [lit] Skip gtest names starting with DISABLED_Reid Kleckner2015-04-061-0/+4
| | | | | | | | | | | The sanitizer test suite uses this idiom to disable a test. Now that we actually check if a test ran after invoking it, we see that zero tests ran, and complain. Instead, ignore tests starting with DISABLED_ completely. Fixes the sanitizer test suite failures on Windows. llvm-svn: 234247
* DebugInfo: Drop confusing forwarding API from DILexicalBlockFileDuncan P. N. Exon Smith2015-04-062-12/+4
| | | | | | | | | | | | | | | | | Remove `DILexicalBlockFile::getScope()` (whose last use was removed from clang in r234245), which illegally returned a `DILexicalBlock` despite its scope sometimes being an `MDSubprogram`. Also remove the `getLineNumber()` and `getColumnNumber()` methods that just forwarded to `DILexicalBlock`'s versions, since there don't seem to be any callers. Note that the block of code removed from `DebugInfo.cpp` was actually dead code, since `isLexicalBlock()` (the previous branch) always returns true when `isLexicalBlockFile()` returns true. An earlier (broken and untested) version of this was squashed into r234222 and reverted in r234225. llvm-svn: 234246
* [lit] Fix running gtest type-parameterized tests on WindowsReid Kleckner2015-04-062-5/+13
| | | | | | | | | | | | | | The '/' character in the test name of a type-parameterized test is not a path separator, and should not be '\' on Windows. We were passing a test name to --gtest_filter which found no tests, so the exit code was zero, indicating a passed test. This bug has been here since r84387 in 2009, when Jeff Yasskin added the original lit support for type-paratermized tests. Somewhere along the line some of the ValueMapTests started failing, but we can fix those separately. llvm-svn: 234242
* Reapply "DebugInfo: Loosen DILexicalBlock constructor"Duncan P. N. Exon Smith2015-04-061-1/+1
| | | | | | | | | | This reverts commit r234225, reapplying r234222 in spirit. This time, just include what the commit message actually describes: loosen the `DILexicalBlock` constructor to require a `MDLexicalBlockBase`, since that's what `DILexicalBlock` is wrapping. llvm-svn: 234241
* Revert "DebugInfo: Loosen DILexicalBlock constructor"Duncan P. N. Exon Smith2015-04-061-8/+8
| | | | | | | | | This reverts commit r234222, while I look into bot failures [1]. I'll recommit soon. [1]: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/7117/ llvm-svn: 234225
* ArgPromo: Bail out earlier for varargs functionsDavid Blaikie2015-04-061-6/+7
| | | | llvm-svn: 234224
* DebugInfo: Loosen DILexicalBlock constructorDuncan P. N. Exon Smith2015-04-061-8/+8
| | | | | | | | This class wraps `MDLexicalBlockBase`, so allow construction from it! Currently doesn't cause any problems because of the explicit `MNode*` constructor, but I'll be removing that soon enough. llvm-svn: 234222
* Move `checkInterfaceFunction` to ModuleUtilsIsmail Pazarbasi2015-04-065-91/+84
| | | | | | | | | | | | | | Summary: Instead of making a local copy of `checkInterfaceFunction` for each sanitizer, move the function in a common place. Reviewers: kcc, samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8775 llvm-svn: 234220
* [opaque pointer type] Avoid using PointerType::getElementType when parsing IRDavid Blaikie2015-04-066-17/+17
| | | | | | | | | | A few calls are left in for error checking - but I'm commenting those out & trying to build some IR tests (aiming for Argument Promotion to start with). When I get any of these tests passing I may add flag to disable the checking so I can add tests that pass with the assertion in place. llvm-svn: 234206
* DebugInfo: Remove DIDescriptor::Verify()Duncan P. N. Exon Smith2015-04-0612-135/+17
| | | | | | | | | | | | Remove `DIDescriptor::Verify()` and the `Verify()`s from subclasses. They had already been gutted, and just did an `isa<>` check. In a couple of cases I've temporarily dropped the check entirely, but subsequent commits are going to disallow conversions to the `DIDescriptor`s directly from `MDNode`, so the checks will come back in another form soon enough. llvm-svn: 234201
* DebugInfo: Add MDTypeRefArray, to replace DITypeArrayDuncan P. N. Exon Smith2015-04-061-1/+37
| | | | | | | | | This array-like wrapper adapts `MDTuple` to have elements of `MDTypeRef` (whereas `MDTypeArray` has elements of `MDType`). This is necessary to migrate code using `DITypeArray`. The only use of this is `MDSubroutineType`'s `getTypeArray()` accessor. llvm-svn: 234200
* DebugInfo: Remove dead DIType::operator DITypeRef(), NFCDuncan P. N. Exon Smith2015-04-061-6/+0
| | | | llvm-svn: 234198
* DebugInfo: Use MDTypeRef throughout the hierarchyDuncan P. N. Exon Smith2015-04-068-186/+206
| | | | | | | | | | | | | | Use `MDTypeRef` (etc.) in the new debug info hierarchy rather than raw `Metadata *` pointers. I rolled in a change to `DIBuilder` that looks unrelated: take `DIType` instead of `DITypeRef` as type arguments when creating variables. However, this was the simplest way to use `MDTypeRef` within the functions, and didn't require any cleanups from callers in clang (since they were all passing in `DIType`s anyway, relying on their implicit conversions to `DITypeRef`). llvm-svn: 234197
* [WinEH] Don't sink allocas into child handlersReid Kleckner2015-04-063-13/+187
| | | | | | | | | | The uselist isn't enough to infer anything about the lifetime of such allocas. If we want to re-add this optimization, we will need to leverage lifetime markers to do it. Fixes PR23122. llvm-svn: 234196
* ARM: do not relax Thumb1 -> Thumb2 if only Thumb1 is available.Tim Northover2015-04-068-13/+65
| | | | | | | | | | | | | | | After recognising that a certain narrow instruction might need a relocation to be represented, we used to unconditionally relax it to a Thumb2 instruction to permit this. Unfortunately, some CPUs (e.g. v6m) don't even have most Thumb2 instructions, so we end up emitting a completely invalid instruction. Theoretically, ELF does have relocations for these situations; but they are fairly unusable with such short ranges and the ABI document even says they're documented "for completeness". So an error is probably better there too. rdar://20391953 llvm-svn: 234195
* [X86][SSE] Use (V)PINSRB for direct byte insertion in 16i8 buildvector on ↵Simon Pilgrim2015-04-063-68/+115
| | | | | | | | | | | | SSE4.1 targets This patch allows SSE4.1 targets to use (V)PINSRB to create 16i8 vectors by inserting i8 scalars directly into a XMM register instead of merging pairs of i8 scalars into a i16 and using the SSE2 PINSRW instruction. This allows folding of byte loads and reduces scalar register usage as well. Differential Revision: http://reviews.llvm.org/D8839 llvm-svn: 234193
* Fix failure on builder llvm-clang-lld-x86_64-debian-fast as theKevin Enderby2015-04-061-1/+0
| | | | | | test macho-objc-meta-data.test had a line it shouldn't have had. llvm-svn: 234190
* Add some type safety to GlobalObject/GlobalValue - they're always ↵David Blaikie2015-04-062-2/+2
| | | | | | PointerTypes so let's type them that way. llvm-svn: 234189
* DebugInfo: Create MDTypeRef, etc., to replace DITypeRefDuncan P. N. Exon Smith2015-04-063-8/+81
| | | | | | | Create a string-based wrapper in the debug info hierarchy for type references. llvm-svn: 234188
* DebugInfo: Remove dead DIRef::getName()Duncan P. N. Exon Smith2015-04-061-12/+0
| | | | llvm-svn: 234186
* For llvm-objdump added support for printing Objc2 32-bit runtime meta dataKevin Enderby2015-04-064-20/+1297
| | | | | | with the existing -objc-meta-data and -macho options for Mach-O files. llvm-svn: 234185
* Metadata: Add typed array-like wrapper for MDTupleDuncan P. N. Exon Smith2015-04-063-11/+61
| | | | | | | | | Add `MDTupleTypedArrayWrapper`, a wrapper around `MDTuple` that adapts it to look like an array and cast its operands to the given type. This is designed to be a replacement for `DITypedArray<>`, which is in the `DIDescriptor` hierarchy. llvm-svn: 234183
* DebugInfo: Remove dead code for accessing fieldsDuncan P. N. Exon Smith2015-04-063-195/+0
| | | | | | | Most fields are now accessed via the new debug info hierarchy. I'll make the rest of this code dead soon. llvm-svn: 234182
* AutoUpgrade: Remove obsolete dbg.declare/value upgradeDuncan P. N. Exon Smith2015-04-061-49/+0
| | | | | | | | This upgrade of `@llvm.dbg.declare` and `@llvm.dbg.value` isn't useful, since it's for an old debug info version. The calls will get stripped anyway by `UpgradeDebugInfo()`. llvm-svn: 234181
* [SLSR] consider &B[S << i] as &B[(1 << i) * S]Jingyue Wu2015-04-062-7/+12
| | | | | | | | | | | | | | Summary: This reduces handling &B[(1 << i) * s] to handling &B[i * S]. Test Plan: slsr-gep.ll Reviewers: meheff Subscribers: sanjoy, llvm-commits Differential Revision: http://reviews.llvm.org/D8837 llvm-svn: 234180
* [DAGCombiner] Add support for FCEIL, FFLOOR and FTRUNC vector constant foldingSimon Pilgrim2015-04-063-6/+53
| | | | | | Differential Revision: http://reviews.llvm.org/D8715 llvm-svn: 234179
* Verifier: Check composite type template paramsDuncan P. N. Exon Smith2015-04-064-15/+45
| | | | | | | | | Add missing checks for `templateParams:` in `MDCompositeType`. Pull the current check for `MDSubprogram` to reduce duplicated code and fix it up to print a good message when the immediate operand isn't an `MDTuple` (as a drive-by, make the same fix to `variables:` in `MDSubprogram`). llvm-svn: 234177
* DebugInfo: Use MDFile instead of accessing operands directly, NFCDuncan P. N. Exon Smith2015-04-061-2/+4
| | | | llvm-svn: 234175
* Use a comma after the unique keyword.Rafael Espindola2015-04-068-10/+18
| | | | | | | | H.J. Lu noted that all .section options are separated by a comma. This patch changes the syntax of unique to require one. llvm-svn: 234174
* fix typos; NFCSanjay Patel2015-04-061-2/+2
| | | | llvm-svn: 234171
* Remove unnecessary uses of AliasedSymbol.Rafael Espindola2015-04-063-8/+7
| | | | | | | | | As pr19627 points out, every use of AliasedSymbol is likely a bug. The main use was to avoid the oddity of a variable showing up as undefined. That was fixed in r233995, which made these calls nops. llvm-svn: 234169
* Removing a spurious space; NFC.Aaron Ballman2015-04-061-1/+1
| | | | llvm-svn: 234168
* Be consistent when deciding if a relocation is needed.Rafael Espindola2015-04-068-32/+40
| | | | | | | | | | | | | | Before when deciding if we needed a relocation in A-B, we wore only checking if A was weak. This fixes the asymmetry. The "InSet" argument should probably be renamed to "ForValue", since InSet is very MachO specific, but doing so in this patch would make it hard to read. This fixes PR22815. llvm-svn: 234165
* Disable all link optimizations in a debug build.Rafael Espindola2015-04-061-25/+28
| | | | | | | This taking linking clang on my machine with gold from 16.980257914 to 15.933037649 seconds. llvm-svn: 234161
* Don't pass -O3 to the linker in debug builds.Rafael Espindola2015-04-061-2/+4
| | | | | | | This takes linking clang in a debug build with gold form 19.518925697 to 16.406388685 seconds. llvm-svn: 234160
* Don't use -ffunction-sections -fdata-sections on debug builds.Rafael Espindola2015-04-061-1/+2
| | | | | | | | | | | | | | | Unfortunately, on ELF there is not used attribute on the .o files, so there is no easy way to keep the dump function alive. If we are not gcing, we may as well produce non gcable files and avoid the cost. Linking a debug clang now takes 18.856225992 seconds, before it took 21.206897447. I will try avoiding --gc-sections -O3 on a followup patch. llvm-svn: 234159
* Test commit. Improve comments in APInt. NFC.Pawel Bylica2015-04-061-10/+9
| | | | llvm-svn: 234158
* Store the sh_link of ARM_EXIDX directly in MCSectionELF.Rafael Espindola2015-04-065-25/+120
| | | | | | This avoids some pretty horrible and broken name based section handling. llvm-svn: 234142
* Simplify this function a bit. NFC.Rafael Espindola2015-04-061-20/+4
| | | | | | | | | The case values are not a tidy enum we can fully cover. They even ovelap over the various extension. Just use a default: llvm-svn: 234140
* Simplify mapping from relocation sections to relocated sections.Rafael Espindola2015-04-064-47/+38
| | | | | | | | Just store the section in MCSectionELF. This avoids multiple hash lookups. This will also be used by ARM_EXIDX. llvm-svn: 234139
* [Orc] Tidy up the assembly for the x86-64 resolver block.Lang Hames2015-04-061-44/+45
| | | | llvm-svn: 234138
* [opaque pointer type] Remove some backwards compatible GEP APIsDavid Blaikie2015-04-051-7/+0
| | | | | | | Just doing the two-step so I don't get so much build-bot spam... (add new API, migrate callers, remove old API) llvm-svn: 234132
* clang-format my last commitDavid Blaikie2015-04-052-6/+7
| | | | llvm-svn: 234127
* [opaque pointer type] The last of the GEP IRBuilder API migrationsDavid Blaikie2015-04-053-10/+16
| | | | | | | | | There's still lots of callers passing nullptr, of course - some because they'll never be migrated (InstCombines for bitcasts - well they don't make any sense when the pointer type is opaque anyway, for example) and others that will need more engineering to pass Types around. llvm-svn: 234126
* Mark BumpPtrAllocator::Allocate as returning a noalias pointer.Benjamin Kramer2015-04-052-1/+12
| | | | | | | The GCC attribute is curiously named 'malloc', but I think it's better to use LLVM terminology for the wrapper macro. llvm-svn: 234121
* [DAGCombiner] Merge FMUL Scalar and Vector constant canonicalization to RHS. ↵Simon Pilgrim2015-04-051-8/+2
| | | | | | NFCI. llvm-svn: 234118
* [opaque pointer type] More GEP API migrationsDavid Blaikie2015-04-043-24/+34
| | | | llvm-svn: 234108
* remove function/variable names from comments; NFCSanjay Patel2015-04-041-162/+136
| | | | llvm-svn: 234107
* less space; NFCSanjay Patel2015-04-041-1/+0
| | | | llvm-svn: 234106
* Don't mix overload and default values.Rafael Espindola2015-04-042-17/+26
| | | | | | It makes it hard to see which one is being called. llvm-svn: 234100
OpenPOWER on IntegriCloud