Displaying 1 50 of 257,554 commits (0.021s)

LLVM — lld/trunk/ELF InputFiles.cpp Strings.h

Simplify BinaryFile::parse and add comments.

LLVM — lld/trunk/ELF InputFiles.cpp Writer.cpp

Remove needless type conversions.

LLVM — llvm/trunk/include/llvm/Support StringSaver.h

Make StringSaver::save less ambiguous.

Previously, an expression such as Saver.save(std::string("foo") + "bar")
didn't compile because there is an ambiguity as to whether the argument
is of const Twine& or StringRef.

LLVM — llvm/trunk/lib/Target/AMDGPU GCNSchedStrategy.cpp, llvm/trunk/test/DebugInfo/AMDGPU dbg-value-sched-crash.ll

AMDGPU: Fix assert in scheduler

Assert is triggered if DBG_VALUE is first instruction in BB

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

LLVM — llvm/trunk/include/llvm/Support LEB128.h

[Support] Fix overflow in SLEB128 decoding.

decodeULEB128 was fixed in r216268, but decodeSLEB128 always had the
same issue, which is now exposed in r301369.

LLVM — llvm/trunk/include/llvm/Support LEB128.h

[Support] clang-format LEB128.h. NFC.

LLVM — cfe/trunk/lib/Basic Targets.cpp, cfe/trunk/test/Preprocessor init.c

Darwin: Define __STDC_NO_THREADS__ on Darwin targets

Darwin doesn't support C11 threads.h.  Define `__STDC_NO_THREADS__` so
that users can check for it.

rdar://problem/18461003

LLVM — cfe/trunk/include/clang/Basic DiagnosticDriverKinds.td, cfe/trunk/include/clang/Frontend LangStandards.def

Improve diagnostics for bad -std= flag.

Don't list deprecated -std= values (c++0x etc). Only produce one line of output
per standard, even if we know it by multiple names.

In passing, add missing -std=gnu++03 alias (supported by GCC), and add new
spelling '-std=cl1.0' for OpenCL 1.0 for consistency with the other values,
with the same meaning as the preexisting '-std=cl'.

LLVM — llvm/trunk/lib/Passes PassBuilder.cpp, llvm/trunk/lib/Transforms/IPO PassManagerBuilder.cpp

Disable GVN Hoist due to still more bugs being found in it. There is
also a discussion about exactly what we should do prior to re-enabling
it.

The current bug is http://llvm.org/PR32821 and the discussion about this
is in the review thread for r300200.

LLVM — lldb/trunk/source/Host/common TCPSocket.cpp

One more attempt to fix the broken bots.

LLVM — cfe/trunk/include/clang/Lex PPCallbacks.h

clang/Lex/PPCallbacks.h: Fix a warning in r301472. [-Wdocumentation]

LLVM — lldb/trunk/source/Host/common TCPSocket.cpp

LLVM — llvm/trunk/include/llvm/IR DebugInfoMetadata.h, llvm/trunk/lib/Bitcode/Reader MetadataLoader.cpp

Turn DISubprogram into a variable-length node.

DISubprogram currently has 10 pointer operands, several of which are
often nullptr. This patch reduces the amount of memory allocated by
DISubprogram by rearranging the operands such that containing type,
template params, and thrown types come last, and are only allocated
when they are non-null (or followed by non-null operands).

This patch also eliminates the entirely unused DisplayName operand.

This saves up to 4 pointer operands per DISubprogram. (I tried
measuring the effect on peak memory usage on an LTO link of an X86
llc, but the results were very noisy).

This reapplies r301498 with an attempted workaround for g++.

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

LLVM — cfe/trunk/include/clang/Frontend LangStandard.h LangStandards.def, cfe/trunk/lib/Frontend CompilerInvocation.cpp

Remove unnecessary and somewhat inaccurate "C89" flag from language standards.

LLVM — llvm/trunk/include/llvm/IR DebugInfoMetadata.h, llvm/trunk/lib/Bitcode/Reader MetadataLoader.cpp

Revert "Turn DISubprogram into a variable-length node."

This reverts commit r301498 while investigating bot breakage.

LLVM — llvm/trunk/include/llvm/IR DebugInfoMetadata.h, llvm/trunk/lib/Bitcode/Reader MetadataLoader.cpp

Turn DISubprogram into a variable-length node.

DISubprogram currently has 10 pointer operands, several of which are
often nullptr. This patch reduces the amount of memory allocated by
DISubprogram by rearranging the operands such that containing type,
template params, and thrown types come last, and are only allocated
when they are non-null (or followed by non-null operands).

