Displaying 1 50 of 267,568 commits (0.060s)

LLVM — llvm/trunk/test/tools/llvm-dwarfdump/X86 brief.s, llvm/trunk/tools/llvm-dwarfdump llvm-dwarfdump.cpp

[dwarfdump] Add support for redirecting output to a file

This patch adds the -o and --out-file options for compatibility with
Darwin's dwarfdump.

Differential revision: https://reviews.llvm.org/D38125

LLVM — llvm/trunk/lib/Target/Mips MipsTargetMachine.cpp

[mips] clang-format MipsTargetMachine.cpp

This is my test commit as it only changes two lines

LLVM — llvm/trunk/lib/Target/AVR/MCTargetDesc AVRELFObjectWriter.cpp

[AVR] Remove the 'IsN64' argument to 'MCELFObjectWriter'

This has since been removed.

LLVM — llvm/trunk/test/CodeGen/X86 fmf-flags.ll

[X86] Updating the test case for FMF propagation.

Differential Revision: https://reviews.llvm.org/D38163

LLVM — cfe/trunk/lib/Format UsingDeclarationsSorter.cpp, cfe/trunk/unittests/Format UsingDeclarationsSorterTest.cpp

[clang-format] Ignore case and stable sort using-declarations

Summary:
This ignores case while sorting using-declarations, fixing a case where `_` would appear 
between lowercase and uppercase characters.
It also applies stable sort, so that replacements for the exact same using declarations 
are not generated.

Reviewers: klimek, alexfh

Reviewed By: alexfh

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D37263

LLVM — llvm/trunk/lib/Target/BPF BPFInstrInfo.td, llvm/trunk/lib/Target/BPF/Disassembler BPFDisassembler.cpp

bpf: initial 32-bit ALU encoding support in assembler

This patch adds instruction patterns for operations in BPF_ALU. After this,
assembler could recognize some 32-bit ALU statement. For example, those listed
int the unit test file.

Separate MOV patterns are unnecessary as MOV is ALU operation that could reuse
ALU encoding infrastructure, this patch removed those redundant patterns.

Acked-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Signed-off-by: Jiong Wang <jiong.wang at netronome.com>
Reviewed-by: Yonghong Song <yhs at fb.com>

LLVM — llvm/trunk/lib/Target/BPF BPFRegisterInfo.td

bpf: add 32bit register set

Acked-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Signed-off-by: Jiong Wang <jiong.wang at netronome.com>
Reviewed-by: Yonghong Song <yhs at fb.com>

LLVM — llvm/trunk/lib/Target/BPF BPFInstrInfo.td

bpf: refactor inst patterns with better inheritance

Arithmetic and jump instructions, load and store instructions are sharing
the same 8-bit code field encoding,

A better instruction pattern implemention could be the following inheritance
relationships, and each layer only encoding those fields which start to
diverse from that layer. This avoids some redundant code.

  InstBPF -> TYPE_ALU_JMP -> ALU/JMP
  InstBPF -> TYPE_LD_ST -> Load/Store

Acked-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Signed-off-by: Jiong Wang <jiong.wang at netronome.com>
Reviewed-by: Yonghong Song <yhs at fb.com>
Delta File
+127 -111 llvm/trunk/lib/Target/BPF/BPFInstrInfo.td
+127 -111 1 file

LLVM — llvm/trunk/lib/Target/BPF BPFInstrInfo.td BPFInstrFormats.td

bpf: refactor inst patterns with more mnemonics

Currently, eBPF backend is using some constant directly in instruction patterns,
This patch replace them with mnemonics and removed some unnecessary temparary
variables.

Acked-by: Jakub Kicinski <jakub.kicinski at netronome.com>
Signed-off-by: Jiong Wang <jiong.wang at netronome.com>
Reviewed-by: Yonghong Song <yhs at fb.com>

LLVM — cfe/trunk/lib/AST Decl.cpp, cfe/trunk/test/CXX/basic/basic.link p8.cpp

