summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Removed a redundant function call after review.Sean Callanan2016-01-141-2/+0
| | | | llvm-svn: 257818
* Remove XFAIL:win32 from a test which does not fail on win32.Rui Ueyama2016-01-141-1/+0
| | | | | | | This test uses a regexp so that it matches both Unix output and Windows output. llvm-svn: 257817
* [Orc] Add support for EH-frame registration to the Orc Remote Target utilityLang Hames2016-01-149-20/+168
| | | | | | | | | classes. OrcRemoteTargetClient::RCMemoryManager will now register EH frames with the server automatically. This allows remote-execution of code that uses exceptions. llvm-svn: 257816
* [Hexagon] Use S2_lsr_i_r instead of S2_extractu to obtain upper halfwordKrzysztof Parzyszek2016-01-142-3/+15
| | | | llvm-svn: 257815
* Add handleLoadedFile hook to the context.Pete Cooper2016-01-145-27/+82
| | | | | | | | | | | | | | This is called from the resolver on each file we decide we actually want to use. Future commits will make use of this to extract useful information from the files and do error checking against the context. For example, ensure that files are the same arch as each other. Reviewed by Lang Hames. Differential Revision: http://reviews.llvm.org/D16093 llvm-svn: 257814
* [codeview] Dump function callees and add more labels to inlinee infoReid Kleckner2016-01-141-8/+26
| | | | | | | I kept forgetting which number is the line delta and which is the code delta. llvm-svn: 257813
* Enable the use of modules in the expression parser by default.Sean Callanan2016-01-143-3/+38
| | | | | | | | | | If your program refers to modules (as indicated in DWARF) we will now try to load these modules and give you access to their types in expressions. This used to be gated by a setting ("settings set target.auto-import-clang-modules true") but that setting defaulted to false. Now it defaults to true -- but you can disable it by toggling the setting to false. llvm-svn: 257812
* [Hexagon] Handle HVX registers in bit simplificationKrzysztof Parzyszek2016-01-141-0/+6
| | | | llvm-svn: 257811
* [CUDA] Add test for compiling CUDA code with -S.Justin Lebar2016-01-141-0/+29
| | | | | | | | | | Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D16081 llvm-svn: 257810
* [CUDA] Invoke ptxas and fatbinary during compilation.Justin Lebar2016-01-1416-40/+315
| | | | | | | | | | | | | | | | | | | | Summary: Previously we compiled CUDA device code to PTX assembly and embedded that asm as text in our host binary. Now we compile to PTX assembly and then invoke ptxas to assemble the PTX into a cubin file. We gather the ptx and cubin files for each of our --cuda-gpu-archs and combine them using fatbinary, and then embed that into the host binary. Adds two new command-line flags, -Xcuda_ptxas and -Xcuda_fatbinary, which pass args down to the external tools. Reviewers: tra, echristo Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D16082 llvm-svn: 257809
* Don't build jobs for the same Action + ToolChain twice.Justin Lebar2016-01-142-15/+51
| | | | | | | | | | | | | | | Summary: Right now if the Action graph is a DAG and we encounter an action twice, we will run it twice. This patch is difficult to test as-is, but I have testcases for this as used within CUDA compilation. Reviewers: Subscribers: llvm-svn: 257808
* [CUDA] Add tests for compiling CUDA files with -E.Justin Lebar2016-01-141-0/+32
| | | | | | | | | | Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D16080 llvm-svn: 257807
* [ELF][MIPS] Create dynamic relocations for R_MIPS_32/64 relocationsSimon Atanasyan2016-01-142-6/+26
| | | | llvm-svn: 257806
* [Packetizer] Code cleanup, NFCKrzysztof Parzyszek2016-01-142-91/+86
| | | | llvm-svn: 257805
* Update to use new name alignTo().Rui Ueyama2016-01-1448-137/+126
| | | | llvm-svn: 257804
* Handle offsets larger than 32 bits.Rafael Espindola2016-01-141-2/+4
| | | | | | | David Majnemer noticed that it was not obvious what the behavior would be if B.Offset - A.Offset could not fit in an int. llvm-svn: 257803
* Update for LLVM function name change.Rui Ueyama2016-01-1422-226/+214
| | | | llvm-svn: 257802
* Update for LLVM function name change.Rui Ueyama2016-01-1414-66/+53
| | | | llvm-svn: 257801
* [SLP] Vectorize the index computations of getelementptr instructions.Matthew Simpson2016-01-143-41/+586
| | | | | | | | | | | | | | | This patch seeds the SLP vectorizer with getelementptr indices. The primary motivation in doing so is to vectorize gather-like idioms beginning with consecutive loads (e.g., g[a[0] - b[0]] + g[a[1] - b[1]] + ...). While these cases could be vectorized with a top-down phase, seeding the existing bottom-up phase with the index computations avoids the complexity, compile-time, and phase ordering issues associated with a full top-down pass. Only bundles of single-index getelementptrs with non-constant differences are considered for vectorization. Differential Revision: http://reviews.llvm.org/D14829 llvm-svn: 257800
* [Support] Rename RoundUpToAlignment -> alignTo.Rui Ueyama2016-01-141-10/+14
| | | | | | | | | | | | | | | | | Rounding up an integer m to a nearest multiple of n where n is a power of 2 is used very often if you are writing code to emit binary files. RoundUpToAlignment is a small function to do that. But we found that the function has a small but annoying issue; the name is a bit too long. Because it is used quite often, that hurts readability. This patch is to rename the function. The original name is kept as a forwarder, so that submitting this patch won't immediately break Clang and other LLVM projects. Once I update all occurrences of RoundUpToAlignment, I'll remove the old name entirely. http://reviews.llvm.org/D16162 llvm-svn: 257799
* [ELF][MIPS] Ignore 'hint' relocations like R_MIPS_JALR in the `scanRelocs` ↵Simon Atanasyan2016-01-144-0/+21
| | | | | | | | | | | | | | | | method MIPS ABI has relocations like R_MIPS_JALR which is just a hint for linker to make some code optimization. Such relocations should not be handled as a regular ones and lead to say dynamic relocation creation. The patch introduces new virtual `Target::isHintReloc` method, overrides it in the `MipsTargetInfo` class and calls it in the `Writer<ELFT>::scanRelocs` method. Differential Revision: http://reviews.llvm.org/D16193 llvm-svn: 257798
* Revert r257753: "[ELF] - implemented --eh-frame-hdr command line option."Rui Ueyama2016-01-1410-418/+2
| | | | | | This reverts commit r257753 because we cannot link Clang with this patch. llvm-svn: 257797
* Assert that a cmp function defines a total order.Rafael Espindola2016-01-141-3/+2
| | | | | | Thanks to David Blaikie for noticing it. llvm-svn: 257796
* [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
OpenPOWER on IntegriCloud