This patch also eliminates the entirely unused DisplayName operand.

This saves up to 4 pointer operands per DISubprogram. (I tried
measuring the effect on peak memory usage on an LTO link of an X86
llc, but the results were very noisy).

LLVM — cfe/trunk/include/clang/Frontend LangStandards.def LangStandard.h, cfe/trunk/lib/Frontend CompilerInvocation.cpp LangStandards.cpp

Don't accept -std= values that would switch us to a different source language.

We already prohibited this in most cases (in r130710), but had some bugs in our
enforcement of this rule. Specifically, this prevents the following
combinations:

 * -x c -std=clN.M, which would previously effectively act as if -x cl were
   used, despite the input being a C source file. (-x cl -std=cNN continues
   to be disallowed.)

 * -x c++ -std=cuda, which would previously select C++98 + CUDA, despite that
   not being a C++ standard. (-x cuda -std=c++NN is still permitted, and
   selects CUDA with the given C++ standard as its base language.
   -x cuda -std=cuda is still supported with the meaning of CUDA + C++98.)

 * -x renderscript -std=c++NN, which would previously form a hybrid "C++ with
   RenderScript extensions" language. We could support such a thing, but
   shouldn't do so by accident.

LLVM — llvm/trunk/include/llvm/CodeGen MachineFrameInfo.h

MachineFrameInfo.h: Remove unnecessary forward declarations; NFC

LLVM — llvm/trunk/lib/Target/Lanai LanaiRegisterInfo.cpp LanaiRegisterInfo.h

Lanai: Remove unnecessary canRealignStack() override; NFC

It was doing the same as the base implementation and was irritating me
when I was searching for backends that have custom behavior for
canRealignStack.

LLVM — llvm/trunk/lib/CodeGen MachineFrameInfo.cpp MachineFunction.cpp

MachineFrameInfo: Move implementation to an own file; NFC

Move implementation of the MachineFrameInfo class into
MachineFrameInfo.cpp

LLVM — lldb/trunk/source/Plugins/Language/CPlusPlus LibCxxUnorderedMap.cpp LibCxxVector.cpp

Fix libcxx formatters for changes in r300140.

Summary:
LLVM r300140 changed the layout and field names of __compressed_pair, which
broke LLDB's std::vector, std::map and std::unsorted_map formatters.

This patch attempts to fix these formatters by having them interogate the
__compressed_pair values to determine whether they're pre- or post-r300140
variants, then access them accordingly.

Reviewers: jingham, EricWF

Reviewed By: jingham

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

LLVM — lldb/trunk/cmake/modules LLDBConfig.cmake, lldb/trunk/include/lldb/Host MainLoop.h Socket.h

Re-landing IPv6 support for LLDB Host

This support was landed in r300579, and reverted in r300669 due to failures on the bots.

The failures were caused by sockets not being properly closed, and this updated version of 
the patches should resolve that.

Summary from the original change:

This patch adds IPv6 support to LLDB/Host's TCP socket implementation. Supporting IPv6 
involved a few significant changes to the implementation of the socket layers, and I have 
performed some significant code cleanup along the way.

This patch changes the Socket constructors for all types of sockets to not create sockets 
until first use. This is required for IPv6 support because the socket type will vary based 
on the address you are connecting to. This also has the benefit of removing code that 
could have errors from the Socket subclass constructors (which seems like a win to me).

The patch also slightly changes the API and behaviors of the Listen/Accept pattern. 
Previously both Listen and Accept calls took an address specified as a string. Now only 
listen does. This change was made because the Listen call can result in opening more than 
one socket. In order to support listening for both IPv4 and IPv6 connections we need to 
open one AF_INET socket and one AF_INET6 socket. During the listen call we construct a map 
of file descriptors to addrin structures which represent the allowable incoming connection 
address. This map removes the need for taking an address into the Accept call.

    [10 lines not shown]

LLVM — cfe/trunk/test/CodeGen target-features-error-2.c target-features-error.c, cfe/trunk/test/SemaCXX typo-correction-delayed.cpp

Revert r301487: Replace HashString algorithm with xxHash64

This reverts commit r301487 to make buildbots green.

LLVM — lld/trunk/ELF InputFiles.cpp

Remove unnecessary instantiation of StringRef.

SoName's type has changed from StringRef to std::string, so this
code does not make sense anymore.
Delta File
+1 -1 lld/trunk/ELF/InputFiles.cpp
+1 -1 1 file

