summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [SROA] Also insert a bit piece expression if only one piece is neededKeno Fischer2016-01-142-2/+42
| | | | | | | | | | | | | | Summary: If SROA creates only one piece (e.g. because the other is not needed), it still needs to create a bit_piece expression if that bit piece is smaller than the original size of the alloca. Reviewers: aprantl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16187 llvm-svn: 257795
* [CodeGen] Don't assume fp_to_fp16 produces i16 when legalizing it.Ahmed Bougacha2016-01-142-3/+12
| | | | | | | | | | | | | | Since r230276, we support an improved legalization for f64->f16, which goes through a temporary f32, improving codegen when f32->f16 is legal but not f64->f16. This requires unsafe-fp-math. However, that legalization assumed that the second step, producing a pseudo-softened f16, had type i16. That's not true on targets with illegal i16, such as ARM. Use the initial f64->f16 result type instead. llvm-svn: 257794
* Include TypeIndex. Again, the "check" target is not enough to catch this ↵Reid Kleckner2016-01-141-0/+1
| | | | | | currently llvm-svn: 257793
* Rename WinCodeViewLineTables to CodeViewDebug, similar to DwarfDebugReid Kleckner2016-01-144-20/+20
| | | | | | | | | | Soon it will be responsible for more than line tables. Reviewers: majnemer Differential Revision: http://reviews.llvm.org/D16199 llvm-svn: 257792
* Exclude test-suite from CMake builds in test-release.shHans Wennborg2016-01-141-0/+6
| | | | | | | It's broken. In 3.7 there wasn't a CMake build for test-suite at all, so we're not losing something we had before. llvm-svn: 257791
* [codeview] Dump CodeView inlinee lines subsectionReid Kleckner2016-01-144-2/+121
| | | | llvm-svn: 257790
* [LSan] Add "use_ld_allocations" flag to disable old way of DTLS handling.Alexey Samsonov2016-01-143-5/+13
| | | | | | | | | | | This flag allows to disable old way of determining dynamic TLS by filtering out allocations from dynamic linker. This will be eventually superseded by __tls_get_addr interceptor (see r257785), after we: 1) Test it in several supported environments 2) Deal with existing problems (currently we can't find a pointer to DTV which is calloc()-ed in pthread_create). llvm-svn: 257789
* Resubmit the fixes for TestProcessLaunch.py.Zachary Turner2016-01-142-21/+26
| | | | | | | I was calling the base class tearDown() function the wrong way which for some reason is ok on Python 3 but not on Python 2. llvm-svn: 257788
* [Utils] Fix incorrect dbg.declare store conversionKeno Fischer2016-01-142-5/+44
| | | | | | | | | | | | | | | | Summary: The dbg.declare -> dbg.value conversion did not check which operand of the store instruction the alloca was passed to. As a result code that stored the address of an alloca, rather than storing to the alloca, would still trigger the conversion routine, leading to the insertion of an incorrect dbg.value intrinsic. Reviewers: aprantl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16169 llvm-svn: 257787
* Fixed a crasher when dealing with table entries that have blank names.Sean Callanan2016-01-143-0/+15
| | | | | | This can happen with -gmodules tables when an anonymous struct is referred to. llvm-svn: 257786
* [LSan] Use __tls_get_addr interceptor to keep track of dynamic TLS.Alexey Samsonov2016-01-148-19/+60
| | | | | | | | | | | | | | | | | | | | Summary: We have a way to keep track of allocated DTLS segments: let's use it in LSan. Although this code is fragile and relies on glibc implementation details, in some cases it proves to be better than existing way of tracking DTLS in LSan: marking as "reachable" all memory chunks allocated directly by "ld". The plan is to eventually get rid of the latter, once we are sure it's safe to remove. Reviewers: kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16164 llvm-svn: 257785
* dsymutil: Provide better warnings when clang modules cannot be found.Adrian Prantl2016-01-144-14/+60
| | | | | | rdar://problem/22823264 llvm-svn: 257784
* Fix the cross compilation of unit tests. NFC (second attempt)Sumanth Gundapaneni2016-01-145-8/+16
| | | | | | | | | | | | | | | | With COMPILER_RT_INCLUDE_TESTS turned ON and in a cross compiling environment, the unit tests fail to link. This patch does the following changes >Rename COMPILER_RT_TEST_CFLAGS to COMPILER_RT_UNITTEST_CFLAGS to reflect the way it's used. >Add COMPILER_RT_TEST_COMPILER_CFLAGS to COMPILER_RT_UNITTEST_CFLAGS so that cross-compiler would be able to build/compile the unit tests >Add COMPILER_RT_UNITTEST_LINKFLAGS to COMPILER_RT_UNITTEST_CFLAGS so that cross-compiler would be able to link the unit tests (if needed) Differential Revision: http://reviews.llvm.org/D16165 llvm-svn: 257783
* [Coverage] add test cases for coverage testingXinliang David Li2016-01-143-5/+49
| | | | | | | 1. One test covering coverage-mapping interfaction with linker GC 2. one test covering coverage-mapping with shared libaries llvm-svn: 257782
* [PGO] [Coverage] put covmap into note section with no 'alloc flag' (Linux)Xinliang David Li2016-01-141-0/+8
| | | | | | | | | | | Coverage mapping data is not referenced by runtime, and they won't be dumped into profile data. There is no need to allocate memory for covmap sections. A good side effect of this change is that the coverage map data won't be mistakenly garbage collected by the linker (for Gold linker only, BFD linker has an issue where the a bug is filed). Tested with clang build with instrumentation and -fcoverage-mapping and linker GC. The size of covmap section is ~17.6M so the text segment size will be reduced by this amount with this change. llvm-svn: 257781
* Use std::map::insert instead of emplace for libstdc++ 4.7Reid Kleckner2016-01-141-1/+1
| | | | llvm-svn: 257780
* Print function names when they are referenced via TypeIndexReid Kleckner2016-01-141-1/+1
| | | | llvm-svn: 257778
* [readobj] Add functionality to dump relocations inside of binary blobsReid Kleckner2016-01-141-6/+38
| | | | llvm-svn: 257777
* [codeview] Print relocations against code and data offset fieldsReid Kleckner2016-01-142-76/+67
| | | | | | | | These fields are almost always zero. However, there are relocations against them, and we should print the relocation symbol with it as SYM+0xNN. llvm-svn: 257776
* Revert "Stop increasing alignment of externally-visible globals on ELF ↵James Y Knight2016-01-145-65/+25
| | | | | | | | platforms." This reverts commit r257719, due to PR26144. llvm-svn: 257775
* [WebAssembly] Configure some simple include paths and runtime library settings.Dan Gohman2016-01-142-0/+31
| | | | llvm-svn: 257774
* Revert "[ValueTracking] Understand more select patterns in ComputeKnownBits"James Molloy2016-01-142-101/+1
| | | | | | This reverts commit r257769. Backing this out because of stage2 failures. llvm-svn: 257773
* [RenderScript] Hook kernel invocation.Aidan Dodds2016-01-142-17/+115
| | | | | | This patch adds a hook to track kernel invocations and to track all script and allocation objects used. llvm-svn: 257772
* [Hexagon] Expand pseudo instruction Insert4Krzysztof Parzyszek2016-01-142-0/+142
| | | | llvm-svn: 257771
* Unxfail passing testcase on HexagonKrzysztof Parzyszek2016-01-141-1/+1
| | | | llvm-svn: 257770
* [ValueTracking] Understand more select patterns in ComputeKnownBitsJames Molloy2016-01-142-1/+101
| | | | | | | | | | | | | Some patterns of select+compare allow us to know exactly the value of the uppermost bits in the select result. For example: %b = icmp ugt i32 %a, 5 %c = select i1 %b, i32 2, i32 %a Here we know that %c is bounded by 5, and therefore KnownZero = ~APInt(5).getActiveBits() = ~7. There are several such patterns, and this patch attempts to understand a reasonable subset of them - namely when the base values are the same (as above), and when they are related by a simple (add nsw), for example (add nsw %a, 4) and %a. llvm-svn: 257769
* [Hexagon] Handle branches with non-mbb operandsKrzysztof Parzyszek2016-01-143-0/+53
| | | | llvm-svn: 257768
* [LTO] Add a run of LoopUnrollJames Molloy2016-01-141-0/+5
| | | | | | Loop trip counts can often be resolved during LTO. We should obviously be unrolling small loops once those trip counts have been resolved, but we weren't. llvm-svn: 257767
* [ARM] Use the efficient version of BitVector::set and a static_assert.Benjamin Kramer2016-01-141-3/+2
| | | | | | No functional change intended. llvm-svn: 257766
* [Hexagon] Change all builtins returning "bool" to return "int" insteadKrzysztof Parzyszek2016-01-141-92/+92
| | | | llvm-svn: 257765
* [docs] Improve the documentation on committing code reviewed onDan Liew2016-01-142-17/+62
| | | | | | | | | | | | | | | | | | | | | | Phabricator to trunk. The previous documentation had a few issues: * It did not make it explicit that code could be committed without using the Arcanist tool and how this should be done. * There was also an implicit assumption on using Subversion rather than git-svn in the example using Arcanist. The documentation now explicitly mentions both cases and details how to commit to trunk in each case. Reviewers: klimek, probinson Subscribers: probinson, nwilson, reames, llvm-commits Differential Revision: http://reviews.llvm.org/D15801 llvm-svn: 257764
* clang-format: Fix incorrectly enforced linebreak with ColumnLimit 0.Daniel Jasper2016-01-142-1/+4
| | | | | | | | | | | Before: aaaa[bbbb] .cccc(); After: aaaa[bbbb].cccc(); llvm-svn: 257763
* [mips] Added support for -Wa,-mips32 and similar.Scott Egerton2016-01-142-1/+116
| | | | | | | | | | Reviewers: vkalintiris, dsanders Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15070 llvm-svn: 257762
* Update some XFAILs after the 3.8->3.9 version changeTamas Berghammer2016-01-142-2/+2
| | | | llvm-svn: 257761
* [tsan] Introduce a "ignore_interceptors_accesses" optionKuba Brecka2016-01-144-0/+78
| | | | | | | | On OS X, TSan already passes all unit and lit tests, but for real-world applications (even very simple ones), we currently produce a lot of false positive reports about data races. This makes TSan useless at this point, because the noise dominates real bugs. This introduces a runtime flag, "ignore_interceptors_accesses", off by default, which makes TSan ignore all memory accesses that happen from interceptors. This will significantly lower the coverage and miss a lot of bugs, but it eliminates most of the current false positives on OS X. Differential Revision: http://reviews.llvm.org/D15189 llvm-svn: 257760
* Fix ambiguous resolution of clang::ArrayType/llvm::ArrayType in ClangAstContextEwan Crawford2016-01-141-2/+2
| | | | | | | | | | Both llvm and clang have an ArrayType class, which can cause resolution to fail when llvm headers that are implicitly included name this type. source/Symbol/ClangASTContext.cpp has 'using namespace llvm;' and 'using namespace clang;' Author: Luke Drummond <luke.drummond@codeplay.com> Differential Revision: http://reviews.llvm.org/D16155 llvm-svn: 257759
* [tsan] Fix the value of PTHREAD_MUTEX_RECURSIVE for OS X and FreeBSDKuba Brecka2016-01-141-0/+5
| | | | | | | | The value of the constant PTHREAD_MUTEX_RECURSIVE is not "1" on FreeBSD and OS X. Differential Revision: http://reviews.llvm.org/D16075 llvm-svn: 257758
* Fix for armv7-a15 and thumbv7-a15 buildbot fails.Andrey Bokhanko2016-01-141-2/+2
| | | | llvm-svn: 257757
* Correct setting of UserLabelPrefix for MCU target.Andrey Bokhanko2016-01-142-0/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D16138 llvm-svn: 257756
* XFAIL TestCommandScriptImmediateOutput on LinuxTamas Berghammer2016-01-141-0/+1
| | | | llvm-svn: 257755
* PR25910: clang allows two var definitions with the same mangled nameAndrey Bokhanko2016-01-143-36/+134
| | | | | | | | | | | Proper diagnostic and resolution of mangled names' conflicts in variables. When there is a declaration and a definition using the same name but different types, we emit what is in the definition. When there are two conflicting definitions, we issue an error. Differential Revision: http://reviews.llvm.org/D15686 llvm-svn: 257754
* [ELF] - implemented --eh-frame-hdr command line option.George Rimar2016-01-1410-2/+418
| | | | | | | | | | | | | | --eh-frame-hdr Request creation of ".eh_frame_hdr" section and ELF "PT_GNU_EH_FRAME" segment header. Both gold and the GNU linker support an option --eh-frame-hdr which tell them to construct a header for all the .eh_frame sections. This header is placed in a section named .eh_frame_hdr and also in a PT_GNU_EH_FRAME segment. At runtime the unwinder can find all the PT_GNU_EH_FRAME segments by calling dl_iterate_phdr. This section contains a lookup table for quick binary search of FDEs. Detailed info can be found here: http://www.airs.com/blog/archives/462 Differential revision: http://reviews.llvm.org/D15712 llvm-svn: 257753
* InstructionsTest.cpp: Fix a warning. [-Wsign-compare]NAKAMURA Takumi2016-01-141-1/+1
| | | | llvm-svn: 257752
* Revert "Assert that we have all use/users in the getters."Michael Zolotukhin2016-01-147-96/+23
| | | | | | This reverts commit fdb838f3f8a8b6896bbbd5285555874eb3b748eb. llvm-svn: 257751
* [GlobalsAA] Relax condition in checking globals as args to functionsVaivaswatha Nagaraj2016-01-142-1/+70
| | | | | | | | | | | | | | | | | Summary: Since globals may escape as function arguments (even when they have been found to be non-escaping, because of optimizations such as memcpyoptimizer that replaces stores with memcpy), all arguments to a function are checked during query to make sure they are identifiable. At that time, also ensure we return a conservative result only if the arguments don't alias to our global. Reviewers: hfinkel, jmolloy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16140 llvm-svn: 257750
* AVX512: VMOVDQA32/64 (load) intrinsic implementation.Igor Breger2016-01-144-4/+145
| | | | | | Differential Revision: http://reviews.llvm.org/D16142 llvm-svn: 257749
* Rename local variable to avoid conflictXinliang David Li2016-01-141-5/+5
| | | | llvm-svn: 257748
* [UnitTest] Fix warning, NFC.Joseph Tremoulet2016-01-141-1/+1
| | | | | | Use an unsigned literal to avoid signedness mismatch in the compare. llvm-svn: 257747
* sync up with master fileXinliang David Li2016-01-141-1/+1
| | | | llvm-svn: 257746
* [OperandBundles] Copy DebugLoc with calls/invokesJoseph Tremoulet2016-01-143-3/+63
| | | | | | | | | | | | | | | | | Summary: The overloads of CallInst::Create and InvokeInst::Create that are used to adjust operand bundles purport to create a new instruction "identical in every way except [for] the operand bundles", so copy the DebugLoc along with everything else. Reviewers: sanjoy, majnemer Subscribers: majnemer, dblaikie, llvm-commits Differential Revision: http://reviews.llvm.org/D16157 llvm-svn: 257745
OpenPOWER on IntegriCloud