Displaying 1 50 of 217,961 commits (0.024s)

LLVM — llvm/trunk/lib/Fuzzer/test CMakeLists.txt trace-bb, llvm/trunk/lib/Fuzzer/test/trace-bb CMakeLists.txt

[libFuzzer] add a test that is built with -fsanitize-coverage=trace-bb
Delta File
+14 -0 llvm/trunk/lib/Fuzzer/test/trace-bb/CMakeLists.txt
+8 -0 llvm/trunk/lib/Fuzzer/test/CMakeLists.txt
+0 -0 llvm/trunk/lib/Fuzzer/test/trace-bb/
+22 -0 3 files

LLVM — llvm/trunk/lib/Transforms/Instrumentation SanitizerCoverage.cpp

[sanitizer coverage] when adding a bb trace instrumentation, do it instead, not in 
addition to, regular coverage. Do the regular coverage in the run-time instead

LLVM — cfe/trunk/docs SanitizerCoverage.rst

[sanitizer coverage] document -fsanitize-coverage=trace-bb

LLVM — llvm/trunk/lib/Target/X86 X86FrameLowering.cpp

[X86] Fix a think-o when checking if the eflags needs to be preserved.

LLVM — llvm/trunk/include/llvm/Transforms/IPO FunctionImport.h, llvm/trunk/lib/Transforms/IPO FunctionImport.cpp

Modify FunctionImport to take a callback to load modules

When linking static archive, there is no individual module files to
load. Instead they can be mmap'ed and could be initialized from a
buffer directly. The callback provide flexibility to override the
scheme for loading module from the summary.

Differential Revision: http://reviews.llvm.org/D15101

From: Mehdi Amini <mehdi.amini at apple.com>

LLVM — llvm/trunk/lib/Target/X86 X86FrameLowering.cpp, llvm/trunk/test/CodeGen/X86 i386-shrink-wrapping.ll

[X86] Make sure the prologue does not clobber EFLAGS when it lives accross it.

This is a superset of the fix done in r254448.

This fixes PR25607.

LLVM — lldb/trunk/include/lldb lldb-private-enumerations.h lldb-forward.h, lldb/trunk/include/lldb/Symbol ClangASTContext.h Type.h

Added support for -gmodule debugging when debug info is left in the .o files on Darwin.

This is done by finding the types that are forward declarations that come from a module, 
and loading that module's debug info in a separate lldb_private::Module, and copying the 
type over into the current module using a ClangASTImporter object. ClangASTImporter 
objects are already used to copy types from on clang::ASTContext to another for 
expressions so the type copying code has been around for a while.

A new FindTypes variant was added to SymbolVendor and SymbolFile:

SymbolVendor::FindTypes (const std::vector<CompilerContext> &context, bool append, 
TypeMap& types);

SymbolVendor::FindTypes (const std::vector<CompilerContext> &context, bool append, 
TypeMap& types);

The CompilerContext is a way to represent the exact context of a type and pass it through 
an agnostic API boundary so that we can find that exact context elsewhere in another file. 
This was required here because we can have a module that has submodules, both of which 
have a "foo" type.

I am not able to add tests for this yet as we currently don't build our C/C++/ObjC 
binaries with the clang binary that we build. There are some driver issues where it can't 

    [7 lines not shown]

LLVM — llvm/trunk/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/trunk/test/CodeGen/AArch64 arm64-long-shift.ll

AArch64: fix 128-bit shifts

