- Jan 20, 2017
-
-
Eric Fiselier authored
r292564 disabled the aligned new/delete overloads on platforms without posix_memalign. Unfortunately that patch also disabled the align_val_t definition in C++17 as well. This patch causes align_val_t to be exposed in C++17 regardless of if we have the new/delete overloads. llvm-svn: 292582
-
Mohammad Shahid authored
Change-Id: I905ce08a02c76a6896dcfd9629547417c99adc4a llvm-svn: 292581
-
Saleem Abdulrasool authored
llvm-svn: 292580
-
Saleem Abdulrasool authored
Fix a silly copy-paste error in the tool description. Take the opportunity to add crash stack printing which will hopefully never be needed. llvm-svn: 292579
-
Peter Collingbourne authored
If two sections contained relocations to absolute symbols with the same value we would crash when trying to access their sections. Add a check that both symbols point to sections before accessing their sections, and treat absolute symbols as equal if their values are equal. Differential Revision: https://reviews.llvm.org/D28935 llvm-svn: 292578
-
Eric Fiselier authored
llvm-svn: 292577
-
Saleem Abdulrasool authored
By default c++filt demangles functions, though you can optionally pass `-t` to have it decode types as well, behaving nearly identical to `__cxa_demangle`. Add support for this mode. llvm-svn: 292576
-
Matthias Braun authored
Calling reset() on an empty BitVector would call memset with a nullptr argument which is undefined behaviour. This should fix the sanitizer bot. llvm-svn: 292575
-
Matthias Braun authored
This seems to be breaking some bots. This reverts commit r292543. llvm-svn: 292574
-
Saleem Abdulrasool authored
This reverts SVN r286795. This was incorrect the demangler is expected to be able to demangle types as well as functions. This makes the behaviour of itaniumDemangle similar to __cxa_demangle once more. llvm-svn: 292573
-
Haicheng Wu authored
This reverts commit r292570. The test still has problem. llvm-svn: 292572
-
Jordan Rose authored
The AST printer was dropping attributes on enumerators (enum constants). Now it's not. llvm-svn: 292571
-
Haicheng Wu authored
This recommits r292526 which is reverted in r292529 after fixing the test case. The original summary: Currently, a GEP is considered free only if its indices are all constant. TTI::getGEPCost() can give target-specific more accurate analysis. TTI is already used for the cost of many other instructions. llvm-svn: 292570
-
Chandler Carruth authored
loops in a function. These are relatively confusing to talk about and compute correctly so it seems really good to write down their implementation in one place. I've replaced one place we needed this in the loop PM infrastructure and I have another place in a pending patch that wants it. We can't quite use this for the core loop PM walk because there we're sometimes working on a sub-forest. I'll add the expected unittests before committing this but wanted to make sure folks were happy with these names / comments. Credit goes to Richard Smith for the idea for naming the order where siblings are in reverse program order but the tree traversal remains preorder. Differential Revision: https://reviews.llvm.org/D28932 llvm-svn: 292569
-
Greg Parker authored
llvm-svn: 292568
-
Greg Parker authored
llvm-svn: 292567
-
Eric Fiselier authored
Summary: This patch disables the aligned new/delet overloads on Apple platforms without `posix_memalign`. This fixes libc++.dylib build regressions on such platforms. This fixes http://llvm.org/PR31448. This patch should also be merged into the 4.0 release branch Reviewers: mclow.lists, rsmith, dexonsmith, jeremyhu Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28931 llvm-svn: 292564
-
Ahmed Bougacha authored
It's incorrect to ignore the higher bits of the integer source. Teach the legalizer how to widen it. llvm-svn: 292563
-
Antonio Maiorano authored
This fixes clang-format not formatting if fallback-style is explicitly set to "none", and either a config file is found or YAML is passed in without a "BasedOnStyle". With this change, passing "none" in these cases will have no affect, and LLVM style will be used as the base style. Differential Revision: https://reviews.llvm.org/D28844 llvm-svn: 292562
-
Richard Smith authored
don't know we're in a dependent context. llvm-svn: 292561
-
Eric Fiselier authored
This patch is cleanup to prepare for future changes llvm-svn: 292560
-
Richard Smith authored
llvm-svn: 292559
-
Richard Smith authored
llvm-svn: 292558
-
Eric Fiselier authored
The check-cxx-abilist rule uses TARGET_TRIPLE to determine which ABI list to check. However the triple on Apple contains the darwin version which changes frequently, but libc++ doesn't need different ABI lists for each darwin version. This patch strips the minor version and patchlevel from TARGET_TRIPLE before using it to determine the ABI list. llvm-svn: 292557
-
Michael Kuperstein authored
Another difference in type pretty-printing, this one windows-specific. llvm-svn: 292556
-
Richard Smith authored
by providing a memchr builtin that returns char* instead of void*. Also add a __has_feature flag to indicate the presence of constexpr forms of the relevant <string> functions. llvm-svn: 292555
-
Stanislav Mekhanoshin authored
Inline spiller can decide to move a spill as early as possible in the basic block. It will skip phis and label, but we also need to make sure it skips instructions in the basic block prologue which restore exec mask. Added isPositionLike callback in TargetInstrInfo to detect instructions which shall be skipped in addition to common phis, labels etc. Differential Revision: https://reviews.llvm.org/D27997 llvm-svn: 292554
-
Justin Bogner authored
The logic in r292461 is conservatively correct, but we should revisit this later. Add a TODO so we don't forget. llvm-svn: 292553
-
Ahmed Bougacha authored
Big functions with large vreg # are quite unwieldy to update. Change it to have one function per test (it does increase boilerplate, but makes the core hopefully more readable and maintanable). llvm-svn: 292552
-
Ahmed Bougacha authored
Big functions with large vreg # are quite unwieldy to update. This test also relied on legal s8 operations which we're considering removing. Change it to have one function per test (it does increase boilerplate, but makes the core hopefully more readable and maintanable), and use 100% legal operations throughout. llvm-svn: 292551
-
Ahmed Bougacha authored
This completes r292321 by adding support for generic registers, e.g.: %2:_(s32) = G_ADD %0, %1 llvm-svn: 292550
-
Kuba Mracek authored
Running lit tests and unit tests of ASan and TSan on macOS has very bad performance when running with a high number of threads. This is caused by xnu (the macOS kernel), which currently doesn't handle mapping and unmapping of sanitizer shadow regions (reserved VM which are several terabytes large) very well. The situation is so bad that increasing the number of threads actually makes the total testing time larger. The macOS buildbots are affected by this. Note that we can't easily limit the number of sanitizer testing threads without affecting the rest of the tests. This patch adds a special "group" into lit, and limits the number of concurrently running tests in this group. This helps solve the contention problem, while still allowing other tests to run in full, that means running lit with -j8 will still with 8 threads, and parallelism is only limited in sanitizer tests. Differential Revision: https://reviews.llvm.org/D28420 llvm-svn: 292549
-
Kuba Mracek authored
Running lit tests and unit tests of ASan and TSan on macOS has very bad performance when running with a high number of threads. This is caused by xnu (the macOS kernel), which currently doesn't handle mapping and unmapping of sanitizer shadow regions (reserved VM which are several terabytes large) very well. The situation is so bad that increasing the number of threads actually makes the total testing time larger. The macOS buildbots are affected by this. Note that we can't easily limit the number of sanitizer testing threads without affecting the rest of the tests. This patch adds a special "group" into lit, and limits the number of concurrently running tests in this group. This helps solve the contention problem, while still allowing other tests to run in full, that means running lit with -j8 will still with 8 threads, and parallelism is only limited in sanitizer tests. Differential Revision: https://reviews.llvm.org/D28420 llvm-svn: 292548
-
Justin Bogner authored
It's easier to test the non-fallback path if we just drop these intrinsics for now, like we did before we added the fallback path. We'll obviously need to fix this properly, but the fixme for that is already here. llvm-svn: 292547
-
Anna Thomas authored
Summary: Fence instructions are currently marked as `ModRef` for all memory locations. We can improve this for constant memory locations (such as constant globals), since fence instructions cannot modify these locations. This helps us to forward constant loads across fences (added test case in GVN). There were no changes in behaviour for similar test cases in early-cse and licm. Reviewers: dberlin, sanjoy, reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D28914 llvm-svn: 292546
-
http://wg21.link/cwg1310Richard Smith authored
Diagnose the case when a dependent template name instantiates to an injected-class-name outside a nested-name-specifier. llvm-svn: 292545
-
Justin Bogner authored
Rather than trying to find MF based on the possibly-null MI we've passed in here, just pass it in directly. It's already available at all callers anyway. llvm-svn: 292544
-
Matthias Braun authored
This function can be used to accumulate the set of all read and modified register in a sequence of instructions. Use this code in AArch64A57FPLoadBalancing::scavengeRegister() to prove the concept. - The AArch64A57LoadBalancing code is using a backwards analysis now which is irrespective of kill flags. This is the main motivation for this change. Differential Revision: http://reviews.llvm.org/D22082 llvm-svn: 292543
-
Matthias Braun authored
This is a set of register units intended to track register liveness, it is similar in spirit to LivePhysRegs. You can also think of this as the liveness tracking parts of the RegisterScavenger factored out into an own class. This was proposed in http://llvm.org/PR27609 Differential Revision: http://reviews.llvm.org/D21916 llvm-svn: 292542
-
Eric Fiselier authored
llvm-svn: 292541
-