LLVM — llvm/trunk/include/llvm/IR DebugInfoMetadata.h DIBuilder.h, llvm/trunk/lib/AsmParser LLParser.cpp

Add support for DW_TAG_thrown_type.

For Swift we would like to be able to encode the error types that a
function may throw, so the debugger can display them alongside the
function's return value when finish-ing a function.

DWARF defines DW_TAG_thrown_type (intended to be used for C++ throw()
declarations) that is a perfect fit for this purpose. This patch wires
up support for DW_TAG_thrown_type in LLVM by adding a list of thrown
types to DISubprogram.

To offset the cost of the extra pointer, there is a follow-up patch
that turns DISubprogram into a variable-length node.

rdar://problem/29481673

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

LLVM — lld/trunk/ELF InputFiles.cpp SymbolTable.cpp

Removes createELFFile which takes a template class as a template parameter.

This patch is to reduce amount of template uses. The new code is less
exciting and boring than before, but I think it is easier to read.

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

LLVM — cfe/trunk/test/CodeGen target-features-error-2.c target-features-error.c, cfe/trunk/test/SemaCXX typo-correction-delayed.cpp

Replace HashString algorithm with xxHash64

The previous algorithm processed one character at a time, which is very
painful on a modern CPU. Replace it with xxHash64, which both already
exists in the codebase and is fairly fast.

Patch from Scott Smith!

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

LLVM — cfe/trunk/lib/Sema SemaExpr.cpp

Fix comment. NFC
Delta File
+1 -2 cfe/trunk/lib/Sema/SemaExpr.cpp
+1 -2 1 file

LLVM — llvm/trunk/include/llvm/MC MCAssembler.h MCSection.h, llvm/trunk/include/llvm/MC/MCParser MCAsmParser.h MCTargetAsmParser.h

[MC] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC).

LLVM — lld/trunk/ELF LinkerScript.cpp OutputSections.cpp, lld/trunk/test/ELF/linkerscript sections.s

Create an OutputSection for each non-empty OutputSectionCommand.

We were already pretty close, the one exception was when a name was
reused in another SECTIONS directive:

SECTIONS {
  .text : { *(.text) }
  .data : { *(.data) }
}
SECTIONS {
  .data : { *(other) }
}

In this case we would create a single .data and magically output
"other" while looking at the first OutputSectionCommand.

We now create two .data sections. This matches what gold does. If we
really want to create a single one, we should change the parser so that
the above is parsed as if the user had written

SECTIONS {
  .text : { *(.text) }
  .data : { *(.data) *(other)}
}


    [6 lines not shown]

LLVM — lldb/trunk/source/Symbol ClangASTContext.cpp

Update lldb to match clang r301442.

This code really doesn't make any sense: there is only ever one InputKind here.
Plus, this is an incomplete and out-of-date copy-paste of some Clang code. This
really ought to be revisited, but this change should get the bots green again.

LLVM — cfe/trunk/lib/CodeGen CGExpr.cpp, cfe/trunk/test/CodeGenCXX ubsan-nullability-assign.cpp

[ubsan] nullability-assign: Check assignments into C++ structs

Fix the nullability-assign check so that it can handle assignments into
C++ structs. Previously, such assignments were not instrumented.

Testing: check-clang, check-ubsan, enabling the existing test in ObjC++
mode, and building some Apple frameworks with -fsanitize=nullability.

LLVM — llvm/branches/release_40/include/llvm/ADT DenseSet.h

Merging r292034: (PR32315)

Tweaked to not remove the non-const variants as to not change the ABI.

------------------------------------------------------------------------
r292034 | majnemer | 2017-01-14 13:54:58 -0800 (Sat, 14 Jan 2017) | 7 lines

Adding const overloads of operator* and operator-> for DenseSet iterators

This fixes some problems when building ClangDiagnostics.cpp on Visual Studio 2017 RC. As 
far as I understand, there was a change in the implementation of the constructor for 
std::vector with two iterator parameters, which in our case causes an attempt to 
dereference const Iterator objects. Since there was no overload for a const Iterator, the 
compile would fail.

Patch by Hugo Puhlmann!

Differential Revision: https://reviews.llvm.org/D28726
------------------------------------------------------------------------

LLVM — llvm/trunk/lib/Transforms/Utils LibCallsShrinkWrap.cpp

[LibCallsShrinkWrap] Remove an unnecessary class member variable.