We mustn't introduce a shift of exactly 64-bits for any inputs, since that's an
UNDEF value (and worse, it's not what you want with the natural Arch64

The generated code is pretty horrific, but I couldn't come up with an obviously
better alternative (if the amount is constant EXTR could help). Turns out
128-bit shifts are just nasty.


LLVM — llvm/trunk/lib/Linker LinkModules.cpp

Use default member initializers.

LLVM — llvm/trunk/include/llvm/ProfileData InstrProfData.inc

Define member operator delete

For the struct with trailing objects, define
a member operator delete. Without this, the program
will fail when -fsized-deallocation option is used
where the wrong size will be passed to the global
delete operator.

LLVM — llvm/trunk/lib/Target/AMDGPU AMDGPUISelDAGToDAG.cpp, llvm/trunk/test/CodeGen/AMDGPU addrspacecast.ll flat-address-space.ll

AMDGPU: Error on addrspacecasts that aren't actually implemented

LLVM — llvm/trunk/lib/Target/AMDGPU SIISelLowering.cpp SIISelLowering.h, llvm/trunk/test/CodeGen/AMDGPU cgp-addressing-modes-flat.ll

AMDGPU: Implement isNoopAddrSpaceCast

LLVM — llvm/trunk/lib/Linker LinkModules.cpp

Remove unnecessary getter.

LLVM — llvm/trunk/lib/Linker LinkModules.cpp

Pass down the dst GV to linkGlobalValueBody. NFC.

LLVM — cfe/trunk/docs ControlFlowIntegrityDesign.rst

docs: Add design documentation for forward-edge CFI for indirect calls.

LLVM — llvm/trunk/lib/CodeGen IfConversion.cpp

Fix a bug in IfConversion.cpp.

The bug is introduced in r254377 which failed some tests on ARM, where a new
probability is assigned to a successor but the provided BB may not be a

LLVM — llvm/trunk/lib/Target/ARM/AsmParser ARMAsmParser.cpp

ARM: Change ArchCheck field to uint64_t

The values in this field are compared against getAvailableFeatures()
which returns an uint64_t. This was causing problems in an internal

LLVM — lld/trunk/ELF Target.cpp InputSection.cpp, lld/trunk/test/ELF mips-hilo.s mips-hilo-hi-only.s

[ELF] MIPS paired R_MIPS_HI16/LO16 relocations support

Some MIPS relocations including `R_MIPS_HI16/R_MIPS_LO16` use combined
addends. Such addend is calculated using addends of both paired relocations.
Each `R_MIPS_HI16` relocation is paired with the next `R_MIPS_LO16`
relocation. ABI requires to compute such combined addend in case of REL
relocation record format only.

For details see p. 4-17 at

This patch implements lookup of the next paired relocation suing new
`InputSectionBase::findPairedRelocLocation` method. The primary
disadvantage of this approach is that we put MIPS specific logic into
the common code. The next disadvantage is that we lookup `R_MIPS_LO16`
for each `R_MIPS_HI16` relocation, while in fact multiple `R_MIPS_HI16`
might be paired with the single `R_MIPS_LO16`. From the other side
this way allows us to keep `MipsTargetInfo` class stateless and implement
later relocation handling in parallel.

This patch does not support `R_MIPS_HI16/R_MIPS_LO16` relocations against
`_gp_disp` symbol. In that case the relocations use a special formula for
the calculation. That will be implemented later.

Differential Revision: http://reviews.llvm.org/D15112

LLVM — llvm/trunk/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/trunk/test/MC/AMDGPU flat-scratch.s

AMDGPU: Disallow flat_scr in SI assembler

LLVM — llvm/trunk/include/llvm/ProfileData InstrProfReader.h, llvm/trunk/include/llvm/Support OnDiskHashTable.h

[PGO] Add support for reading multiple versions of indexed profile format profile data

Profile readers using incompatible on-disk hash table format can now share the same 
implementation and interfaces. 

Differential Revision: http://reviews.llvm.org/D15100

LLVM — llvm/trunk/lib/Linker LinkModules.cpp

Delete unused includes.

LLVM — llvm/trunk/lib/IR Constants.cpp

IR: Clean up some duplicated code in ConstantDataSequential creation. NFC

ConstantDataArray::getImpl and ConstantDataVector::getImpl had a lot
of copy pasta in how they handled sequences of constants. Break that
out into a couple of simple functions.
Delta File
+57 -136 llvm/trunk/lib/IR/Constants.cpp
+57 -136 1 file

LLVM — cfe/trunk/include/clang/AST Decl.h

Clang-format an 80-column violation.

LLVM — llvm/trunk/lib/Linker LinkModules.cpp

clang-format LinkModules.cpp.

Most of the file has been changed recently and was already clang-format
Delta File
+19 -19 llvm/trunk/lib/Linker/LinkModules.cpp
+19 -19 1 file

LLVM — llvm/trunk/lib/CodeGen TwoAddressInstructionPass.cpp

use range-based for loops; NFCI

LLVM — llvm/trunk/lib/Target/AMDGPU SIInstrInfo.cpp SIInstrInfo.h

AMDGPU: Optimize VOP2 operand legalization

Don't use commuteInstruction, and don't commute if
doing so will not improve legality. Skip the more
complex checks for literal operands and constant bus restrictions,
which are not a concern for VOP2 instructions because src1
does not accept SGPRs or constants and few implicitly
read vcc.

This gets called quite a few times and the
attempts at commuting are a significant fraction
of the time spent in SIFixSGPRCopies, so it's
somewhat worthwhile to optimize. With this patch and others
leading up to it, this reduces the compile time of SIFixSGPRCopies
on some of the LuxMark 2 kernels from ~8ms to ~5ms on my system.

LLVM — cfe/trunk/include/clang/AST Decl.h

Add an accessor to Decl::LoadedFieldsFromExternalStorage for LLDB.

Patch by Greg Clayton
Reviewed by Doug Gregor

LLVM — cfe/trunk/lib/CodeGen CodeGenAction.cpp

Update for llvm api change.

LLVM — llvm/trunk/include/llvm/Linker Linker.h, llvm/trunk/lib/LTO LTOCodeGenerator.cpp

Use references now that it is natural to do so.

The linker never takes ownership of a module or changes which module it
is refering to, making it natural to use references.

LLVM — llvm/trunk/lib/Target/X86 X86FrameLowering.cpp, llvm/trunk/test/CodeGen/X86 x86-shrink-wrapping.ll

[X86] Make sure the prologue does not clobber EFLAGS when it lives accross it.

This fixes PR25629.

LLVM — llvm/trunk/lib/ProfileData InstrProf.cpp, llvm/trunk/unittests/ProfileData InstrProfTest.cpp

Use nullptr (NFC)

LLVM — cfe/trunk/unittests/libclang LibclangTest.cpp

Avoid picking up system headers in unittest by providing a fake libstdc++ with a 
ridiculously high version number.

The host libstdc++ may be horribly broken and we want the fake one to be
picked up. This workaround is lame but I don't see a better way.

LLVM — llvm/trunk/lib/CodeGen TwoAddressInstructionPass.cpp

don't repeat function/variable names in comments; NFC

LLVM — llvm/trunk/lib/Target/ARM Thumb1FrameLowering.cpp, llvm/trunk/test/CodeGen/Thumb pop-special-fixup.ll

Fix Thumb1 epilogue generation

This had been broken for a very long time, but nobody noticed until
D14357 enabled shrink-wrapping by default.

Reviewers: jroelofs, qcolombet

Subscribers: tyomitch, llvm-commits, rengolin

Differential Revision: http://reviews.llvm.org/D14986

LLVM — lld/trunk/ELF OutputSections.cpp Writer.cpp, lld/trunk/test/ELF tls-dynamic.s

[ELF] - Fixed bug leading to miss of tls relocation when @tlsgd and @gottpoff relocations 
were used at the same time.

Combination of @tlsgd and @gottpoff at the same time leads to miss of R_X86_64_TPOFF64 
dynamic relocation. Patch fixes that.

@tlsgd(%rip) - Allocate two contiguous entries in the GOT to hold a tls index
structure (for passing to tls get addr).
@gottpoff(%rip) - Allocate one GOT entry to hold a variable offset in initial TLS
block (relative to TLS block end, %fs:0).

The same situation can be observed for x86 (probably others too, not sure) with 
corresponding for that target relocations: @tlsgd, @gotntpoff.

Differential revision: http://reviews.llvm.org/D15105

LLVM — llvm/trunk/lib/CodeGen TwoAddressInstructionPass.cpp

fix typo; NFC

LLVM — llvm/trunk/test/tools/llvm-dwp/X86 simple.test, llvm/trunk/tools/llvm-dwp llvm-dwp.cpp

[llvm-dwp] Deduplicate strings in the debug_str.dwo section

Also, ensure that references to those strings in debug_str_offsets.dwo
correctly refer to the deduplicated strings.

LLVM — llvm/trunk/lib/Target/AArch64 AArch64ISelDAGToDAG.cpp, llvm/trunk/test/CodeGen/AArch64 bitfield-insert.ll

[AArch64] Fix a corner case in BitFeild select

When not useful bits, BitWidth becomes 0 and APInt will not be happy.

See https://llvm.org/bugs/show_bug.cgi?id=25571

We can just mark the operand as IMPLICIT_DEF is none bits of it is used.

Reviewers: t.p.northover, jmolloy

Subscribers: gberry, jmolloy, mgrang, aemerson, llvm-commits, rengolin

Differential Revision: http://reviews.llvm.org/D14803

LLVM — cfe/trunk/lib/AST MicrosoftMangle.cpp, cfe/trunk/test/CodeGenCXX mangle-ms-cxx14.cpp

[MS ABI] Correctly mangle nullptr member pointers for variable templates

Variable templates behave the same as class templates with regard to
nullptr memeber pointers.

LLVM — llvm/trunk/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp AMDGPUTargetTransformInfo.h, llvm/trunk/test/Analysis/CostModel AMDGPU

AMDGPU: Report extractelement as free in cost model

The cost for scalarized operations is computed as N * (scalar operation
cost + 1 extractelement + 1 insertelement). This partially fixes
inflating the cost of scalarized operations since every operation is
scalarized and free. I don't think we want any cost asociated with
scalarization, but for now insertelement is still counted. I'm not sure
if we should pretend that insertelement is also free, or add a way
to compute a custom scalarization cost.

LLVM — llvm/trunk/lib/IR Verifier.cpp, llvm/trunk/unittests/IR VerifierTest.cpp

[Verifier] Improve error for cross-module refs

By including the module name in the error message.
This makes the error message much more useful and
saves a trip to the debugger.

Reviewers: dexonsmith

Subscribers: dexonsmith, llvm-commits

Differential Revision: http://reviews.llvm.org/D14473

LLVM — llvm/trunk/include/llvm/Linker Linker.h, llvm/trunk/lib/Linker LinkModules.cpp

Delete dead code.

LLVM — llvm/trunk/include/llvm/Linker Linker.h, llvm/trunk/lib/Linker LinkModules.cpp

Use a forwarding constructor instead of an init method.

LLVM — llvm/trunk/include/llvm/LTO LTOCodeGenerator.h, llvm/trunk/include/llvm/Linker Linker.h

Delete the setModule method from the Linker.

It was only used from LTO for a debug feature, and LTO can just create
another linker.

It is pretty odd to have a method to reset the module in the middle of a
link. It would make IdentifiedStructTypes inconsistent with the Module
for example.

LLVM — lld/trunk/ELF OutputSections.cpp OutputSections.h

Reapply r254428.

Fix was:
uint32_t getLocalTlsIndexVA() { return getVA() + LocalTlsIndexOff; }
uint32_t getLocalTlsIndexVA() { return Base::getVA() + LocalTlsIndexOff; }
Both works for my MSVS.

Original commit message:
[ELF] - Refactor of tls_index implementation for tls local dynamic model.

Patch contains the next 2 changes:
1) static variable Out<ELFT>::LocalModuleTlsIndexOffset moved to Out<ELFT>::Got. At fact 
there is no meaning for it to be separated from GOT class because at each place of using 
it anyways needs to call GOT`s getVA(). Also it is impossible to have that offset and not 
have GOT.
2) addLocalModuleTlsIndex -> addLocalModelTlsIndex (word "Module" changed to "Model"). Not 
sure was it a mistype or not but I think that update is closer to Urlich terminology.

Differential revision: http://reviews.llvm.org/D15113

LLVM — lld/trunk/ELF OutputSections.cpp OutputSections.h

revert r254428 [ELF] - Refactor of tls_index implementation for tls local dynamic model.

It failed buildbot:

In file included from 
error: use of undeclared identifier 'getVA'
  uint32_t getLocalTlsIndexVA() { return getVA() + LocalTlsIndexOff; }

LLVM — llvm/trunk/test/tools/llvm-dwp/X86 simple.test, llvm/trunk/tools/llvm-dwp llvm-dwp.cpp

[llvm-dwp] Correctly update debug_str_offsets.dwo when linking dwo files

This doesn't deduplicate strings in the debug_str section, nor does it
properly wire up the index so that debug_info can /find/ these strings,
but it does correct the str_offsets specifically.

Follow up patches to address those related/next issues.

LLVM — lldb/trunk/include/lldb/Target Process.h, lldb/trunk/packages/Python/lldbsuite/test/expression_command/timeout TestCallWithTimeout.py

Revert "Fix race during process interruption"

The android buildbot gets quite flaky after this change. I'm reverting it while I 

LLVM — lld/trunk/ELF Target.cpp InputSection.cpp

[ELF] - Target interface simplification, getGotRefReloc() removed.

Removes Target::getGotRefReloc() method to simplify Target class a little.

Differential revision: http://reviews.llvm.org/D15107

LLVM — lld/trunk/ELF OutputSections.cpp OutputSections.h

[ELF] - Refactor of tls_index implementation for tls local dynamic model.

Patch contains the next 2 changes:
1) static variable Out<ELFT>::LocalModuleTlsIndexOffset moved to Out<ELFT>::Got. At fact 
there is no meaning for it to be separated from GOT class because at each place of using 
it anyways needs to call GOT`s getVA(). Also it is impossible to have that offset and not 
have GOT.
2) addLocalModuleTlsIndex -> addLocalModelTlsIndex (word "Module" changed to "Model"). Not 
sure was it a mistype or not but I think that update is closer to Urlich terminology.

Differential revision: http://reviews.llvm.org/D15113