summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tsan: fix signal handling in ignored librariesDmitry Vyukov2016-02-234-6/+145
| | | | | | | | | | | | | | The first issue is that we longjmp from ScopedInterceptor scope when called from an ignored lib. This leaves thr->in_ignored_lib set. This, in turn, disables handling of sigaction. This, in turn, corrupts tsan state since signals delivered asynchronously. Another issue is that we can ignore synchronization in asignal handler, if the signal is delivered into an IgnoreSync region. Since signals are generally asynchronous, they should ignore memory access/synchronization/interceptor ignores. This could lead to false positives in signal handlers. llvm-svn: 261658
* Remove an unnecessary workaround introduced in r259975. (NFC)Adrian Prantl2016-02-231-12/+9
| | | | | | | | | | | | | | | | Now that LLVM r259973 allows replacing a temporary type with another temporary we can rely on the original implementation. It is possible for enums to be created as part of their own declcontext. In this case a FwdDecl will be created twice. This doesn't cause a problem because both FwdDecls are entered into the ReplaceMap: finalize() will replace the first FwdDecl with the second and then replace the second with complete type. Thanks to echristo for pointing this out. llvm-svn: 261657
* [WinEH] Don't inline an 'unwinds to caller' cleanupret into funclets which ↵David Majnemer2016-02-232-0/+86
| | | | | | | | | | | | | | | | | | | | | locally unwind It is problematic if the inlinee has a cleanupret which unwinds to caller and we inline it into a call site which doesn't unwind. If the funclet unwinds anywhere other than to the caller, then we will give the funclet two unwind destinations. This will result in a verifier failure. Seeing as how the caller wasn't an invoke (which would locally unwind) and that the funclet cannot unwind to caller, we must conclude that an 'unwind to caller' cleanupret is dynamically unreachable. This fixes PR26698. Differential Revision: http://reviews.llvm.org/D17536 llvm-svn: 261656
* More updatesMarshall Clow2016-02-231-11/+11
| | | | llvm-svn: 261655
* Revert "[VFS] Add support for handling path traversals"Bruno Cardoso Lopes2016-02-234-242/+23
| | | | | | | | | | | | | | This reverts commit r261551 due to failing tests in windows bots: http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/10054 Failing Tests (4): Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.CaseInsensitive Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.DirectoryIteration Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.MappedFiles Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.UseExternalName llvm-svn: 261654
* Add tests for LWG#2560. No code changes, just testsMarshall Clow2016-02-231-0/+9
| | | | llvm-svn: 261653
* [InstCombine] less indenting; NFCSanjay Patel2016-02-231-31/+32
| | | | llvm-svn: 261652
* [lld] [ELF/AArch64] Fix R_AARCH64_ABS64 in Shared modeAdhemerval Zanella2016-02-235-11/+90
| | | | | | | | | | | | | | This patch fixes the R_AARCH64_ABS64 relocation when used in shared mode, where it requires a dynamic R_AARCH64_RELATIVE relocation. To correct set the addend on the dynamic relocation (since it will be used by the dynamic linker), a new TargetInfo specific hook was created (getDynRelativeAddend) to get the correct addend based on relocation type. The patch fixes the issues when creating shared library code against {init,fini}_array, where it issues R_AARCH64_ABS64 relocation against local symbols. llvm-svn: 261651
* [AArch64] Fix fastcc -tailcallopt epilog code generation.Geoff Berry2016-02-232-6/+115
| | | | | | | | | | | | | | Summary: Fix a bug in epilog generation where the incoming stack arguments were not being popped for fastcc functions when -tailcallopt was passed. Reviewers: t.p.northover, mcrosier, jmolloy, rengolin Subscribers: aemerson, rengolin, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D16894 llvm-svn: 261650
* [InstCombine] add helper function to foldCastedBitwiseLogic() ; NFCISanjay Patel2016-02-232-29/+41
| | | | | | | | | | | | This is a straight cut and paste of the existing code and is intended to be the first step in solving part of PR26702: https://llvm.org/bugs/show_bug.cgi?id=26702 We should be able to reuse most of this and delete the nearly identical existing code in visitOr(). Then, we can enhance visitXor() to use the same code too. llvm-svn: 261649
* Add additional tests to ensure that we DTRT with short lists. This is ↵Marshall Clow2016-02-231-0/+14
| | | | | | LWG#2590, but there are no code changes, just additional tests llvm-svn: 261648
* More updates; patch for 2583 readyMarshall Clow2016-02-231-4/+4
| | | | llvm-svn: 261647
* Fix a typo. NFCAlexander Kornienko2016-02-232-2/+2
| | | | llvm-svn: 261646
* Clean up clang-format options documentation. NFCAlexander Kornienko2016-02-232-135/+186
| | | | | | | Use uniform style for inline code blocks, specify language for YAML code blocks, various formatting fixes etc. llvm-svn: 261645
* Support language selection for \code blocks.Alexander Kornienko2016-02-231-3/+7
| | | | llvm-svn: 261644
* Update clang-format options docs.Alexander Kornienko2016-02-231-5/+26
| | | | llvm-svn: 261643
* Allow running dump_format_style.py from any directory.Alexander Kornienko2016-02-231-2/+4
| | | | llvm-svn: 261642
* [CLANG] [AVX512] [BUILTIN] Adding prorv{d|q}{128|256|512} builtin to clang Michael Zuckerman2016-02-235-0/+294
| | | | | | Differential Revision: http://reviews.llvm.org/D17512 llvm-svn: 261641
* Silencing a signed vs unsigned mismatch.Aaron Ballman2016-02-231-1/+1
| | | | llvm-svn: 261640
* math: Add ilogb ported from amd-builtinsAaron Watry2016-02-236-0/+68
| | | | | | | | | | | | | | | | The scalar float/double function bodies are a direct copy/paste with usage of the CLC wrappers to vectorize them. This commit also adds in the FP_ILOGB0 and FP_ILOGBNAN macros which are equal to the results of ilogb(0.0f) and ilogb(float nan) respectively. v2: Add FP_ILOGB0 and FP_ILOGBNAN definitions Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> v1 Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 261639
* [CLANG] [AVX512] [BUILTIN] Adding pro{lv|r}{d|q}{128|256|512} builtin to clangMichael Zuckerman2016-02-232-18/+18
| | | | | | | | Adding closer to the end of macro }->}) Differential Revision: http://reviews.llvm.org/D17506 llvm-svn: 261638
* [AArch64] Fix comment typo in Cyclone scheduling defs. NFC.Chad Rosier2016-02-231-1/+1
| | | | llvm-svn: 261637
* Work around a stepping bug in arm64 android MPavel Labath2016-02-237-95/+354
| | | | | | | | | | | | | | | | | | | | | Summary: On arm64, linux<=4.4 and Android<=M there is a bug, which prevents single-stepping from working when the system comes back from suspend, because of incorrectly initialized CPUs. This did not really affect Android<M, because it did not use software suspend, but it is a problem for M, which uses suspend (doze) quite extensively. Fortunately, it seems that the first CPU is not affected by this bug, so this commit implements a workaround by forcing the inferior to execute on the first cpu whenever we are doing single stepping. While inside, I have moved the implementations of Resume() and SingleStep() to the thread class (instead of process). Reviewers: tberghammer, ovyalov Subscribers: aemerson, rengolin, tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D17509 llvm-svn: 261636
* [CLANG] [AVX512] [BUILTIN] Adding pro{lv|r}{d|q}{128|256|512} builtin to clangMichael Zuckerman2016-02-235-0/+529
| | | | | | Differential Revision: http://reviews.llvm.org/D17506 llvm-svn: 261635
* Supporting all entities declared in lexical scope in LLVM debug info.Amjad Aboud2016-02-235-20/+93
| | | | | | Differential Revision: http://reviews.llvm.org/D15977 llvm-svn: 261634
* Supporting all entities declared in lexical scope in LLVM debug info.Amjad Aboud2016-02-2320-91/+815
| | | | | | Differential Revision: http://reviews.llvm.org/D15976 llvm-svn: 261633
* [analyzer] Improve pointer arithmetic checker.Gabor Horvath2016-02-236-33/+385
| | | | | | | | | | | This patch is intended to improve pointer arithmetic checker. From now on it only warns when the pointer arithmetic is likely to cause an error. For example when the pointer points to a single object, or an array of derived types. Differential Revision: http://reviews.llvm.org/D14203 llvm-svn: 261632
* [linux] Remove all traces of signalfd(2)Pavel Labath2016-02-234-67/+0
| | | | | | | | | | | | | | | Summary: Signalfd is not used in the code anymore, and given that the same functionality can be achieved with the new MainLoop class, it's unlikely we will need it in the future. Remove all traces of it. Reviewers: tberghammer, ovyalov Subscribers: tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D17510 llvm-svn: 261631
* XFAIL TestInlines for Linux with gccTamas Berghammer2016-02-231-1/+3
| | | | llvm-svn: 261630
* Remove a space after a trailing backslash.Alexander Kornienko2016-02-231-1/+1
| | | | llvm-svn: 261629
* fix the indentation of the exampleSylvestre Ledru2016-02-231-1/+1
| | | | llvm-svn: 261628
* [PM] Remove an overly aggressive assert now that I can actually test theChandler Carruth2016-02-232-1/+32
| | | | | | | | | | | | | | | | | pattern that triggers it. This essentially requires an immutable function analysis, as that will survive anything we do to invalidate it. When we have such patterns, the function analysis manager will not get cleared between runs of the proxy. If we actually need an assert about how things are queried, we can add more elaborate machinery for computing it, but so far I'm not aware of significant value provided. Thanks to Justin Lebar for noticing this when he made a (seemingly innocuous) change to FunctionAttrs that is enough to trigger it in one test there. Now it is covered by a direct test of the pass manager code. llvm-svn: 261627
* Fix a -Wunused-variable diagnostic.Alexander Kornienko2016-02-231-0/+2
| | | | llvm-svn: 261626
* Print options, if requested.Alexander Kornienko2016-02-231-0/+2
| | | | llvm-svn: 261625
* [PM] Add a unittest for the CGSCC pass manager in the new pass managerChandler Carruth2016-02-232-0/+288
| | | | | | | | | | | system. Previously, this was only being tested with larger integration tests. That makes it hard to isolated specific issues with it, and makes the APIs themselves less well tested. Add a unittest based around the same patterns used for testing the general pass manager. llvm-svn: 261624
* [ARM] fix initialization of PredictableSelectIsExpensiveJunmo Park2016-02-231-1/+1
| | | | | | | | | | | | Summary: If we want classify OoO or not, using getSchedModel().isOutOfOrder() could be more proper way than using Subtarget->isLikeA9(). Reviewers: jmolloy, rengolin Differential Revision: http://reviews.llvm.org/D17433 llvm-svn: 261623
* [clang-tidy] Updated docs on testing clang-tidy checks.Alexander Kornienko2016-02-231-2/+20
| | | | llvm-svn: 261622
* [AMDGPU] Fix operands of S_BFE_U64 and S_BFM_B64Nikolay Haustov2016-02-233-6/+11
| | | | | | | | | | | src1 of s_bfe_u64 is 32-bit (same as s_bfe_i64). src0 and src1 of s_bfm_b64 are 32-bit. Update tests. Review: http://reviews.llvm.org/D17480 Reviewers: arsenm llvm-svn: 261621
* Annotation of SIMD loopsRoman Gareev2016-02-2310-38/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use 'mark' nodes annotate a SIMD loop during ScheduleTransformation and skip parallelism checks. The buildbot shows the following compile/execution time changes: Compile time: Improvements Δ Previous Current σ …/gesummv -6.06% 0.2640 0.2480 0.0055 …/gemver -4.46% 0.4480 0.4280 0.0044 …/covariance -4.31% 0.8360 0.8000 0.0065 …/adi -3.23% 0.9920 0.9600 0.0065 …/doitgen -2.53% 0.9480 0.9240 0.0090 …/3mm -2.33% 1.0320 1.0080 0.0087 Execution time: Regressions Δ Previous Current σ …/viterbi 1.70% 5.1840 5.2720 0.0074 …/smallpt 1.06% 12.4920 12.6240 0.0040 Reviewed-by: Tobias Grosser <tobias@grosser.es> Differential Revision: http://reviews.llvm.org/D14491 llvm-svn: 261620
* AVX512: Fix predicate of AVX pcmpeqw/b , pcmpgtb/w/d instructions . AVX512 ↵Igor Breger2016-02-233-6/+17
| | | | | | | | version of this instructions return result in kmask register, so AVX patterns should not be disabled. Differential Revision: http://reviews.llvm.org/D17517 llvm-svn: 261619
* [ms-inline-asm] Fixing bug in single asm statement supportMarina Yatsina2016-02-233-3/+16
| | | | | | | | | | | | | | Fixing a crash caused by trying to merge a single-line asm statement with an asm block that follows it, e.g: asm int 4 asm { int 5 } Now, only adjacent single-line asm statements that are not surrounded by braces will be merged into one asm call. Differential Revision: http://reviews.llvm.org/D17496 llvm-svn: 261618
* [ELF][MIPS] Rename test case. NFCSimon Atanasyan2016-02-231-0/+0
| | | | llvm-svn: 261617
* [ELF] - Linkerscript KEEP command.George Rimar2016-02-234-11/+133
| | | | | | | | | | | When link-time garbage collection is in use (-gc-sections), it is often useful to mark sections that should not be eliminated. This is accomplished by surrounding an input section's wildcard entry with KEEP(). Patch implements that command. Differential revision: http://reviews.llvm.org/D17242 llvm-svn: 261616
* [WinEH] Visit 'unwind to caller' catchswitches nested in catchswitchesDavid Majnemer2016-02-232-4/+63
| | | | | | | We had the right logic for the nested cleanuppad case but omitted it for catchswitches. llvm-svn: 261615
* Assert when trying to seek un-seekable raw_fd_ostream.Yaron Keren2016-02-231-0/+1
| | | | llvm-svn: 261614
* Revert "[VFS] Add 'overlay-relative' field to YAML files" and "[VFS] Fix ↵Bruno Cardoso Lopes2016-02-238-177/+29
| | | | | | | | | | | | | | | call to getVFSFromYAML in unittests" This reverts commit r261552 and r261556 because of failing unittests on windows: Failing Tests (4): Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.CaseInsensitive Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.DirectoryIteration Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.MappedFiles Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.UseExternalName llvm-svn: 261613
* RenderScript: silence some -Wmissing-brace warningsSaleem Abdulrasool2016-02-231-2/+2
| | | | | | Silence some -Wmissing-brace warnings on Linux with clang 3.7. llvm-svn: 261612
* [tests] Run test that uses gnu asm syntax on Posix only.Alexey Samsonov2016-02-231-0/+0
| | | | llvm-svn: 261609
* Add prefix based function layout when profile is available.Dehao Chen2016-02-234-0/+74
| | | | | | | | | | | | Summary: If a function is hot, put it in text.hot section. Reviewers: davidxl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17532 llvm-svn: 261607
* Use TinyPtrVector<Ty *> instead of SmallVector<Ty *, 1>.Rui Ueyama2016-02-231-1/+2
| | | | | | Thanks to Sean Silva for the suggestion. llvm-svn: 261606
OpenPOWER on IntegriCloud