- May 31, 2020
-
-
Whitney Tsang authored
Differential Revision: https://reviews.llvm.org/D80477.
-
zoecarver authored
Adds a simple fast-path check for the pattern: v = load ptr store v to ptr I took the tests from the bugzilla post, I can add more if needed (but I think these should be sufficent). Refs: https://bugs.llvm.org/show_bug.cgi?id=45795 Differential Revision: https://reviews.llvm.org/D79391
-
Raphael Isemann authored
Summary: It seems that when we rewrite a few rules to only build a dylib (i.e., when DYLIB_ONLY is set), the rule for setting the CFLAGS for the dylib's object file compilation will no longer work. From what I can see this is because in DYLIB_ONLY mode we pretend to compile the main executable so the DYLIB_OBJECTS scope is actually never used. This patch makes `-fPIC` unstopped if DYLIB_ONLY is set so that -fPIC actually ends up in the CFLAGS for the dylib object file compilation. The test for this is D80798 which only compiles on Linux with this patch. Reviewers: friss, labath Reviewed By: friss Subscribers: JDevlieghere Differential Revision: https://reviews.llvm.org/D80789
-
- May 30, 2020
-
-
Florian Hahn authored
Currently, BasicAA does not exploit information about value ranges of indexes. For example, consider the 2 pointers %a = %base and %b = %base + %stride below, assuming they are used to access 4 elements. If we know that %stride >= 4, we know the accesses do not alias. If %stride is a constant, BasicAA currently gets that. But if the >= 4 constraint is encoded using an assume, it misses the NoAlias. This patch extends DecomposedGEP to include an additional MinOtherOffset field, which tracks the constant offset similar to the existing OtherOffset, which the difference that it also includes non-negative lower bounds on the range of the index value. When checking if the distance between 2 accesses exceeds the access size, we can use this improved bound. For now this is limited to using non-negative lower bounds for indices, as this conveniently skips cases where we do not have a useful lower bound (because it is not constrained). We potential miss out in cases where the lower bound is constrained but negative, but that can be exploited in the future. Reviewers: sanjoy, hfinkel, reames, asbirlea Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D76194
-
Simon Pilgrim authored
SafeStackColoring.cpp - remove includes directly defined in SafeStackColoring.h header. NFC.
-
Simon Pilgrim authored
CriticalAntiDepBreaker.cpp - remove includes directly defined in CriticalAntiDepBreaker.h header. NFC.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
[TargetLowering] SimplifyDemandedBits - remove shift amount clamps from getValidShiftAmountConstant calls. NFC. getValidShiftAmountConstant only returns a value if the shift amount is in range, so we don't need to check it again.
-
Simon Pilgrim authored
We are calling getValidShiftAmountConstant first followed by getValidMinimumShiftAmountConstant/getValidMaximumShiftAmountConstant if that failed. But both are used in the same way in ComputeNumSignBits and the Min/Max variants call getValidShiftAmountConstant internally anyhow.
-
Simon Pilgrim authored
-
mydeveloperday authored
[clang-format] [PR46130] When editing a file with unbalance {} the namespace comment fixer can incorrectly comment the wrong closing brace Summary: https://bugs.llvm.org/show_bug.cgi?id=46130 from Twitter https://twitter.com/ikautak/status/1265998988232159232 I have seen this myself many times.. if you have format on save and you work in an editor where you are constantly saving (:w muscle memory) If you are in the middle of editing and somehow you've missed a { or } in your code, somewhere, often way below where you are at the bottom of your file the namespace comment fixer will have put the namespace on the previous closing brace. This leads to you having to fix up the bottom of the file. This revision prevents that happening by performing an initial pass of the tokens and simply counting the number of `{` and `}` and ensuring they balance. If they don't balance we don't do any namespace fixing as it will likely be unstable and incorrect. Reviewed By: curdeius Subscribers: cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D80830 -
Simon Pilgrim authored
We already have to include VersionTuple.h
-
Simon Pilgrim authored
MSVC seems to implicitly include this from <utility> but other toolchains don't
-
Simon Pilgrim authored
Move raw_ostream.h include to ArchitectureSet.cpp.
-
Simon Pilgrim authored
Move includes to Architecture.cpp.
-
Simon Pilgrim authored
PDBTypes.h holds most PDB forward declarations already, move IPDBSession in there as well.
-
Simon Pilgrim authored
-
David Zarzycki authored
On a busy and/or slow system, 100ms might not be long enough. Instead, we now use atomic variables to communicate between threads.
-
Mariya Podchishchaeva authored
Summary: Do not ask size of type if it is dependent. ASTContext doesn't seem expecting this. Reviewers: jdoerfert, ABataev, bader Reviewed By: ABataev Subscribers: yaxunl, guansong, ebevhan, Anastasia, sstefan1, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D80829
-
Simon Pilgrim authored
-
Jonas Devlieghere authored
A typo in the GLOB patter prevented us from detecting changes in the interface files and trigger SWIG to regenerate the bindings.
-
Craig Topper authored
-
Martin Storsjö authored
-
Martin Storsjö authored
[AArch64] Treat x18 as callee-saved in functions with windows calling convention on non-windows OSes Treat it as callee-saved, and always back it up. When windows code calls entry points in unix code, marked with the windows calling convention, that unix code can call other functions that isn't compiled with -ffixed-x18 which may clobber x18 freely. By backing it up and restoring it on return, we preserve the register across the function call, fulfilling this part of the windows calling convention on another OS. This isn't enough for making sure that x18 is preseved when non-windows code does a callback to windows code, but is a clear improvement over the current status quo. Additionally, wine is nowadays building many modules as PE DLLs, which avoids the callback issue altogether for those DLLs. Differential Revision: https://reviews.llvm.org/D61892
-
Jonas Devlieghere authored
Commit 0800529f adds a runtime error which triggers when using SBAddress properties that use the current process/target from a non-interactive session. TestThreadPlanCommands.py was doing exactly this and this patch fixes that by use GetLoadAddress instead.
-
Sourabh Singh Tomar authored
This patch adds support for emission of following DWARFv5 macro forms in .debug_macro.dwo section: - DW_MACRO_start_file - DW_MACRO_end_file - DW_MACRO_define_strx - DW_MACRO_undef_strx Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D78866
-
Jonas Devlieghere authored
Several SBAddress properties use the lldb.target or lldb.process convenience variables which are only set under the interactive script interpreter. Unfortunately, users have been using these properties in Python script and commands. This patch raises a Python exception to force users to use GetLoadAddress instead. Differential revision: https://reviews.llvm.org/D80848
-
Mehdi Amini authored
Cleanup / Fix a clang-tidy warning
-
Eric Christopher authored
Pull O1 pass pipeline out into a separate function and simplify buildFunctionSimplificationPipeline accordingly.
-
Eric Christopher authored
Last we looked at this and couldn't come up with a reason to change it, but with a pragma for full loop unrolling we bypass every other loop unroll and then fail to fully unroll a loop when the pragma is set. Move the OnlyWhenForced out of the check and into the initialization of the full unroll pass in the new pass manager. This doesn't show up with the old pass manager. Add a new option to opt so that we can turn off loop unrolling manually since this is a difference between clang and opt. Tested with check-clang and check-llvm.
-
Fangrui Song authored
Many check-clang-codegen tests failed.
-
Carl Ritson authored
Summary: Replace an assertion that blocks S1024 SGPR to VGPR spill. The assertion pre-dates S1024 and is not wave size dependent. Reviewers: arsenm, sameerds, rampitec Reviewed By: arsenm Subscribers: qcolombet, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80783
-
Matt Arsenault authored
This is a custom inserter because it was less work than teaching tablegen a way to indicate that it is sometimes OK to have a no side effect instruction in the output of a side effecting pattern. The asm is needed to look like a read of the mode register to prevent it from being deleted. However, there seems to be a bug where the mode register def instructions are moved across the asm sideeffect by the post-RA scheduler. Another oddity is the immediate is formatted differently between s_denorm_mode and s_round_mode.
-
Matt Arsenault authored
Most of these should be identical and use a common prefix, but update_llc_test_checks is failing to generate shared checks for some reason.
-
Matt Arsenault authored
-
Christopher Tetreault authored
Reviewers: efriedma, david-arm, fpetrogalli, arsenm Reviewed By: david-arm Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, tschuett, hiraditya, rkruppe, psnobl, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80328
-
Jared Wyles authored
Summary: Adding in our first relocation type, and all the required plumbing to support the rest in following patches Differential Revision: https://reviews.llvm.org/D80613 Reviewer: lhames
-
Christopher Tetreault authored
Reviewers: efriedma, tejohnson, sdesmalen, c-rhodes Reviewed By: efriedma Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80326
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-