- Aug 02, 2019
-
-
Oliver Stannard authored
This optimisation isn't generally profitable for ARM, because we can save/restore many registers in the prologue and epilogue using the PUSH and POP instructions, but mostly use individual LDR/STR instructions for other spills. Differential revision: https://reviews.llvm.org/D64910 llvm-svn: 367670
-
Oliver Stannard authored
- Avoid a crash when IPRA calls ARMFrameLowering::determineCalleeSaves with a null RegScavenger. Simply not updating the register scavenger is fine because IPRA only cares about the SavedRegs vector, the acutal code of the function has already been generated at this point. - Add a new hook to TargetRegisterInfo to get the set of registers which can be clobbered inside a call, even if the compiler can see both sides, by linker-generated code. Differential revision: https://reviews.llvm.org/D64908 llvm-svn: 367669
-
Serguei Katkov authored
This patch adds an ability to disable profile based peeling causing the peeling of all iterations and as a result prohibits further unroll/peeling attempts on that loop. The motivation to get an ability to separate peeling usage in pipeline where in the first part we peel only separate iterations if needed and later in pipeline we apply the full peeling which will prohibit further peeling. Reviewers: reames, fhahn Reviewed By: reames Subscribers: hiraditya, zzheng, dmgreen, llvm-commits Differential Revision: https://reviews.llvm.org/D64983 llvm-svn: 367668
-
Sam McCall authored
Summary: TweakTests.cpp has some pretty good helpers added for the first few tweaks, but they have some limitations: - many assertion failures point at the wrong line - need lots of input/output tests, setup code is duplicated across both - local helpers make it hard to split the file as it grows The new helpers in TweakTests.h are based on old ones (same operations) but try to address these issues and generally make tests more terse while improving error messages. This patch converts everything except ExtractVariable (which is complex and has changes in flight, so will be converted later). It's LOC-neutral, despite not being able to get rid of the old helpers until ExtractVariable is done. Reviewers: ilya-biryukov Subscribers: mgorny, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65525 llvm-svn: 367667
-
Jay Foad authored
llvm-svn: 367666
-
Sam Parker authored
Remove forward declaration, fold a couple of typedefs and change one to be more useful. llvm-svn: 367665
-
Pavel Labath authored
Summary: This is the next step in avoiding funneling all SymbolFile calls through the SymbolVendor. Right now, it is just a convenience function, but it allows us to update all calls to SymbolVendor functions to access the SymbolFile directly. Once all call sites have been updated, we can remove the GetSymbolVendor member function. This patch just updates the calls to GetSymbolVendor, which were calling it just so they could fetch the underlying symbol file. Other calls will be done in follow-ups. Reviewers: JDevlieghere, clayborg, jingham Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D65435 llvm-svn: 367664
-
Raphael Isemann authored
llvm-svn: 367663
-
Peter Smith authored
The unit tests in BasicAliasAnalysisTest use the alias analysis API directly and do not call setAAResults to initalize AAR. This gives a valgrind error "Conditional Jump depends on unitialized variable". On most buildbots the variable is nullptr, but in some cases it can be non nullptr leading to seemingly random failures. These tests were disabled in r366986. With the initialization they can be enabled again. Fixes PR42719 Differential Revision: https://reviews.llvm.org/D65568 llvm-svn: 367662
-
Hans Wennborg authored
Don't try emitting dllexported explicitly defaulted non-trivial ctors twice during explicit template instantiation definition (PR42857) Trying to emit the definition twice triggers an assert. Differential revision: https://reviews.llvm.org/D65579 llvm-svn: 367661
-
Sam Parker authored
We only care about the first element in the list. llvm-svn: 367660
-
Hideki Saito authored
Moves the newly added test interleaved-accesses-waw-dependency.ll to X86 subdirectory. ps4-buildslave1 reported a failure. The test has x86 triple. llvm-svn: 367659
-
Rui Ueyama authored
This reverts commit r367649 in an attempt to unbreak Windows bots. llvm-svn: 367658
-
Rong Xu authored
Relaxed the check in a test because the windows bolt generates different profile variables. llvm-svn: 367657
-
Fangrui Song authored
Like r367463, but for test/tsan. llvm-svn: 367656
-
Guillaume Chatelet authored
Reviewers: aprantl Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65558 llvm-svn: 367655
-
Hideki Saito authored
[LV] Avoid building interleaved group in presence of WAW dependency Reviewers: hsaito, Ayal, fhahn, anna, mkazantsev Reviewed By: hsaito Patch by evrevnov, thanks! Differential Revision: https://reviews.llvm.org/D63981 llvm-svn: 367654
-
Fangrui Song authored
Like r367463, but for test/msan. llvm-svn: 367653
-
Fangrui Song authored
Like r367463, but for test/xray. Update test/xray/lit.cfg.py config.suffixes to remove .cc (we actually don't have .c tests now) llvm-svn: 367652
-
Rui Ueyama authored
llvm-svn: 367651
-
Rui Ueyama authored
llvm-svn: 367650
-
Rui Ueyama authored
1. raw_ostream supports ANSI colors so that you can write messages to the termina with colors. Previously, in order to change and reset color, you had to call `changeColor` and `resetColor` functions, respectively. So, if you print out "error: " in red, for example, you had to do something like this: OS.changeColor(raw_ostream::RED); OS << "error: "; OS.resetColor(); With this patch, you can write the same code as follows: OS << raw_ostream::RED << "error: " << raw_ostream::RESET; 2. Add a boolean flag to raw_ostream so that you can disable colored output. If you disable colors, changeColor, operator<<(Color), resetColor and other color-related functions have no effect. Most LLVM tools automatically prints out messages using colors, and you can disable it by passing a flag such as `--disable-colors`. This new flag makes it easy to write code that works that way. Differential Revision: https://reviews.llvm.org/D65564 llvm-svn: 367649
-
Owen Pan authored
Differential Revision: https://reviews.llvm.org/D65631 llvm-svn: 367648
-
Serguei Katkov authored
Current peeling cost model can decide to peel off not all iterations but only some of them to eliminate conditions on phi. At the same time if any peeling happens the door for further unroll/peel optimizations on that loop closes because the part of the code thinks that if peeling happened it is profile based peeling and all iterations are peeled off. To resolve this inconsistency the patch provides the flag which states whether the full peeling basing on profile is enabled or not and peeling cost model is able to modify this field like it does not PeelCount. In a separate patch I will introduce an option to allow/disallow peeling basing on profile. To avoid infinite loop peeling the patch tracks the total number of peeled iteration through llvm.loop.peeled.count loop metadata. Reviewers: reames, fhahn Reviewed By: reames Subscribers: hiraditya, zzheng, dmgreen, llvm-commits Differential Revision: https://reviews.llvm.org/D64972 llvm-svn: 367647
-
Stanislav Mekhanoshin authored
Added code to truncate or shrink offsets so that we can continue base pointer search if size has changed along the way. Differential Revision: https://reviews.llvm.org/D65612 llvm-svn: 367646
-
Kai Luo authored
Summary: When combining `extsw` and `sldi` in `PPCMIPeephole`, we have to check if `extsw`'s second operand is a virtual register, otherwise we might get miscompile. Differential Revision: https://reviews.llvm.org/D65315 llvm-svn: 367645
-
Kang Zhang authored
Summary: The old code can be simplified to define the element type of TailCalls as `BasicBlock` not `CallInst`. Also I use the for-range loop instead the for loop. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D64905 llvm-svn: 367644
-
Rui Ueyama authored
llvm-svn: 367643
-
Vitaly Buka authored
llvm-svn: 367642
-
Douglas Yung authored
Reviewers: beanz Differential Revision: https://reviews.llvm.org/D65559 llvm-svn: 367641
-
Eric Christopher authored
due to a sanitizer failure. This reverts commit 367623. llvm-svn: 367640
-
JF Bastien authored
We require at least MSVC 2017, but I forgot to update Compiler.h when I updated the MSVC requirement. llvm-svn: 367639
-
Jonas Devlieghere authored
Reformat OptionEnumValueElement to make it easier to distinguish between its fields. This also removes the need to disable clang-format for these arrays. Differential revision: https://reviews.llvm.org/D65489 llvm-svn: 367638
-
Daniel Sanders authored
Fix up an unused variable warning caused by TRI->isVirtualRegister() -> Register::isVirtualRegister() llvm-svn: 367637
-
Daniel Sanders authored
Summary: The MC layer doesn't expect to deal with vregs but TargetRegisterClass::contains() forwards into MCRegisterClass::contains() and this can cause vregs to turn up in the MC layer APIs. Add guards against this to prevent this becoming a problem as we replace unsigned with a new MCRegister object for improved type safety. Reviewers: arsenm Subscribers: wdng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65554 llvm-svn: 367636
-
Jonas Devlieghere authored
In r367348, I changed dsymutil to pass the LinkOptions by value isntead of by const reference. However, the options were still captured by reference in the LinkLambda. This patch fixes that by passing them in by value. llvm-svn: 367635
-
Philip Reames authored
llvm-svn: 367634
-
Daniel Sanders authored
Finish moving TargetRegisterInfo::isVirtualRegister() and friends to llvm::Register as started by r367614. NFC llvm-svn: 367633
-
Jan Korous authored
llvm-svn: 367632
-
Eric Fiselier authored
I have upcoming changes that modify how deque handles spare blocks. This cleanup is intended to make those changes easier to review and understand. This patch should have NFC. llvm-svn: 367631
-