- Feb 03, 2018
-
-
David Green authored
This, in instcombine, allows conversions to i8/i16/i32 (very common cases) even if the resulting type is not legal according to the data layout. This can often open up extra combine opportunities. Differential Revision: https://reviews.llvm.org/D42424 llvm-svn: 324174
-
Sander de Smalen authored
Fixed build issue when building with g++-4.8 (specialization after instantiation). llvm-svn: 324173
-
Alex Bradbury authored
From the discussion in D41835 it looks possible the change will be backed out, but for now let's fix the RISCV tests. llvm-svn: 324172
-
Simon Pilgrim authored
llvm-svn: 324171
-
Alex Bradbury authored
Previously, RISCV32TargetInfo or RISCV64TargetInfo were created unconditionally. Use LinuxTargetInfo<RISCV??TargetInfo> to ensure that the proper OS-specific defines are present. This patch only adds logic to instantiate LinuxTargetInfo and leaves a TODO, as I'm reluctant to add logic for other targets (e.g. FreeBSD, RTEMS) until I've produced and tested at least one binary for that OS+target combo. Thanks to @mgrang to reporting the issue. llvm-svn: 324170
-
Michael Kruse authored
Splitting basic blocks into multiple statements if there are now additional scalar dependencies gives more freedom to the scheduler, but more statements also means higher compile-time complexity. Switch to finer statement granularity, the additional compile time should be limited by the number of operations quota. The regression tests are written for the -polly-stmt-granularity=bb setting, therefore we add that flag to those tests that break with the new default. Some of the tests only fail because the statements are named differently due to a basic block resulting in multiple statements, but which are removed during simplification of statements without side-effects. Previous commits tried to reduce this effect, but it is not completely avoidable. Differential Revision: https://reviews.llvm.org/D42151 llvm-svn: 324169
-
Michael Kruse authored
Do not add a "_last" suffix to the statement name if there is no (other) main statement for a basic block. In other words, it becomes the main statement itself. This further reduces the statement naming difference between -polly-stmt-granularity=bb and -polly-stmt-granularity=scalar-indep. llvm-svn: 324168
-
Artem Dergachev authored
Due to Buildbot failures - most likely that's because target triples were not specified in the tests, even though the checker behaves differently with different target triples. llvm-svn: 324167
-
Artem Dergachev authored
This is a security check which is disabled by default but will be enabled whenever the user consciously enables the security package. If mmap()ed memory is both writable and executable, it makes it easier for the attacker to execute arbitrary code when contents of this memory are compromised. Some applications require such mmap()s though, such as different sorts of JIT. Patch by David Carlier! Differential Revision: https://reviews.llvm.org/D42645 llvm-svn: 324166
-
Eric Fiselier authored
llvm-svn: 324165
-
Eric Fiselier authored
When Clang encounters an already invalid class declaration, it can emit incorrect diagnostics about the exception specification on some of its members. This patch temporarily works around that incorrect diagnostic. The clang bug was introduced in r324062. llvm-svn: 324164
-
Evgeniy Stepanov authored
Reviewers: kcc Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D42874 llvm-svn: 324163
-
George Karpenkov authored
[analyzer] Do not infer nullability inside function-like macros, even when macro is explicitly returning NULL We already suppress such reports for inlined functions, we should then get the same behavior for macros. The underlying reason is that the same macro, can be called from many different contexts, and nullability can only be expected in _some_ of them. Assuming that the macro can return null in _all_ of them sometimes leads to a large number of false positives. E.g. consider the test case for the dynamic cast implementation in macro: in such cases, the bug report is unwanted. Tracked in rdar://36304776 Differential Revision: https://reviews.llvm.org/D42404 llvm-svn: 324161
-
Richard Smith authored
We could in principle support such pack expansion, using techniques similar to what we do for pack expansion of lambdas, but it's not clear it's worthwhile. For now at least, cleanly reject these cases rather than crashing. llvm-svn: 324160
-
Jason Molenda authored
in debugserver. This is already set this way in the lldb project files but not in debugserver. Updating for consistency. llvm-svn: 324158
-
- Feb 02, 2018
-
-
Sam Clegg authored
Group all synthetic symbols in the in single struct to match the ELF linker. This change is part of a larger change to add more linker symbols such as `_end` and `_edata`. Differential Revision: https://reviews.llvm.org/D42866 llvm-svn: 324157
-
Jason Molenda authored
into a std::string so we don't run off the end of the array when there is no nul byte in ProcessElfCore::parseLinuxNotes. Found with ASAN testing. <rdar://problem/37134319> Differential revision: https://reviews.llvm.org/D42828 llvm-svn: 324156
-
Rui Ueyama authored
llvm-svn: 324155
-
Rui Ueyama authored
llvm-svn: 324154
-
Eric Fiselier authored
Clang previously reported an empty union as having a unique object representation. This was incorrect and was fixed in a recent Clang commit. This patch fixes the libc++ tests. llvm-svn: 324153
-
Richard Smith authored
We want to check that we can assign to an lvalue here, not a prvalue. llvm-svn: 324152
-
Richard Smith authored
parsing a trailing-return-type of a (function pointer) variable declaration. llvm-svn: 324151
-
Rui Ueyama authored
GNU linkers have this option. Differential Revision: https://reviews.llvm.org/D42858 llvm-svn: 324150
-
Daniel Neilson authored
Summary: Small NFC change to change the name of the function used getting and setting the alignment of a memset. llvm-svn: 324148
-
Craig Topper authored
This is running pre-legalize, we should try to use target independent nodes. This will give the best opportunity for target independent optimizations. llvm-svn: 324147
-
Rui Ueyama authored
Differential Revision: https://reviews.llvm.org/D42823 llvm-svn: 324146
-
Rui Ueyama authored
Differential Revision: https://reviews.llvm.org/D42865 llvm-svn: 324145
-
Sanjay Patel authored
Without extra instructions and uses, swapMayExposeCSEOpportunities() would change the icmp (as seen in the check lines), so we were not actually testing patterns that should be handled by D41480. llvm-svn: 324143
-
James Dennett authored
llvm-svn: 324142
-
Rui Ueyama authored
Differential Revision: https://reviews.llvm.org/D42859 llvm-svn: 324141
-
Kuba Mracek authored
Use NULL instead of nullptr in invalid-pointer-pairs-compare-null.cc; nullptr is not available on older Darwin systems. llvm-svn: 324136
-
Craig Topper authored
llvm-svn: 324135
-
Eric Fiselier authored
Summary: Clang incorrectly reports empty unions as having a unique object representation. However, this is not correct since `sizeof(EmptyUnion) == 1` AKA it has 8 bits of padding. Therefore it should be treated the same as an empty struct and report `false`. @erichkeane also suggested this fix should be merged into the 6.0 release branch, so the initial release of `__has_unique_object_representations` is as bug-free as possible. Reviewers: erichkeane, rsmith, aaron.ballman, majnemer Reviewed By: erichkeane Subscribers: cfe-commits, erichkeane Differential Revision: https://reviews.llvm.org/D42863 llvm-svn: 324134
-
James Dennett authored
llvm-svn: 324133
-
Matt Morehouse authored
libprotobuf-mutator accepts protobufs with missing fields, which means clang-proto-fuzzer does as well. clang-proto-to-cxx should match this behavior. llvm-svn: 324132
-
Ben Hamilton authored
Summary: This is an alternative approach to D42014 after some investigation by stephanemoore@ and myself. Previously, the format parameter `BinPackParameters` controlled both C function parameter list bin-packing and Objective-C protocol conformance list bin-packing. We found in the Google style, some teams were changing `BinPackParameters` from its default (`true`) to `false` so they could lay out Objective-C protocol conformance list items one-per-line instead of bin-packing them into as few lines as possible. To allow teams to use one-per-line Objective-C protocol lists without changing bin-packing for other areas like C function parameter lists, this diff introduces a new LibFormat parameter `ObjCBinPackProtocolList` to control the behavior just for ObjC protocol conformance lists. The new parameter is an enum which defaults to `Auto` to keep the previous behavior (delegating to `BinPackParameters`). Depends On D42649 Test Plan: New tests added. make -j12 FormatTests && ./tools/clang/unittests/Format/FormatTests Reviewers: jolesiak, stephanemoore, djasper Reviewed By: stephanemoore Subscribers: Wizard, hokein, cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D42650 llvm-svn: 324131
-
Craig Topper authored
[X86] Add avx512 command line to ptest.ll to demonstrate that 512-bit vectors are not handled by LowerVectorAllZeroTest. llvm-svn: 324130
-
Craig Topper authored
Partially revert r324124 [X86] Add tests for missed opportunities to use ptest for all ones comparison. Turns out I misunderstood the flag behavior of PTEST because I read the documentation for KORTEST which is different than PTEST/KTEST and made a bad assumption. Keep the test rename though cause that's useful. llvm-svn: 324129
-
Eric Fiselier authored
Summary: Previously, Clang only emitted label names in assert builds. However there is a CC1 option -discard-value-names that should have been used to control emission instead. This patch removes the NDEBUG preprocessor block and instead allows LLVM to handle removing the names in accordance with the option. Reviewers: erichkeane, aaron.ballman, majnemer Reviewed By: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D42829 llvm-svn: 324127
-
Kuba Mracek authored
The "sleep(5)" sometimes times out on our bots, causing the test to fail. Let's use pthread_join. Differential Revision: https://reviews.llvm.org/D42862 llvm-svn: 324126
-