| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ucrtbase.dll appears to be built with some kind of cross-module
inlining, because there are calls to imported Heap* routines sprinkled
throughout the code. This inlining defeats our attempts to hotpatch
malloc, _malloc_base, and related functions. Failing to intercept an
allocation or deallocation results in a crash when the program attempts
to deallocate or reallocate memory with the wrong allocator.
This change patches the IAT of ucrtbase.dll to replace the addresses of
the imported Heap* functions with implementations provided by ASan. We
don't globally intercept the win32 Heap* functions because they are
typically used by system DLLs that run before ASan initializes.
Eventually, we may want to intercept them, but for now I think this is
the minimal change that will keep ASan stable.
Reviewers: samsonov
Differential Revision: http://reviews.llvm.org/D18413
llvm-svn: 264327
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Use bulk importing so we can avoid the use of post-pass metadata
linking. Cloned the ModuleLazyLoaderCache from the FunctionImport pass
to facilitate this.
Reviewers: joker.eph
Subscribers: dexonsmith, llvm-commits, joker.eph
Differential Revision: http://reviews.llvm.org/D18455
llvm-svn: 264326
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
readability-redundant-string-cstr checker.
Summary:
The current checker is able to recognize std::string but does not recognize other string variants.
This patch is adding the support for any string defined with basic_string without considering the
the underlying char type.
The most common variant is: 'std::wstring' based on 'wchar_t'.
There are also other string variants added to the standard: u16string, u32string, etc...
Reviewers: alexfh
Subscribers: mamai, dblaikie, cfe-commits
Differential Revision: http://reviews.llvm.org/D18412
llvm-svn: 264325
|
|
|
|
|
|
|
|
|
|
|
|
| |
In PIC mode, the registers R14, R15 and R28 are reserved for use by
the PLT handling code. This causes all functions to clobber these
registers. While this is not new for regular function calls, it does
also apply to save/restore functions, which do not follow the standard
ABI conventions with respect to the volatile/non-volatile registers.
Patch by Jyotsna Verma.
llvm-svn: 264324
|
|
|
|
|
|
|
| |
rare issues with nondeterministic diagnostic order, and some very common issues
with nondeterministic module builds.
llvm-svn: 264323
|
|
|
|
|
|
|
|
| |
This patch simplifies the isRelRelative for AArch64 and add the missing
ones for bootstrap and test-suite. It also adds more testing for
shared object creation.
llvm-svn: 264322
|
|
|
|
|
|
|
| |
is deprecated in modern C++ and unnecessary since decltype can be used to query
the relevant type.
llvm-svn: 264321
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given that StatepointLowering now uniques derived pointers before
putting them in the per-statepoint spill map, we may end up with missing
entries for derived pointers when we visit a gc.relocate on a pointer
that was de-duplicated away.
Fix this by keeping two maps, one mapping gc pointers to their
de-duplicated values, and one mapping a de-duplicated value to the slot
it is spilled in.
llvm-svn: 264320
|
|
|
|
|
|
|
| |
- Reflow comments
- Rename function
llvm-svn: 264319
|
|
|
|
|
|
| |
This is based on feedback on llvm-commits from Sean Silvas.
llvm-svn: 264318
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When multiple DWP files are merged together and duplicate DWO IDs are
found it's currently difficult to give an actionable error message - the
DW_AT_name of the CU could be provided, but might be identical (if the
same source file is built into two different configurations), which
doesn't help the user identify the problem.
When no intermediate DWP files are generated, the path to the two DWO
files could be provided - but is lost once the DWOs are merged into a
DWP.
So, include the name of the DWO (dwo_name) in the split file so that
collissions involving a source CU from a DWP can be better diagnosed.
(improvements to llvm-dwp using this to come shortly)
llvm-svn: 264316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The two literals are currently appended.
I'm not sure what was broken by this. Please double check carefully.
Silly bug found by an on-going checker for clang-tidy.
Reviewers: alexfh, arsenm, rnk
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D18454
llvm-svn: 264315
|
|
|
|
| |
llvm-svn: 264314
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
isDependenceDistanceOfOne asserts that the store and the load access
through the same type. This function is also used by
removeDependencesFromMultipleStores so we need to make sure we filter
out mismatching types before reaching this point.
Now we do this when the initial candidates are gathered.
This is a refinement of the fix made in r262267.
Fixes PR27048.
llvm-svn: 264313
|
|
|
|
|
|
| |
Suggested by David Blaikie in response to r264234.
llvm-svn: 264311
|
|
|
|
|
|
|
|
|
|
| |
We lose the 'utils' directory name in our advertising line with
this change. We could retain that, but I don't see the point.
This removes a dependency for making the script apply to more than
'llc'. Ie, we'll want to change the script name if it works with
opt/clang too.
llvm-svn: 264310
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
analyzer
The `MipsMCInstrAnalysis` class overrides the `evaluateBranch` method
and calculates target addresses for branch and calls instructions.
That allows llvm-objdump to print functions' names in branch instructions
in the disassemble mode.
Differential Revision: http://reviews.llvm.org/D18209
llvm-svn: 264309
|
|
|
|
| |
llvm-svn: 264308
|
|
|
|
|
|
|
|
| |
The goal is to enhance this script to be used with opt and clang:
Break 'main' into functions and change variable names to be more
generic because we want to handle more than x86 asm output.
llvm-svn: 264307
|
|
|
|
| |
llvm-svn: 264306
|
|
|
|
|
|
| |
Suggested by Sanjay in D18189 as the multiple folding options in XOP instructions can be tricky
llvm-svn: 264305
|
|
|
|
|
|
| |
changes in llvm-readobj. NFC.
llvm-svn: 264304
|
|
|
|
|
|
|
|
|
|
|
|
| |
Simplify ValueEnumerator and WriteModuleMetadata by shifting the logic
for the METADATA_GENERIC_DEBUG abbreviation into WriteGenericDINode.
(This is just like r264302, but for GenericDINode.)
The only change is that the abbreviation is emitted later in the
bitcode, just before the first `GenericDINode` record. This shouldn't
be observable though.
llvm-svn: 264303
|
|
|
|
|
|
|
|
|
|
|
| |
Simplify ValueEnumerator and WriteModuleMetadata by shifting the logic
for the METADATA_LOCATION abbreviation into WriteDILocation.
The only change is that the abbreviation is emitted later in the
bitcode, just before the first `DILocation` record. This shouldn't be
observable though.
llvm-svn: 264302
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split writeNamedMetadata out of WriteModuleMetadata to write named
metadata, and createNamedMetadataAbbrev for the abbreviation.
There should be no effective functionality change, although the layout
of the bitcode will change. Previously, the abbreviation was emitted at
the top of the block, but now it is delayed until immediately before the
named metadata records are emitted.
llvm-svn: 264301
|
|
|
|
|
|
|
|
|
| |
The patch supports common STV_xxx visibility flags and MIPS specific
STO_MIPS_xxx flags.
Differential Revision: http://reviews.llvm.org/D18447
llvm-svn: 264300
|
|
|
|
| |
llvm-svn: 264299
|
|
|
|
|
|
|
|
|
|
|
|
| |
KTEST instruction may be used instead of TEST in this case:
%int_sel3 = bitcast <8 x i1> %sel3 to i8
%res = icmp eq i8 %int_sel3, zeroinitializer
br i1 %res, label %L2, label %L1
Differential Revision: http://reviews.llvm.org/D18444
llvm-svn: 264298
|
|
|
|
|
|
| |
complain.
llvm-svn: 264297
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the operation's type has been promoted during type legalization, we
need to account for the fact that the high bits of the comparison
operand are likely unspecified.
The LHS is usually zero-extended, but MIPS sign extends it, so we have
to be slightly careful.
Patch by Simon Dardis.
llvm-svn: 264296
|
|
|
|
|
|
| |
Patch By: Sonny Jiang
llvm-svn: 264295
|
|
|
|
| |
llvm-svn: 264294
|
|
|
|
| |
llvm-svn: 264293
|
|
|
|
|
|
|
| |
With this I think that now llvm-link, lld and the gold plugin should
agree on which symbol is kept.
llvm-svn: 264292
|
|
|
|
| |
llvm-svn: 264291
|
|
|
|
| |
llvm-svn: 264290
|
|
|
|
| |
llvm-svn: 264289
|
|
|
|
|
|
|
|
|
|
|
| |
After comdat processing, the symbols still go through regular symbol
resolution.
We were not doing it for linkonce symbols since they are lazy linked.
This fixes pr27044.
llvm-svn: 264288
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Reviewers: vkalintiris
Subscribers: llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D18177
llvm-svn: 264287
|
|
|
|
| |
llvm-svn: 264286
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some target lowerings of FP_TO_FP16, for instance ARM's vcvtb.f16.f32
instruction, do not guarantee that the top 16 bits are zeroed out.
Remove the unsafe AssertZext and add tests to exercise this.
Reviewers: jmolloy, sbaranga, kristof.beyls, aadg
Subscribers: llvm-commits, srhines, aemerson
Differential Revision: http://reviews.llvm.org/D18426
llvm-svn: 264285
|
|
|
|
|
|
|
|
|
| |
This fixes PR27035. While we now exclude MemIntrinsics from the
polyhedral model if they would access "null" we could exploit this
even more, e.g., remove all parameter combinations that would lead to
the execution of this statement from the context.
llvm-svn: 264284
|
|
|
|
| |
llvm-svn: 264283
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch corresponds to review:
http://reviews.llvm.org/D17711
It disables direct moves on these operations in 32-bit mode since the patterns
assume 64-bit registers. The final patch is slightly different from the
Phabricator review as the bitcast operations needed to be disabled in 32-bit
mode as well. This fixes PR26617.
llvm-svn: 264282
|
|
|
|
|
|
|
|
|
|
| |
LLVM debug info."
After fixing PR26942 (the fix is included in this commit).
Differential Revision: http://reviews.llvm.org/D18350
llvm-svn: 264281
|
|
|
|
|
|
|
|
|
|
| |
LLVM debug info."
After fixing PR26942 (the fix is included in this commit).
Differential Revision: http://reviews.llvm.org/D18350
llvm-svn: 264280
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Reviewers: vkalintiris
Subscribers: llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D18148
llvm-svn: 264279
|
|
|
|
|
|
| |
platform-related test case for MS compilers to avoid breaking buildbot.
llvm-svn: 264277
|
|
|
|
|
|
| |
This reverts commit r264253. It is breaking the buildbot http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/2203
llvm-svn: 264276
|
|
|
|
|
|
| |
This reverts commit r264254.
llvm-svn: 264275
|