- 26 Jul, 2017 12 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308978 | fedor.sergeev | 2017-07-25 08:28:28 -0700 (Tue, 25 Jul 2017) | 16 lines [Sparc] invalid adjustments in TLS_LE/TLS_LDO relocations removed Summary: Some SPARC TLS relocations were applying nontrivial adjustments to zero value, leading to unexpected non-zero values in ELF and then Solaris linker failures. Getting rid of these adjustments. Fixes PR33825. Reviewers: rafael, asb, jyknight Subscribers: joerg, jyknight, llvm-commits Differential Revision: https://reviews.llvm.org/D35567 ``` --------------------------------------------------------------------- llvm-svn: 309187
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308808 | arsenm | 2017-07-21 16:56:13 -0700 (Fri, 21 Jul 2017) | 6 lines RA: Remove assert on empty live intervals This is possible if there is an undef use when splitting the vreg during spilling. Fixes bug 33620. ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r308813 | arsenm | 2017-07-21 17:24:01 -0700 (Fri, 21 Jul 2017) | 6 lines RA: Remove another assert on empty intervals This case is similar to the one fixed in r308808, except when rematerializing. Fixes bug 33884. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r308906 | arsenm | 2017-07-24 11:07:55 -0700 (Mon, 24 Jul 2017) | 6 lines RA: Replace asserts related to empty live intervals These don't exactly assert the same thing anymore, and allow empty live intervals with non-empty uses. Removed in r308808 and r308813. ------------------------------------------------------------------------ llvm-svn: 309171
-
Matt Arsenault authored
```--------------------------------------------------------------------- r308903 | arsenm | 2017-07-24 11:06:15 -0700 (Mon, 24 Jul 2017) | 5 lines AMDGPU: Fix allocating pseudo-registers There's no need for these to be part of a class since they are immediately replaced. New unreachable hit in existing tests.' ``` --------------------------------------------------------------------- llvm-svn: 309157
-
Hans Wennborg authored
```--------------------------------------------------------------------- r309147 | jroelofs | 2017-07-26 11:13:57 -0700 (Wed, 26 Jul 2017) | 4 lines Partial fix for PR33858 https://reviews.llvm.org/D35848 ``` --------------------------------------------------------------------- llvm-svn: 309150
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308871 | chill | 2017-07-24 02:19:32 -0700 (Mon, 24 Jul 2017) | 17 lines [libunwind] Handle .ARM.exidx tables without sentinel last entry UnwindCursor<A, R>::getInfoFromEHABISection assumes the last entry in the index table never corresponds to a real function. Indeed, GNU ld always inserts an EXIDX_CANTUNWIND entry, containing the end of the .text section. However, the EHABI specification (http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038b/IHI0038B_ehabi.pdf) does not seem to contain text that requires the presence of a sentinel entry. In that sense the libunwind implementation isn't compliant with the specification. This patch makes getInfoFromEHABISection examine the last entry in the index table if upper_bound returns the end iterator. Fixes https://bugs.llvm.org/show_bug.cgi?id=31091 Differential revision: https://reviews.llvm.org/D35265 ``` --------------------------------------------------------------------- llvm-svn: 309143
-
Hans Wennborg authored
```--------------------------------------------------------------------- r309058 | majnemer | 2017-07-25 16:33:58 -0700 (Tue, 25 Jul 2017) | 9 lines [CodeGen] Correctly model std::byte's aliasing properties std::byte, when defined as an enum, needs to be given special treatment with regards to its aliasing properties. An array of std::byte is allowed to be used as storage for other types. This fixes PR33916. Differential Revision: https://reviews.llvm.org/D35824 ``` --------------------------------------------------------------------- llvm-svn: 309135
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308950 | mstorsjo | 2017-07-24 22:20:01 -0700 (Mon, 24 Jul 2017) | 22 lines [AArch64] Reserve a 16 byte aligned amount of fixed stack for win64 varargs Create a dummy 8 byte fixed object for the unused slot below the first stored vararg. Alternative ideas tested but skipped: One could try to align the whole fixed object to 16, but I haven't found how to add an offset to the stack frame used in LowerWin64_VASTART. If only the size of the fixed stack object size is padded but not the offset, via MFI.CreateFixedObject(alignTo(GPRSaveSize, 16), -(int)GPRSaveSize, false), PrologEpilogInserter crashes due to "Attempted to reset backwards range!". This fixes misconceptions about where registers are spilled, since AArch64FrameLowering.cpp assumes the offset from fixed objects is aligned to 16 bytes (and the Win64 case there already manually aligns the offset to 16 bytes). This fixes cases where local stack allocations could overwrite callee saved registers on the stack. Differential Revision: https://reviews.llvm.org/D35720 ``` --------------------------------------------------------------------- llvm-svn: 309132
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308891 | d0k | 2017-07-24 09:18:09 -0700 (Mon, 24 Jul 2017) | 16 lines [CodeGenPrepare] Cut off FindAllMemoryUses if there are too many uses. This avoids excessive compile time. The case I'm looking at is Function.cpp from an old version of LLVM that still had the giant memcmp string matcher in it. Before r308322 this compiled in about 2 minutes, after it, clang takes infinite* time to compile it. With this patch we're at 5 min, which is still bad but this is a pathological case. The cut off at 20 uses was chosen by looking at other cut-offs in LLVM for user scanning. It's probably too high, but does the job and is very unlikely to regress anything. Fixes PR33900. * I'm impatient and aborted after 15 minutes, on the bug report it was killed after 2h. ``` --------------------------------------------------------------------- llvm-svn: 309131
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308824 | yamaguchi | 2017-07-22 05:35:15 -0700 (Sat, 22 Jul 2017) | 5 lines [Bash-autocompletion] Fixed typo and add '-' after -Wno Summary: -Wno-<warning> was autocompleted as -Wno<warning>, so fixed this typo. Differential Revision: https://reviews.llvm.org/D35762 ``` --------------------------------------------------------------------- llvm-svn: 309130
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308998 | nico | 2017-07-25 11:08:03 -0700 (Tue, 25 Jul 2017) | 7 lines lld: only write .manifest files if /manifest is passed, PR33925 Also emit an error if /manifestinput: is used without /manifest:embed. Increases compatibility with link.exe https://reviews.llvm.org/D35842 ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r309002 | nico | 2017-07-25 11:39:38 -0700 (Tue, 25 Jul 2017) | 6 lines Attempt to fix lld tests on Windows after 308998. The test used /manifestinput: without /manifest:embed, which isn't actually supported. Just remove this part of the test for now; if it's important to check this the llvm-readobj part should be extended to check this. ------------------------------------------------------------------------ llvm-svn: 309128
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308963 | rksimon | 2017-07-25 03:33:36 -0700 (Tue, 25 Jul 2017) | 1 line [X86] Add 24-byte memcmp tests (PR33914) ``` --------------------------------------------------------------------- ------------------------------------------------------------------------ r308986 | rksimon | 2017-07-25 10:04:37 -0700 (Tue, 25 Jul 2017) | 9 lines [X86][CGP] Reduce memcmp() expansion to 2 load pairs (PR33914) D35067/rL308322 attempted to support up to 4 load pairs for memcmp inlining which resulted in regressions for some optimized libc memcmp implementations (PR33914). Until we can match these more optimal cases, this patch reduces the memcmp expansion to a maximum of 2 load pairs (which matches what we do for -Os). This patch should be considered for the 5.0.0 release branch as well Differential Revision: https://reviews.llvm.org/D35830 ------------------------------------------------------------------------ llvm-svn: 309127
-
Hans Wennborg authored
```--------------------------------------------------------------------- r309115 | hahnfeld | 2017-07-26 06:55:00 -0700 (Wed, 26 Jul 2017) | 15 lines [CMake] Disable building libomptarget and add CMake switch Introduce OPENMP_ENABLE_LIBOMPTARGET which defaults to OFF at the moment. libomptarget is not yet ready for prime time: - Offloading to NVIDIA GPUs is not completed yet (compiler, device RTL) - The generic ELF plugin for offloading to the host (meant for testing) uses a single instance of the OpenMP runtime (libomp). That is why omp_is_initial_device() returns 1 which makes the tests fail. Because of these reasons, we want to disable building (and testing!) for release 5.0. See https://bugs.llvm.org/show_bug.cgi?id=33859 Differential Revision: https://reviews.llvm.org/D35719 ``` --------------------------------------------------------------------- llvm-svn: 309126
-
- 25 Jul, 2017 2 commits
-
-
Tom Stellard authored
```--------------------------------------------------------------------- r308912 | tstellar | 2017-07-24 15:28:30 -0400 (Mon, 24 Jul 2017) | 14 lines test-release.sh: Fix phase2 and phase3 binary comparision Summary: scudo_utils.cpp.o from compiler-rt has one of the host compiler's builtin include paths stored in the .debug_line section. So we need to do sed 's,Phase1,Phase2,g` on the Phase2 object file so it matches Phase3. Reviewers: hans Reviewed By: hans Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34989 ``` --------------------------------------------------------------------- llvm-svn: 309003
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308897 | nico | 2017-07-24 09:54:11 -0700 (Mon, 24 Jul 2017) | 9 lines Work around an MSVC2017 update 3 codegen bug. C2017 update 3 produces a clang that crashes when compiling clang. Disabling optimizations for StmtProfiler::VisitCXXOperatorCallExpr() makes the crash go away. Patch from Bruce Dawson <brucedawson@chromium.org>! https://reviews.llvm.org/D35757 ``` --------------------------------------------------------------------- llvm-svn: 308988
-
- 24 Jul, 2017 2 commits
-
-
Rui Ueyama authored
```--------------------------------------------------------------------- r308935 | tstellar | 2017-07-24 16:13:31 -0700 (Mon, 24 Jul 2017) | 13 lines Fix ObjCPass on big-endian host Summary: This fixes test/mach-o/objc-image-info-pass-output.yaml on big-endian hosts. Reviewers: lhames, kledzik, ruiu Reviewed By: ruiu Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35052 ``` --------------------------------------------------------------------- llvm-svn: 308937
-
Rui Ueyama authored
Pointed out by Nico Weber. llvm-svn: 308934
-
- 22 Jul, 2017 1 commit
-
-
Craig Topper authored
llvm-svn: 308831
-
- 21 Jul, 2017 8 commits
-
-
Rui Ueyama authored
```--------------------------------------------------------------------- r308492 | rafael | 2017-07-19 09:45:05 -0700 (Wed, 19 Jul 2017) | 20 lines Bring back r307364. In addition this includes a change to prefer symbols with a default version @@ over unversioned symbols. Original commit message: [ELF] - Handle symbols with default version early. This fixes last testcase provided in PR28414. In short issue is next: when we had X@@Version symbol in object A, we did not resolve it to X early. Then when in another object B we had reference to undefined X, symbol X from archive was fetched. Since both archive and object A contains another symbol Z, duplicate symbol definition was triggered as a result. Correct behavior is to use X@@Version from object A instead and do not fetch any symbols from archive. Differential revision: https://reviews.llvm.org/D35059 ``` --------------------------------------------------------------------- llvm-svn: 308788
-
Rui Ueyama authored
```--------------------------------------------------------------------- r308728 | ikudrin | 2017-07-21 04:26:08 -0700 (Fri, 21 Jul 2017) | 3 lines [ELF] Avoid data race in ObjectFile<ELFT>::getDILineInfo(). Differential Revision: https://reviews.llvm.org/D35537 ``` --------------------------------------------------------------------- llvm-svn: 308786
-
Rui Ueyama authored
llvm-svn: 308778
-
Hans Wennborg authored
llvm-svn: 308730
-
Hans Wennborg authored
I ran: $ bin/clang-tblgen -gen-opt-docs -I../cfe.src/include \ -I../cfe.src/include/clang/Driver -I../llvm.src/include \ ../cfe.src/include/clang/Driver/ClangOptionDocs.td \ -o ../cfe.src/docs/ClangCommandLineReference.rst llvm-svn: 308720 -
Hans Wennborg authored
```--------------------------------------------------------------------- r308503 | davide | 2017-07-19 11:09:46 -0700 (Wed, 19 Jul 2017) | 3 lines [X86] Don't try to scale down if that exceeds the bitwidth. Fixes the crash reported in PR33844. ``` --------------------------------------------------------------------- llvm-svn: 308718
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308512 | pfaffe | 2017-07-19 12:20:58 -0700 (Wed, 19 Jul 2017) | 4 lines [CMake] Fix r307650: Readd missing dependency. The commit erroneously removed the dependency of the Polly tests on things like opt and FileCheck. Add that dependency back. ``` --------------------------------------------------------------------- llvm-svn: 308717
-
Rui Ueyama authored
llvm-svn: 308700
-
- 20 Jul, 2017 2 commits
-
-
Hans Wennborg authored
llvm-svn: 308628
-
Hans Wennborg authored
llvm-svn: 308627
-
- 19 Jul, 2017 13 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308484 | hans | 2017-07-19 08:06:31 -0700 (Wed, 19 Jul 2017) | 1 line Defeat another -Wunused-but-set-variable warning ``` --------------------------------------------------------------------- llvm-svn: 308488
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308483 | hans | 2017-07-19 08:03:38 -0700 (Wed, 19 Jul 2017) | 12 lines Defeat a GCC -Wunused-result warning It was warning like: ../llvm-project/llvm/lib/Support/ErrorHandling.cpp:172:51: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result] (void)::write(2, OOMMessage, strlen(OOMMessage)); Work around the warning by storing the return value in a variable and casting that to void instead. We already did this for the other write() call in this file. ``` --------------------------------------------------------------------- llvm-svn: 308487 -
Matt Arsenault authored
Note speculatable and alloca address space change. llvm-svn: 308482
-
Hans Wennborg authored
$ bin/clang-tblgen -gen-attr-docs -I../cfe.src/include \ ../cfe.src/include/clang/Basic/Attr.td \ -o ../cfe.src/docs/AttributeReference.rst llvm-svn: 308481 -
Hans Wennborg authored
llvm-svn: 308472
-
Hans Wennborg authored
llvm-svn: 308471
-
Hans Wennborg authored
llvm-svn: 308470
-
Hans Wennborg authored
llvm-svn: 308469
-
Hans Wennborg authored
```--------------------------------------------------------------------- r308455 | hans | 2017-07-19 05:31:01 -0700 (Wed, 19 Jul 2017) | 16 lines Revert r308441 "Recommit r308327: Add a warning for missing '#pragma pack (pop)' and suspicious uses of '#pragma pack' in included files" This seems to have broken the sanitizer-x86_64-linux buildbot. Reverting until it's fixed, especially since this landed just before the 5.0 branch. > This commit adds a new -Wpragma-pack warning. It warns in the following cases: > > - When a translation unit is missing terminating #pragma pack (pop) directives. > - When entering an included file if the current alignment value as determined > by '#pragma pack' directives is different from the default alignment value. > - When leaving an included file that changed the state of the current alignment > value. > > rdar://10184173 > > Differential Revision: https://reviews.llvm.org/D35484 ``` --------------------------------------------------------------------- llvm-svn: 308457
-
Hans Wennborg authored
llvm-svn: 308454 llvm-svn: 308453 llvm-svn: 308452 llvm-svn: 308451 llvm-svn: 308450 llvm-svn: 308449 llvm-svn: 308448 llvm-svn: 308447 llvm-svn: 308446 llvm-svn: 308444 llvm-svn: 308443
-
Alex Lorenz authored
and suspicious uses of '#pragma pack' in included files This commit adds a new -Wpragma-pack warning. It warns in the following cases: - When a translation unit is missing terminating #pragma pack (pop) directives. - When entering an included file if the current alignment value as determined by '#pragma pack' directives is different from the default alignment value. - When leaving an included file that changed the state of the current alignment value. rdar://10184173 Differential Revision: https://reviews.llvm.org/D35484 llvm-svn: 308441
-
Tobias Grosser authored
This was an oversight in the previous commit. Michael already suggested this beforehand. llvm-svn: 308440
-
NAKAMURA Takumi authored
The builder clang-x86_64-linux-selfhost-modules-2 complains. Investigating. llvm-svn: 308439
-