summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* clang-rename: when renaming a field, rename initializers of that field as wellMiklos Vajna2016-05-072-0/+30
| | | | | | | | | | Summary: The second check failed, the initializer wasn't renamed. Reviewers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D19957 llvm-svn: 268857
* ErrorInfoBase::message(): Don't use raw_string_ostream's buffer, Msg, before ↵NAKAMURA Takumi2016-05-071-1/+1
| | | | | | closing. Use raw_string_ostream::str() to flush the buffer. llvm-svn: 268856
* Codegen: Enable the detection of min/max expressionsTobias Grosser2016-05-075-9/+8
| | | | | | | | | Min/max expressions are easier to read and can in some cases also result in more concise IR that is generated as the min/max --- when lowered to a cmp+select pattern -- commonly has a simpler condition then the ternary condition isl would normally generate. llvm-svn: 268855
* test: Use CHECK-NEXT to not miss instructions in test outputTobias Grosser2016-05-071-25/+23
| | | | llvm-svn: 268854
* Update isl to isl-0.17-5-g57dc5ffTobias Grosser2016-05-077-5/+65
| | | | | | This update fixes an assertion in the isl scheduler. llvm-svn: 268853
* [ELF][MIPS] Remove redundant local variable. NFCSimon Atanasyan2016-05-071-4/+2
| | | | llvm-svn: 268852
* [PM] code refactoring -- preparation for new PM porting /NFCXinliang David Li2016-05-076-22/+37
| | | | llvm-svn: 268851
* Fix memory_resource build for _LIBCPP_HAS_NO_THREADSEric Fiselier2016-05-071-2/+12
| | | | llvm-svn: 268850
* Fix stripDebugInfo: was modifying "DebugLoc" attached to the intrinsic after ↵Mehdi Amini2016-05-071-0/+1
| | | | | | | | | deleting it. Fix MSAN build. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268849
* MipsELFObjectWriter.cpp: Activate debug printer just for +Asserts. ↵NAKAMURA Takumi2016-05-071-0/+2
| | | | | | [-Wunused-function] llvm-svn: 268848
* Refactor stripDebugInfo(Function) to handle intrinsicMehdi Amini2016-05-075-22/+82
| | | | | | | | | | | | | | This moves the code that handles stripping debug info intrinsic from StripDebugInfo(Module) to StripDebugInfo(Function). The latter is already walking every instructions so it makes sense to do it at the same time. This makes also stripDebugInfo(Function) as an API more useful: it is really dropping every debug info in the Function. Finally the existing code is trigerring an assertion when the Module is not fully materialized. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268847
* [Orc] Fix missing rename from r268845.Lang Hames2016-05-071-1/+1
| | | | llvm-svn: 268846
* [Orc] Rename OrcArchitectureSupport to OrcABISupport and add Win32 ABI support.Lang Hames2016-05-077-110/+233
| | | | | | | | This enables lazy JITing on Windows x86-64. Patch by David. Thanks David! llvm-svn: 268845
* Update TS implementation status pageEric Fiselier2016-05-071-0/+8
| | | | llvm-svn: 268844
* Update \param corresponding to r268819. [-Wdocumentation]NAKAMURA Takumi2016-05-071-1/+1
| | | | llvm-svn: 268843
* Change allocator<T>::allocate to throw length_error, not bad_allocEric Fiselier2016-05-072-14/+11
| | | | llvm-svn: 268842
* Add experimental container alias templates for PMRsEric Fiselier2016-05-0730-0/+1346
| | | | llvm-svn: 268841
* [profile] Simplify value profile writingXinliang David Li2016-05-076-88/+54
| | | | | | | | With this patch, value data are longer pre-collected before writing. The code is simplified and requires less heap space for dumping. llvm-svn: 268840
* Fix one more usage of _LIBCPP_HAS_NO_EXCEPTIONSEric Fiselier2016-05-071-1/+1
| | | | llvm-svn: 268839
* Fix typo it _LIBCPP_NO_EXCEPTIONS macroEric Fiselier2016-05-071-2/+2
| | | | llvm-svn: 268838
* Revert r268832 "Refactor stripDebugInfo(Function) to handle intrinsic"Vitaly Buka2016-05-074-80/+21
| | | | | | It breaks many bots llvm-svn: 268837
* [ValueTracking] Hoist some computation out of a loop; NFCSanjoy Das2016-05-071-20/+11
| | | | | | There is no need to match the comparison instruction repeatedly. llvm-svn: 268836
* Clean up comment; NFCSanjoy Das2016-05-071-1/+1
| | | | llvm-svn: 268835
* Delete trailing whitespace; NFCSanjoy Das2016-05-071-8/+8
| | | | llvm-svn: 268834
* Revert r268810 becase it brakes msan bot.Vitaly Buka2016-05-072-217/+5
| | | | | | | 16802==WARNING: MemorySanitizer: use-of-uninitialized-value lib/Target/ARM/ARMFrameLowering.cpp:1632 llvm-svn: 268833
* Refactor stripDebugInfo(Function) to handle intrinsicMehdi Amini2016-05-074-21/+80
| | | | | | | | | | | | | | This moves the code that handles stripping debug info intrinsic from StripDebugInfo(Module) to StripDebugInfo(Function). The latter is already walking every instructions so it makes sense to do it at the same time. This makes also stripDebugInfo(Function) as an API more useful: it is really dropping every debug info in the Function. Finally the existing code is trigerring an assertion when the Module is not fully materialized. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 268832
* [X86] Teach X86FixupBWInsts to promote MOV8rr/MOV16rr to MOV32rr.Ahmed Bougacha2016-05-0718-227/+503
| | | | | | | | | | | | | | | | | | | | | | | | | This re-applies r268760, reverted in r268794. Fixes http://llvm.org/PR27670 The original imp-defs assertion was way overzealous: forward all implicit operands, except imp-defs of the new super-reg def (r268787 for GR64, but also possible for GR16->GR32), or imp-uses of the new super-reg use. While there, mark the source use as Undef, and add an imp-use of the old source reg: that should cover any case of dead super-regs. At the stage the pass runs, flags are unlikely to matter anyway; still, let's be as correct as possible. Also add MIR tests for the various interesting cases. Original commit message: Codesize is less (16) or equal (8), and we avoid partial dependencies. Differential Revision: http://reviews.llvm.org/D19999 llvm-svn: 268831
* [X86] Register and initialize the FixupBW pass.Ahmed Bougacha2016-05-073-8/+19
| | | | | | That lets us use it in MIR tests. llvm-svn: 268830
* Add <experimental/memory_resource>Eric Fiselier2016-05-0755-6/+4712
| | | | | | | | | | Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D20007 llvm-svn: 268829
* Take the API lock in SBThread::IsValid & SBFrame::IsValid.Jim Ingham2016-05-072-2/+27
| | | | | | | | The IsValid calls can try to reconstruct the thread & frame, which can take various internal locks. This can cause A/B locking issues with the Target lock, so these calls need to that the Target lock. llvm-svn: 268828
* Remove some lldbassert's from the packet checking code.Jim Ingham2016-05-071-5/+0
| | | | | | | Greg says he doesn't need these asserts anymore and since they cause occasional test suite crashes, out they go. llvm-svn: 268827
* Fine tuning of TC* macrosPaul Osmialowski2016-05-073-3/+7
| | | | | | | | | | This patch introduces following: * TCI_* and TCD_* macros for incrementation and decrementation * Fix for invalid use of TCR_8 in one expression Differential Revision: http://reviews.llvm.org/D19880 llvm-svn: 268826
* [CrashReproducer] Always use realpath for destinationBruno Cardoso Lopes2016-05-062-29/+14
| | | | | | | | | | When running reproducer scripts we need that original symlinks from the source filesystem are reproduced in the VFS so that different virtual paths can map to the same file, allowing the FileManager to share the same UID between these virtual entries. This avoids all sorts of module redefinition errors when using frameworks. llvm-svn: 268825
* [libFuzzer] modify the docs for startup/initKostya Serebryany2016-05-061-3/+7
| | | | llvm-svn: 268824
* Fix the way the ShouldStopHere checker handles the general case of "stepping ↵Jim Ingham2016-05-061-6/+33
| | | | | | | | | | | | | | | | through line 0 code". That's good 'cause it means all the different kinds of source line stepping won't leave user in the middle of compiler implementation code or code inlined from odd places, etc. But it turns out that the compiler also marks functions it MIGHT inline as all being of line 0. That would mean we single step through this code instead of just stepping out. That is both inefficient, and more error prone 'cause these little nuggets tend to be bits of hand-written assembly and the like and are hard to step through. This change just checks and if the entire function is marked with line 0, we step out rather than step through. <rdar://problem/25966460> llvm-svn: 268823
* [libFuzzer] tweak the documentation about rss_limitKostya Serebryany2016-05-061-3/+1
| | | | llvm-svn: 268822
* [libFuzzer] enhance -rss_limit_mb and enable by default. Now it will print ↵Kostya Serebryany2016-05-069-15/+88
| | | | | | the OOM reproducer. llvm-svn: 268821
* [VFS] Add dump methods to the VFS overlay treeBruno Cardoso Lopes2016-05-061-0/+24
| | | | | | Useful when debugging issues within the VFS overlay. llvm-svn: 268820
* [CrashReproducer] Change module map callback signature. NFCBruno Cardoso Lopes2016-05-063-4/+3
| | | | | | | | Use a StringRef instead of a FileEntry in the moduleMapAddHeader callback to allow more flexibility on what to collect on further patches. This changes the interface I introduced in r264971. llvm-svn: 268819
* [PGO] Use rsplit to parse value-data line in text profile file.Rong Xu2016-05-061-1/+1
| | | | | | | | | The value-data line is <PGOFuncName>:<Count_Value>. PGOFuncName might contain ':' for the internal linkage functions. We therefore need to use rsplit, rather split, to extract the data from the line. This fixes the error when merging a text profile file to an indexed profile file. llvm-svn: 268818
* [modules] Attempt to improve performance for declaration merging without a SemaRichard Smith2016-05-063-5/+20
| | | | | | | | | | object in C. Rather than using the DeclContext (which is very slow because it triggers us to build a lookup table for the DeclContext), use a separate map from identifiers to decls for this case, containing only the ones we've actually deserialized. For convenience, this map is implemented as an IdentifierResolver. llvm-svn: 268817
* Implement a safer bitcode upgrade for DISubprogram.Adrian Prantl2016-05-062-6/+9
| | | | | | | | | | | | | | | | | | The bitcode upgrade I added for DISubprogram in r266446 was based on the assumption that the CU node for the subprogram was already materialized by the time the DISubprogram is visited. This assumption may not hold true as future versions of LLVM may decide to write out bitcode in a different order. This patch corrects this by introducing a versioning bit next to the distinct flag to unambiguously differentiate the new from the old record layouts. Note for people stabilizing LLVM out-of-tree: This patch introduces a bitcode incompatibility with llvm trunk revisions from r266446 — this commit. (But D19987 will ensure that it degrades gracefully). http://reviews.llvm.org/D20004 rdar://problem/26074194 llvm-svn: 268816
* DetectDeadLanes: Increase precision when detecting undef inputsMatthias Braun2016-05-063-57/+145
| | | | | | | | | | | | | In case of COPY-like instruction we may be able to deduce that a certain input is unused, based on the used lanes of the register defined by the instruction. This even works accross otherwise incompatible copies (no need to have compatible lanemasks, completely unused operands are still completely unused). It even makes sense to redo the analysis in this case since we gained information for a case we previously stopped at because of the incompatible masks. llvm-svn: 268815
* DetectDeadLanes: Cleanup, assert on some impossible cases.Matthias Braun2016-05-061-9/+8
| | | | llvm-svn: 268814
* Drop error when trying to fallback from PDB to DWARF.Zachary Turner2016-05-061-0/+4
| | | | llvm-svn: 268813
* cmake: Avoid continue, apparently that's newJustin Bogner2016-05-061-8/+7
| | | | llvm-svn: 268812
* [SLPVectorizer][X86] Regenerated SEXT/ZEXT cast vectorization testsSimon Pilgrim2016-05-061-8/+94
| | | | | | Added 256-bit vector test as well llvm-svn: 268811
* [ARM] Fix Scavenger assert due to underestimated stack sizeWeiming Zhao2016-05-062-5/+217
| | | | | | | | | | | | | | | | | | | (this is resubmit of r268529 with minor refactoring. r268529 was reverted at r268536 due a memory sanitizer failure. I have not been able to reproduce that failure and I checked all the variable used in my change but I could not spot an issue. I did some refactoring and see if it will give a clearer hint) Summary: Currently, when checking if a stack is "BigStack" or not, it doesn't count into spills and arguments. Therefore, LLVM won't reserve spill slot for this actually "BigStack". This may cause scavenger failure. Reviewers: rengolin Subscribers: vitalybuka, aemerson, rengolin, tberghammer, danalbert, srhines, llvm-commits Differential Revision: http://reviews.llvm.org/D19896 llvm-svn: 268810
* Reapply 267210 with fix for PR27490Philip Reames2016-05-062-8/+71
| | | | | | | | | | | Original Commit Message Extend load/store type canonicalization to handle unordered operations Extend the type canonicalization logic to work for unordered atomic loads and stores. Note that while this change itself is fairly simple and low risk, there's a reasonable chance this will expose problems in the backends by suddenly generating IR they wouldn't have seen before. Anything of this nature will be an existing bug in the backend (you could write an atomic float load), but this will definitely change the frequency with which such cases are encountered. If you see problems, feel free to revert this change, but please make sure you collect a test case. Note that the concern about lowering is now much less likely. PR27490 proved that we already *were* mucking with the types of ordered atomics and volatiles. As a result, this change doesn't introduce as much new behavior as originally thought. llvm-svn: 268809
* Make llvm-pdbdump print CV type recordsZachary Turner2016-05-067-56/+122
| | | | | | | | | | This reuses the CVTypeDumper from libcodeview to dump full information about type records within a PDB file. Differential Revision: http://reviews.llvm.org/D20022 Reviewed By: rnk llvm-svn: 268808
OpenPOWER on IntegriCloud