Closure types have no name (and can't have a typedef name for linkage
purposes), so they never formally have linkage.

LLVM — llvm/trunk/lib/Target/AArch64 AArch64CallingConvention.td, llvm/trunk/test/CodeGen/AArch64 swift-error.ll

AArch64: support SwiftCC properly on AAPCS64

The previous SwiftCC support for AAPCS64 was partially correct.  It
setup swiftself parameters in the proper register but failed to setup
swifterror in the correct register.  This would break compilation of
swift code for non-Darwin AAPCS64 conforming environments.

LLVM — cfe/trunk/lib/AST Decl.cpp Linkage.h, cfe/trunk/lib/Parse ParseDecl.cpp

Give external linkage and mangling to lambdas inside inline variables and variable 
templates.

This implements the proposed approach in 
https://github.com/itanium-cxx-abi/cxx-abi/issues/33

This reinstates r313827, reverted in r313856, with a fix for the 'out-of-bounds
enumeration value' ubsan error in that change.

LLVM — cfe/trunk/lib/Driver/ToolChains CrossWindows.cpp, cfe/trunk/test/Driver windows-cross.c

Driver: remove support for libstdc++ from CrossWindows

This code path is entirely untested and not really maintained.  The
expected use here is with libc++ only.

LLVM — cfe/trunk/include/clang/AST Decl.h, cfe/trunk/lib/AST Linkage.h Decl.cpp

Clean up some mistreatment of enumerations.

LLVM — cfe/trunk/test/CodeGenCXX noescape.cpp, cfe/trunk/test/CodeGenObjC noescape.m

Add test cases that weren't committed in r313945.

LLVM — llvm/trunk/include/llvm/Analysis LoopInfo.h, llvm/trunk/lib/Analysis LoopInfo.cpp

Rename markAsErased to erase, as pointed out in a previous review; NFC

LLVM — cfe/trunk/utils/analyzer SATestUpdateDiffs.py

[Analyzer] Static analyzer script for updating reference results

The script updates reference results from the previous run, and stages them.

Differential Revision: https://reviews.llvm.org/D38157

LLVM — cfe/trunk/utils/analyzer SATestBuild.py SATestAdd.py

[Analyzer] Refactor analyzer testing scripts.

 - Exporting needed function for future reuse.
 - Idiomatic python: using with `file as f` instead of `try/finally`.
 - Fixing some indentation issues.
 - No need to reinvent python `multiprocessing.getCPUCount()`
 - Removing a function parameter which is always the same under all invocations.
 - Adding some docstrings.

Differential Revision: https://reviews.llvm.org/D38156

LLVM — cfe/trunk/include/clang/AST DeclCXX.h, cfe/trunk/lib/Sema SemaDecl.cpp

Fix tracking of whether a destructor would be deleted.

I've been unable to find any cases whose behavior is actually changed by this,
but only because an implicitly deleted destructor also results in it being
impossible to have a trivial (non-deleted) copy constructor, which the place
where this really matters (choosing whether to pass a class in registers)
happens to also check.

LLVM — llvm/trunk/lib/Target/Hexagon HexagonVectorLoopCarriedReuse.cpp

HexagonVectorLoopCarriedReuse.cpp: Apply LLVM_ATTRIBUTE_UNUSED. [-Wunused-function]

LLVM — llvm/trunk/lib/Target/Hexagon HexagonVectorLoopCarriedReuse.cpp

Reformat.

LLVM — cfe/trunk/include/clang/AST ASTContext.h Type.h, cfe/trunk/include/clang/Basic AttrDocs.td Attr.td

Add support for attribute 'noescape'.

The attribute informs the compiler that the annotated pointer parameter
of a function cannot escape and enables IRGen to attach attribute
'nocapture' to parameters that are annotated with the attribute. That is
the only optimization that currently takes advantage of 'noescape', but
there are other optimizations that will be added later that improves
IRGen for ObjC blocks.