LLVM — lld/trunk/ELF Driver.cpp

Do flag compatibility check in checkOptions. NFC.
Delta File
+3 -3 lld/trunk/ELF/Driver.cpp
+3 -3 1 file

LLVM — lld/trunk/ELF Driver.cpp

Factor out code to parse -build-id. NFC.
Delta File
+28 -23 lld/trunk/ELF/Driver.cpp
+28 -23 1 file

LLVM — llvm/trunk/lib/Transforms/Utils LibCallsShrinkWrap.cpp

[LibCallsShrinkWrap] More descriptive assertion messages.

Fix a typo while I'm here.

LLVM — llvm/trunk/lib/Transforms/Utils LibCallsShrinkWrap.cpp

[LibCallsShrinkWrap] Remove some temporary cl::opt(s).

The pass has been on and working for a while.

LLVM — cfe/trunk/include/clang/Lex PPCallbacks.h PreprocessingRecord.h, cfe/trunk/lib/Frontend PrintPreprocessedOutput.cpp

Revert "Revert "PPCallbacks::MacroUndefined, change signature and add test.""

This reverts commit r301469. It isn't needed with r301470, which fixes
the API break introduced in the original commit.

LLVM — llvm/trunk/lib/Transforms/Utils LibCallsShrinkWrap.cpp

[LibCallsShrinkWrap] Teach the pass how to preserve the dominator.

LLVM — cfe/trunk/include/clang/Lex PPCallbacks.h PreprocessingRecord.h, cfe/trunk/lib/Frontend PrintPreprocessedOutput.cpp

Revert "PPCallbacks::MacroUndefined, change signature and add test."

This reverts commit r301449. It breaks the build with:

  MacroPPCallbacks.h:114:50: error: non-virtual member function marked 'override' hides 
virtual member function

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

Kill the old Simplify* APIs, leave SimplifyInstruction for the moment

LLVM — llvm/trunk/lib/Transforms/Scalar NewGVN.cpp

NewGVN: Use new SimplifyQuery based API

LLVM — llvm/trunk/lib/Analysis PHITransAddr.cpp

PHITransAddr: Use new SimplifyQuery based API.

LLVM — llvm/trunk/lib/Transforms/InstCombine InstructionCombining.cpp InstCombineMulDivRem.cpp

InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionCache, 
DominatorTree, TargetLibraryInfo everywhere.

LLVM — cfe/branches/release_40/docs ClangFormatStyleOptions.rst, cfe/branches/release_40/include/clang/Format Format.h

Merging r299574:

------------------------------------------------------------------------
r299574 | nico | 2017-04-05 14:10:42 -0400 (Wed, 05 Apr 2017) | 17 lines

clang-format: Support formatting utf-8 character literals in C++11+ mode.

clang-format <<END
auto c1 = u8'a';
auto c2 = u'a';
END

Before:
  auto c1 = u8 'a';
  auto c2 = u'a';

Now:
  auto c1 = u8'a';
  auto c2 = u'a';

Patch from Denis Gladkikh <llvm at denis.gladkikh.email>!

------------------------------------------------------------------------

LLVM — lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime AppleObjCDeclVendor.cpp

Fixed a crash when dealing with an empty method name in the ObjC runtime.
I've filed a bug covering better unit testing of our runtime metadata reader, which will 
allow this to be testable.. 

<rdar://problem/31793264>

LLVM — llvm/trunk/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/trunk/test/CodeGen/ARM bool-ext-inc.ll

[DAGCombiner] add (sext i1 X), 1 --> zext (not i1 X)

Besides better codegen, the motivation is to be able to canonicalize this pattern 
in IR (currently we don't) knowing that the backend is prepared for that.

This may also allow removing code for special constant cases in 
DAGCombiner::foldSelectOfConstants() that was added in D30180.

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

LLVM — lld/trunk/COFF Chunks.cpp

Fix comments again.

I thought I fixed the page size, but there were still errors.
This patch also contains fixes for grammatical errors.
Thanks pcc for proofreading!
Delta File
+21 -24 lld/trunk/COFF/Chunks.cpp
+21 -24 1 file

LLVM — cfe/trunk/lib/Sema SemaOverload.cpp, cfe/trunk/test/Modules malformed-overload.m

[Modules] Fix a crash-on-invalid with overloaded functions

Do not add an overload if the function doesn't have a prototype; this
can happen if, for instance, a misplaced/malformed call site is
considered like a declaration for recovery purposes.

rdar://problem/31306325