| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: dblaikie, t.p.northover, rengolin
Reviewed By: rengolin
Subscribers: aemerson, rengolin, javed.absar, llvm-commits, kristof.beyls
Differential Revision: https://reviews.llvm.org/D35620
llvm-svn: 308852
|
| |
|
|
|
|
| |
This reverts commit r308850.
llvm-svn: 308851
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The DWO handling code can get confused by clang modules which also use
skeleton CUs to point to the object file with the full debug
info. This patch detects whether an object is a "real" DWO or a clang
module and prevents LLDB from interpreting clang modules as DWO. This
fixes the regression in TestWithModuleDebugging.
http://llvm.org/bugs/show_bug.cgi?id=33875
Differential Revision: https://reviews.llvm.org/D35740
llvm-svn: 308850
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch removes unnecessary zero copies in BBs that are targets of b.eq/b.ne
and we know the result of the compare instruction is zero. For example,
BB#0:
subs w0, w1, w2
str w0, [x1]
b.ne .LBB0_2
BB#1:
mov w0, wzr ; <-- redundant
str w0, [x2]
.LBB0_2
Differential Revision: https://reviews.llvm.org/D35075
llvm-svn: 308849
|
| |
|
|
|
|
|
|
|
| |
All but one place are checking options::OPT_nostdlib instead of looking at
this field, so convert that one other place to doing that as well.
No behavior change.
llvm-svn: 308848
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When SCEV calculates product of two SCEVAddRecs from the same loop, it
tries to combine them into one big AddRecExpr. If the sizes of the initial
SCEVs were `S1` and `S2`, the size of their product is `S1 + S2 - 1`, and every
operand of the resulting SCEV is combined from operands of initial SCEV and
has much higher complexity than they have.
As result, if we try to calculate something like:
%x1 = {a,+,b}
%x2 = mul i32 %x1, %x1
%x3 = mul i32 %x2, %x1
%x4 = mul i32 %x3, %x2
...
The size of such SCEVs grows as `2^N`, and the arguments
become more and more complex as we go forth. This leads
to long compilation and huge memory consumption.
This patch sets a limit after which we don't try to combine two
`SCEVAddRecExpr`s into one. By default, max allowed size of the
resulting AddRecExpr is set to 16.
Differential Revision: https://reviews.llvm.org/D35664
llvm-svn: 308847
|
| |
|
|
| |
llvm-svn: 308846
|
| |
|
|
|
|
| |
For some reason this one was missed earlier.
llvm-svn: 308845
|
| |
|
|
|
|
|
|
|
| |
This gets rid of almost LLVM targets unconditionally depending on intrinsic_gen.
Clang's modules still have weird dependencies and hard to remove intrinsics_gen in better way.
Then, it'd be better to give whole clang targets depend on intrinsic_gen.
llvm-svn: 308844
|
| |
|
|
| |
llvm-svn: 308843
|
| |
|
|
| |
llvm-svn: 308842
|
| |
|
|
| |
llvm-svn: 308841
|
| |
|
|
|
|
| |
We also move related accessor functions
llvm-svn: 308840
|
| |
|
|
| |
llvm-svn: 308839
|
| |
|
|
| |
llvm-svn: 308838
|
| |
|
|
| |
llvm-svn: 308837
|
| |
|
|
| |
llvm-svn: 308836
|
| |
|
|
| |
llvm-svn: 308835
|
| |
|
|
|
|
|
|
| |
complexity adjustment to keep shift by immediate using the legacy instructions.
These patterns were only missing to favor using the legacy instructions when the shift was a constant. With careful adjustment of the pattern complexity we can make sure the immediate instructions still have priority over these patterns.
llvm-svn: 308834
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check the actual memory type stored and not the extended value size
when considering if truncated store merge is worthwhile.
Reviewers: efriedma, RKSimon, spatel, jyknight
Reviewed By: efriedma
Subscribers: llvm-commits, nhaehnle
Differential Revision: https://reviews.llvm.org/D35623
llvm-svn: 308833
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It cuts clangFormat's dependencies out of;
Clang_Analysis
Clang_C
Clang_Diagnostics
Clang_Driver
Clang_Frontend
Clang_Sema
Clang_Serialization
Clang_StaticAnalyzer_Core
Clang_Tooling -> Clang_ToolingCore
Now, the module Clang_Format depends on;
Clang_AST
Clang_Basic
Clang_ToolingCore
llvm-svn: 308832
|
| |
|
|
|
|
|
|
|
|
|
| |
If the access relation's domain is empty, the access will never be
executed. We can just remove it.
We only remove write accesses. Partial read accesses are not yet
supported and instructions in the statement might require the
llvm::Value holding the read's result to be defined.
llvm-svn: 308830
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the indention of the last brace to align with the opening line.
Before:
Instructions {
%val = fadd double %arg, 2.100000e+01
store double %val, double* %A
}
After:
Instructions {
%val = fadd double %arg, 2.100000e+01
store double %val, double* %A
}
llvm-svn: 308828
|
| |
|
|
| |
llvm-svn: 308827
|
| |
|
|
|
|
|
|
| |
Hoisted loads can be trivially supported because there are no
MemoryAccess to be modified, the loaded value is just available
at code generation.
llvm-svn: 308826
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pass 'forwards' operand trees into statements that use them in
order to avoid scalar dependencies.
This minimal implementation handles only the case of speculatable
instructions. We will successively add support for:
- Hoisted loads
- Read-only values
- Synthesizable values
- Loads
- PHIs
- Forwarding only parts of the tree
Differential Revision: https://reviews.llvm.org/D35754
llvm-svn: 308825
|
| |
|
|
|
|
|
|
| |
Summary: -Wno-<warning> was autocompleted as -Wno<warning>, so fixed this typo.
Differential Revision: https://reviews.llvm.org/D35762
llvm-svn: 308824
|
| |
|
|
|
|
|
|
|
| |
... in the few remaining places where this was not corrected.
llvm-svn: 308823
|
| |
|
|
|
|
|
|
| |
started""
This reverts commit 2b52298eb28ba4d3eca113353a348c02a6ef1f93.
llvm-svn: 308822
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed on llvm-dev I've implemented the first basic steps towards
llvm-objcopy/llvm-objtool (name pending).
This change adds the ability to copy (without modification) 64-bit
little endian ELF executables that have SHT_PROGBITS, SHT_NOBITS,
SHT_NULL and SHT_STRTAB sections.
Patch by Jake Ehrlich
Differential Revision: https://reviews.llvm.org/D33964
llvm-svn: 308821
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is a pure refactoring change. It just moves code that is
related to filesystem operations from sanitizer_common.{cc,h} to
sanitizer_file.{cc,h}. This makes it cleaner to disable the
filesystem-related code for a new port that doesn't want it.
Submitted on behalf of Roland McGrath.
Reviewers: kcc, eugenis, alekseyshl
Reviewed By: alekseyshl
Subscribers: vitalybuka, llvm-commits, kubamracek, mgorny, phosek
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D35591
llvm-svn: 308819
|
| |
|
|
|
|
| |
compatibility.
llvm-svn: 308818
|
| |
|
|
|
|
| |
Fixes PR32805.
llvm-svn: 308817
|
| |
|
|
|
|
|
| |
All of the instructions were moved out of this a while ago,
so it's just a useless comment now.
llvm-svn: 308815
|
| |
|
|
| |
llvm-svn: 308814
|
| |
|
|
|
|
|
|
|
| |
This case is similar to the one fixed in r308808,
except when rematerializing.
Fixes bug 33884.
llvm-svn: 308813
|
| |
|
|
| |
llvm-svn: 308812
|
| |
|
|
|
|
| |
max_len every time we failed to find new coverage during the last 1000 runs and 1 second. Also fix FileToVector to not load unfinished files
llvm-svn: 308811
|
| |
|
|
| |
llvm-svn: 308809
|
| |
|
|
|
|
|
|
|
| |
This is possible if there is an undef use when
splitting the vreg during spilling.
Fixes bug 33620.
llvm-svn: 308808
|
| |
|
|
| |
llvm-svn: 308807
|
| |
|
|
|
|
| |
This reverts commit 2f423248e140b94b8377660d4d2fe9364f30febe.
llvm-svn: 308806
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed on llvm-dev I've implemented the first basic steps towards
llvm-objcopy/llvm-objtool (name pending).
This change adds the ability to copy (without modification) 64-bit
little endian ELF executables that have SHT_PROGBITS, SHT_NOBITS,
SHT_NULL and SHT_STRTAB sections.
Patch by Jake Ehrlich
Differential Revision: https://reviews.llvm.org/D33964
llvm-svn: 308803
|
| |
|
|
|
|
| |
This moves the full ScopArrayInfo class to isl++
llvm-svn: 308801
|
| |
|
|
|
|
|
|
|
| |
We have the same relation between class properties and getter/setters
that we have for instance properties, so set the same symbol sub-kind.
rdar://problem/32376404
llvm-svn: 308800
|
| |
|
|
|
|
|
|
| |
Bitrig code has been merged back to OpenBSD, thus the OS has been abandoned.
Differential Revision: https://reviews.llvm.org/D35707
llvm-svn: 308799
|
| |
|
|
|
|
|
|
| |
Bitrig code has been merged back to OpenBSD, thus the OS has been abandoned.
Differential Revision: https://reviews.llvm.org/D35709
llvm-svn: 308798
|
| |
|
|
|
|
|
|
| |
Bitrig code has been merged back to OpenBSD, thus the OS has been abandoned.
Differential Revision: https://reviews.llvm.org/D35708
llvm-svn: 308797
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Targets.cpp is getting unwieldy, and even minor changes cause the entire thing
to cause recompilation for everyone. This patch bites the bullet and breaks
it up into a number of files.
I tended to keep function definitions in the class declaration unless it
caused additional includes to be necessary. In those cases, I pulled it
over into the .cpp file. Content is copy/paste for the most part,
besides includes/format/etc.
Differential Revision: https://reviews.llvm.org/D35701
llvm-svn: 308791
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As discussed on [1], if the profile is compressed and llvm-profdata is not built with zlib support, the error message is not informative. Give a better error message if zlib is not available.
[1] http://lists.llvm.org/pipermail/llvm-dev/2017-July/115571.html
Reviewers: davidxl, dblaikie
Differential Revision: https://reviews.llvm.org/D35586
llvm-svn: 308789
|