- May 14, 2015
-
-
Adam Nemet authored
llvm-svn: 237359
-
Adam Nemet authored
Summary: This implements the initial version as was proposed earlier this year (http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-January/080462.html). Since then Loop Access Analysis was split out from the Loop Vectorizer and was made into a separate analysis pass. Loop Distribution becomes the second user of this analysis. The pass is off by default and can be enabled with -enable-loop-distribution. There is currently no notion of profitability; if there is a loop with dependence cycles, the pass will try to split them off from other memory operations into a separate loop. I decided to remove the control-dependence calculation from this first version. This and the issues with the PDT are actively discussed so it probably makes sense to treat it separately. Right now I just mark all terminator instruction required which keeps identical CFGs for each distributed loop. This seems to be working pretty well for 456.hmmer where even though there is an empty if-then block in the distributed loop initially, it gets completely removed. The pass keeps DominatorTree and LoopInfo updated. I've tested this with -loop-distribute-verify with the testsuite where we distribute ~90 loops. SimplifyLoop is violated in some cases and I have a FIXME covering this. Reviewers: hfinkel, nadav, aschwaighofer Reviewed By: aschwaighofer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8831 llvm-svn: 237358
-
Michael Kuperstein authored
llvm-svn: 237357
-
Toma Tabacu authored
Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9295 llvm-svn: 237356
-
Toma Tabacu authored
Summary: If we only pass the necessary operands, we don't have to determine the position of the symbol operand when entering expandLoadAddressSym(). This simplifies the expandLoadAddressSym() code. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9291 llvm-svn: 237355
-
Vladimir Sukharev authored
Reviewers: echristo Subscribers: llvm-commits Follow-up to: http://reviews.llvm.org/D8496#158595 Relates to: http://reviews.llvm.org/rL235089 llvm-svn: 237354
-
Elena Demikhovsky authored
i1 type is a legal type on AVX-512 and can be passed as parameter or return value. i1 is promoted to i8 on return and to i32 for call arguments (i8 is also promoted to i32 here). The result code is similar to the previous X86 targets, where i1 is allways promoted to i8. llvm-svn: 237350
-
Vladimir Sukharev authored
Add support for ARMv8.1a architecture. Briefly it is described on http://community.arm.com/groups/processors/blog/2014/12/02/the-armv8-a-architecture-and-its-ongoing-development Reviewers: jmolloy, rengolin Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D8799 llvm-svn: 237349
-
Kevin Qin authored
This fixes PR23414 as well. llvm-svn: 237348
-
NAKAMURA Takumi authored
FIXME: Do we really emit single \ or escaped \\ along the context with -fms-compatibility -MG? llvm-svn: 237347
-
Yaron Keren authored
Complains: /home/buildbots/sanitizerslave1/sanitizer-ppc64-1/build/llvm/tools/clang/tools/c-index-test/c-index-test.c:829:30: error: format specifies type 'long' but the argument has type 'long long' [-Werror,-Wformat] I, TAK, clang_Cursor_getTemplateArgumentValue(Cursor, I)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I'm not sure now how this should be fixed. %lld is non-standard and not accepted by mingw on Windows while PRId64 is bad for this bot. Is long long longer than 64 bits here? if not, why is PRId64 incompatible with it? something seems wrong. Probably all the datatypes should be replaced to unsigned or uint64_t depending upin requirements instead of the non standard long long. llvm-svn: 237346
-
Justin Bogner authored
Found by ubsan. This was taking a bool and left shifting by 32 - the result is 64 bit, so we should really do the math in a type it fits in. llvm-svn: 237345
-
David Majnemer authored
llvm-svn: 237344
-
Craig Topper authored
[TableGen] Remove an unnecessary outer 'if' around 3 separate inner ifs. No functional change intended. The outer if had 3 separate conditions ORed together and then the inner ifs detected which of the three conditions it was by using only a portion of the specific condition. Just put the whole condition in each inner if and remove the outer if. llvm-svn: 237343
-
Craig Topper authored
llvm-svn: 237342
-
Craig Topper authored
[TableGen] Remove ListInit::size() in favor of getSize() which does the same thing and is already used in most places. NFC. llvm-svn: 237341
-
Craig Topper authored
[TableGen] Replace some calls to ListInit::getSize() with ListInit::empty() if it was just comparing to 0. NFC. llvm-svn: 237340
-
Yaron Keren authored
See also r180024. llvm-svn: 237339
-
David Majnemer authored
llvm-svn: 237338
-
David Majnemer authored
MSVC 2015 changed __declspec(thread) to make it behave like C++11's thread_local keyword instead of acting similarly to __thread. llvm-svn: 237337
-
David Majnemer authored
Just use getAttr because we are interested in the attribute's contents. llvm-svn: 237336
-
David Majnemer authored
llvm-svn: 237335
-
Justin Bogner authored
llvm-svn: 237334
-
NAKAMURA Takumi authored
clang/test/Frontend/dependency-gen-escaping.c: Tweak r237296, to let '/' and '\\' distinguishd, to unbreak "--host=linux --target=msvc". llvm-svn: 237333
-
Richard Smith authored
This, in preparation for the introduction of more new keywords in the implementation of the C++ language, generalizes the support for future keyword compat diagnostics (e.g., diag::warn_cxx11_keyword) by extending the applicability of the relevant property in IdentifierTable with appropriate renaming. Patch by Hubert Tong! llvm-svn: 237332
-
Richard Smith authored
llvm-svn: 237331
-
Ahmed Bougacha authored
Kernel side of r237329. llvm-svn: 237330
-
Ahmed Bougacha authored
Follow-up to r237161, modeled after r236805. Note that arm64 is omitted on purpose, as the conversions are supported natively there. llvm-svn: 237329
-
Siva Chandra authored
Summary: One cannot use mknod or mkfifo on user Android devices. This commit changes the use of pipe to a file to synchronize between the inferior and the test. Test Plan: dotest.py -P TestAttachDenied Reviewers: ovyalov, chaoren Reviewed By: chaoren Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D9768 llvm-svn: 237328
-
Andy Ayers authored
Differential Revision: http://reviews.llvm.org/D9692 llvm-svn: 237327
-
Richard Smith authored
llvm-svn: 237326
-
Richard Smith authored
llvm-svn: 237325
-
Ahmed Bougacha authored
Other targets probably should as well. Since r237161, compiler-rt has both, but I don't see why anything other than gnueabi would use a gnueabi naming scheme. llvm-svn: 237324
-
Ahmed Bougacha authored
Follow-up to r237161; seems like we can't use aliases, but we can do better than duplicating the bodies, especially when that body, after inlining, isn't as small as it looks. Better approaches welcome. Perhaps the best thing is just to have an #ifndef __APPLE__ over the GNUEABI names, since they're not used there. llvm-svn: 237323
-
Enrico Granata authored
Implement an objc tagged-pointer info command that will provide information about what LLDB thinks an ObjC tagged pointer represents llvm-svn: 237322
-
Richard Smith authored
xmmintrin.h includes emmintrin.h and vice versa if SSE2 is enabled. We break this cycle for a modules build, and instead make the xmmintrin.h module re-export the immintrin.h module. Also included is a fix for an assert in the serialization code if a module exports another module that was declared later in the same module map. llvm-svn: 237321
-
Richard Smith authored
llvm-svn: 237320
-
Vince Harron authored
llvm-svn: 237319
-
Nick Lewycky authored
llvm-svn: 237317
-
Ed Maste authored
llvm-svn: 237315
-