This recommits r313722, which was reverted in r313725 because clang
couldn't build compiler-rt. It failed to build because there were
function declarations that were missing 'noescape'. That has been fixed
in r313929.

rdar://problem/19886775

Differential Revision: https://reviews.llvm.org/D32210

LLVM — cfe/trunk/lib/StaticAnalyzer/Core CallEvent.cpp

[Analyzer] Log when auto-synthesized body is used.

Differential Revision: https://reviews.llvm.org/D37910

LLVM — cfe/trunk/lib/AST ASTDumper.cpp, cfe/trunk/test/Frontend float16.cpp

Extend -ast-dump for CXXRecordDecl to dump the flags from the DefinitionData.

LLVM — llvm/trunk/lib/Target/Hexagon HexagonVectorLoopCarriedReuse.cpp

Fix unused variable warning.

Move function call into debug macro to suppress unused variable warning
in non-debug builds.

LLVM — llvm/trunk/lib/CodeGen TargetLoweringBase.cpp SpillPlacement.cpp, llvm/trunk/lib/CodeGen/SelectionDAG DAGCombiner.cpp LegalizeDAG.cpp

[CodeGen] Fix some Clang-tidy modernize-use-bool-literals and Include What You Use 
warnings; other minor fixes (NFC).

LLVM — llvm/trunk/test/Bitcode DIExpression-deref.ll.bc DIExpression-deref.ll

Fix a bug in a historic bitcode testcase.

LLVM — llvm/trunk/test/Bitcode DIExpression-4.0.ll.bc DIExpression-4.0.ll

Fix a bug in a historic bitcode testcase. NFC.

LLVM — lld/trunk/COFF Driver.cpp

Update for llvm change.
Delta File
+8 -5 lld/trunk/COFF/Driver.cpp
+8 -5 1 file

LLVM — llvm/trunk/include/llvm/Object ArchiveWriter.h COFFImportFile.h, llvm/trunk/lib/Object ArchiveWriter.cpp COFFImportFile.cpp

Convert the archive writer to use Error.

This found one place in lld that was not checking the error.

LLVM — llvm/trunk/test/CodeGen/Hexagon hexagon_vector_loop_carried_reuse.ll

[Hexagon] - Fix testcase for the HexagonVectorLoopCarriedReuse pass.

LLVM — llvm/trunk/lib/Object ArchiveWriter.cpp

Use raw_ostream in functions that don't need to seek. NFC.

LLVM — lldb/trunk/packages/Python/lldbsuite/test decorators.py lldbplatform.py, lldb/trunk/packages/Python/lldbsuite/test/expression_command/call-function TestCallStdStringFunction.py

Revert this patch; I was emailing with Eugene and they have some other changes going
in today and don't want the two changes to confuse the situation with the build bots.
I'll commit tomorrow once they're known good.

LLVM — llvm/trunk/lib/Object ArchiveWriter.cpp

Simplify the logic for truncating UID and GID. NFC.

LLVM — lldb/trunk/packages/Python/lldbsuite/test decorators.py lldbplatform.py, lldb/trunk/packages/Python/lldbsuite/test/expression_command/call-function TestCallStdStringFunction.py

Initial patchset to get the testsuite running against armv7 and arm64 iOS devices.
Normal customer devices won't be able to run these devices, we're hoping to get
a public facing bot set up at some point.

There will be some smaller follow-on patches.  The changes to tools/lldb-server are
verbose and I'm not thrilled with having to skip all of these tests manually.
There are a few places where I'm making the assumption that "armv7", "armv7k", "arm64"
means it's an ios device, and I need to review & clean these up with an OS check
as well.  (Android will show up as "arm" and "aarch64" so by pure luck they shouldn't
cause problems, but it's not an assumption I want to rely on).

I'll be watching the bots for the rest of today; if any problems are introduced by
this patch I'll revert it - if anyone sees a problem with their bot that I don't
see, please do the same.  I know it's a rather large patch.

One change I had to make specifically for iOS devices was that debugserver can't 
create files.  There were several tests that launch the inferior process redirecting
its output to a file, then they retrieve the file.  They were not trying to test
file redirection in these tests, so I rewrote those to write their output to a file
directly.

LLVM — llvm/trunk/test/CodeGen/Hexagon hexagon_vector_loop_carried_reuse.ll

Revert "Add a testfile that I missed in a previous commit that added 
HexagonVectorLoopCarriedReuse pass"

This reverts commit r313926.

It was failing in some bots.

LLVM — lld/trunk/COFF LTO.cpp, lld/trunk/ELF LTO.cpp

Simplify error handling. NFC.

LLVM — cfe/trunk/test lit.cfg.py, lld/trunk/test lit.cfg.py

Resubmit "[lit] Refactor out some more common lit configuration code."

There were two issues, one Python 3 specific related to Unicode,
and another which is that the tool substitution for lld no longer
rejected matches where a / preceded the tool name.

LLVM — cfe/trunk/utils/analyzer SATestBuild.py

[Analyzer] Use CC environment variable to select analyzer path in SATestBuild.

This change is required to easily test the given checkout of the analyzer,
rather than the one bundled with a system compiler.

Differential Revision: https://reviews.llvm.org/D38155

LLVM — llvm/trunk/test/CodeGen/Hexagon hexagon_vector_loop_carried_reuse.ll

Add a testfile that I missed in a previous commit that
added HexagonVectorLoopCarriedReuse pass

LLVM — llvm/trunk/lib/Target/Hexagon HexagonVectorLoopCarriedReuse.cpp HexagonTargetMachine.cpp

Enable the reuse of values computed in a previous loop iteration.

This patch adds a pass that removes the computation of provably redundant
expressions that have been computed earlier in a previous iteration. It
relies on the use of PHIs to identify loop carried dependences.

This is scalar replacement for vector types.

LLVM — cfe/trunk/utils/analyzer SATestAdd.py

[Analyzer] Add simple help to SATestAdd.py

Differential Revision: https://reviews.llvm.org/D38003

LLVM — cfe/trunk/utils/analyzer CmpRuns.py

[Analyzer] Remove dead code from CmpRuns.py.

Differential Revision: https://reviews.llvm.org/D38003
Delta File
+0 -24 cfe/trunk/utils/analyzer/CmpRuns.py
+0 -24 1 file

LLVM — cfe/trunk/test lit.cfg.py, lld/trunk/test lit.cfg.py

Revert "[lit] Refactor out some more common lit configuration code."

This is breaking several bots.  I have enough information to
investigate, so I'm reverting to green until I get it figured
out.

LLVM — llvm/trunk/test/tools/llvm-objdump/AArch64 macho-fat-arm-disasm.test, llvm/trunk/test/tools/llvm-objdump/AArch64/Inputs fat.macho-armv7s-arm64

Fix a bug in llvm-objdump when disassembling using the wrong default CPU
in the second slice of a Mach-O universal file.

The code in llvm-objdump in in DisassembleMachO() was getting the default
CPU then incorrectly setting into the global variable used for the -mcpu option
if that was not set.  This caused a second call to DisassembleMachO() to use
the wrong default CPU when disassembling the next slice in a Mach-O universal
file.  And would result in bad disassembly and an error message about an
recognized processor for the target:

% llvm-objdump -d -m -arch all  fat.macho-armv7s-arm64 
fat.macho-armv7s-arm64 (architecture armv7s):
(__TEXT,__text) section
armv7:
       0:        60 47         bx        r12
fat.macho-armv7s-arm64 (architecture arm64):
'cortex-a7' is not a recognized processor for this target (ignoring processor)
'cortex-a7' is not a recognized processor for this target (ignoring processor)
(__TEXT,__text) section
___multc3:
       0:                .long        0x1e620810

rdar://34439149
Delta File
+7 -3 llvm/trunk/tools/llvm-objdump/MachODump.cpp
+6 -0 llvm/trunk/test/tools/llvm-objdump/AArch64/macho-fat-arm-disasm.test
+0 -0 llvm/trunk/test/tools/llvm-objdump/AArch64/Inputs/fat.macho-armv7s-arm64
+13 -3 3 files

LLVM — cfe/trunk/test lit.cfg.py, lld/trunk/test lit.cfg.py

[lit] Refactor out some more common lit configuration code.

debuginfo-tests has need to reuse a lot of common configuration
from clang and lld, and in general it seems like all of the
projects which are tightly coupled (e.g. lld, clang, llvm, lldb,
etc) can benefit from knowing about one other.  For example,
lldb needs to know various things about how to run clang in its
test suite.  Since there's a lot of common substitutions and
operations that need to be shared among projects, sinking this
up into LLVM makes sense.

In addition, this patch introduces a function add_tool_substitution
which handles all the dirty intricacies of matching tool names
which was previously copied around the various config files.  This
is now a simple straightforward interface which is hard to mess
up.

Differential Revision: https://reviews.llvm.org/D37944

LLVM — llvm/trunk/utils/lit/lit discovery.py, llvm/trunk/utils/lit/tests discovery.py

[lit] Actually do normalize the case of files in the config map.

This has gone back and forth, but it seems this is necessary
after all.  realpath is not sufficient because if you have a
file named 'C:\foo.txt', then both realpath('c:\foo.txt') and
realpath(C:\foo.txt') return the string that was passed to them
exactly as is, meaning the case of the drive-letter won't match.

The problem before was not that we were normalizing the case of
items going into the config map, but rather that we were
normalizing the case of something we needed to print.  The value
that is used to key on the config map should never be printed.

LLVM — llvm/trunk/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/trunk/test/CodeGen/AArch64 ldst-opt.ll fastcc.ll

[AArch64] Fix bug in store of vector 0 DAGCombine.

Summary:
Avoid using XZR/WZR directly as operands to split stores of zero
vectors.  Doing so can lead to the XZR/WZR being used by an instruction
that doesn't allow it (e.g. add).

Fixes bug 34674.

Reviewers: t.p.northover, efriedma, MatzeB

Subscribers: aemerson, rengolin, javed.absar, mcrosier, eraman, llvm-commits, 
kristof.beyls

Differential Revision: https://reviews.llvm.org/D38146

LLVM — lld/trunk/ELF Thunks.cpp, lld/trunk/test/ELF arm-thunk-edgecase.s

[ELF] Fix edge condition in thunk offset calculation

For ARM thunks, the `movt` half of the relocation was using an incorrect
offset (it was off by 4 bytes). The original intent seems to have been
for the offset to have been relative to the current instruction, in
which case the difference of 4 makes sense. As the code stands, however,
the offset is always calculated relative to the start of the thunk
(`P`), and so the `movw` and `movt` halves should use the same offset.
This requires a very particular offset between the thunk and its target
to be triggered, and it results in the `movt` half of the relocation
being off-by-one.

The tests here use ARM-Thumb interworking thunks, since those are the
only ARM thunks currently implemented. I actually encountered this with
a range extension thunk (having Peter's patches cherry-picked locally),
but the underlying issue is identical.

Differential Revision: https://reviews.llvm.org/D38112

LLVM — cfe/trunk/bindings/python/clang cindex.py, cfe/trunk/bindings/python/tests/cindex test_cursor.py

[libclang] Keep track of TranslationUnit instance when annotating tokens

Summary:
Previously the `_tu` was not propagated to the returned cursor, leading to errors when 
calling any
method on that cursor (e.g. `cursor.referenced`).

Reviewers: jbcoe, rsmith

Reviewed By: jbcoe

Subscribers: cfe-commits

Tags: #clang

Patch by jklaehn (Johann Klähn)

Differential Revision: https://reviews.llvm.org/D36953