Displaying 1 50 of 183,376 commits (0.011s)

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

Fixed a build problem when there were headers
for a different LLVM present in the system header
lookup path.

LLVM — llvm/trunk/include/llvm/ADT StringRef.h

Add missing const to StringRef.copy()

LLVM — lldb/trunk/source/Expression ClangExpressionParser.cpp

Fixed a build problem dueo to changes in the
way ownership of memory buffers is handled in
clang's SourceManager.

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

Fix typo and formatting

LLVM — llvm/trunk/include/llvm/Object MachO.h, llvm/trunk/include/llvm/Support MachO.h

Object/llvm-objdump: allow dumping of mach-o exports trie

MachOObjectFile in lib/Object currently has no support for parsing the rebase, 
binding, and export information from the LC_DYLD_INFO load command in final 
linked mach-o images. This patch adds support for parsing the exports trie data
structure. It also adds an option to llvm-objdump to dump that export info.

I did the exports parsing first because it is the hardest. The information is 
encoded in a trie structure, but the standard ObjectFile way to inspect content 
is through iterators. So I needed to make an iterator that would do a 
non-recursive walk through the trie and maintain the concatenation of edges 
needed for the current string prefix.

I plan to add similar support in MachOObjectFile and llvm-objdump to 
parse/display the rebasing and binding info too.

LLVM — cfe/trunk/test/CodeGenCXX ctor-dtor-alias.cpp

Cleanup test.

This should make it easier to add more tests to this file.

LLVM — cfe/trunk/lib/Serialization ASTReaderDecl.cpp ASTWriterDecl.cpp, cfe/trunk/test/Modules cxx-decls.cpp

[modules] Fix deserialization cycle when loading a tag declaration with a typedef name for 
linkage purposes. When loading the type, delay loading its typedef until we've finished 
loading and merging the type. In its place, save out the name of the typedef, which we 
need for merging purposes.

LLVM — llvm/trunk/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/trunk/test/CodeGen/AArch64 madd-combiner.ll

[MachineCombiner][AArch64] Use the correct register class for MADD, SUB, and OR.

Select the correct register class for the various instructions that are
generated when combining instructions and constrain the registers to the
appropriate register class.

This fixes rdar://problem/18183707.

LLVM — llvm/trunk/lib/Target/AArch64 AArch64FastISel.cpp, llvm/trunk/test/CodeGen/AArch64 arm64-fast-isel-call.ll

[FastISel][AArch64] Use the correct register class for branches.

Also constrain the register class for branches.

This fixes rdar://problem/18181496.

LLVM — llvm/trunk/lib/CodeGen MachineSink.cpp, llvm/trunk/test/CodeGen/AArch64 fast-isel-machine-sink.ll

[MachineSinking] Clear kill flag of all operands at all their uses.

When sinking an instruction it might be moved past the original last use of one
of its operands. This last use has the kill flag set and the verifier will
obviously complain about this.

Before Machine Sinking (AArch64):
%vreg3<def> = ASRVXr %vreg1, %vreg2<kill>
%XZR<def> = SUBSXrs %vreg4, %vreg1<kill>, 160, %NZCV<imp-def>

After Machine Sinking:
%XZR<def> = SUBSXrs %vreg4, %vreg1<kill>, 160, %NZCV<imp-def>
%vreg3<def> = ASRVXr %vreg1, %vreg2<kill>

This fix clears all the kill flags in all instruction that use the same operands
as the instruction that is being sunk.

This fixes rdar://problem/18180996.

LLVM — cfe/trunk/test/CodeGenCXX destructors.cpp

Cleanup the test a bit. It was too dependent on the output order.
Delta File
+166 -170 cfe/trunk/test/CodeGenCXX/destructors.cpp
+166 -170 1 file

LLVM — llvm/trunk/lib/ExecutionEngine/RuntimeDyld RuntimeDyldMachO.cpp RuntimeDyld.cpp, llvm/trunk/lib/ExecutionEngine/RuntimeDyld/Targets RuntimeDyldMachOI386.h RuntimeDyldMachOARM.h

[MCJIT] Move endian-aware read/writes from RuntimeDyldMachO into

These are platform independent, and moving them to the base class allows
RuntimeDyldChecker to use them too.

LLVM — cfe/trunk/lib/CodeGen CGDebugInfo.cpp CGDebugInfo.h, cfe/trunk/test/CodeGenCXX debug-info-access.cpp debug-info-static-member.cpp

Debug info: Only emit C++ accessibility specifiers when they are diverging
from the default for the containing type.


LLVM — llvm/trunk/include/llvm/IR DebugInfo.h, llvm/trunk/lib/CodeGen/AsmPrinter DwarfUnit.cpp

Debug info: Add a new explicit DIDescriptor flag for the "public" access
specifier and change the default behavior to only emit the
DW_AT_accessibility(public) attribute when the isPublic() is explicitly


LLVM — llvm/trunk/lib/TableGen TGParser.cpp

Comment only: Annotate loop as per mailing list discussion

LLVM — llvm/trunk/include/llvm/MC MCLinkerOptimizationHint.h, llvm/trunk/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

Make isValidMCLOHType take unsigned instead of enum to avoid loading invalid enum values

LLVM — cfe/trunk/test/Modules cxx-decls.cpp, cfe/trunk/test/Modules/Inputs module.map cxx-decls-premerged.h

Add some missing test coverage for merging 'extern "C"' functions with modules.

LLVM — llvm/trunk/test/tools/llvm-objdump/X86 macho-private-headers.test, llvm/trunk/tools/llvm-objdump MachODump.cpp

Next bit of support for llvm-objdump’s -private-headers for Mach-O files.

This adds the printing of the LC_SEGMENT load command and sections,
LC_SYMTAB and LC_DYSYMTAB load commands.

LLVM — llvm/trunk/lib/Target/AArch64 AArch64ISelLowering.cpp

AArch64: Silence -Wabsolute-value warning with std::abs

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

Speculative build fix for const, gcc, and ArrayRef overloads

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter DwarfDebug.cpp DwarfUnit.cpp

Revert accidentally committed patches r216787-r216789

Rushed when I realized I hadn't committed the FreeDeleter for a clang
change I'd committed, and didn't check that I had things lying around in
my client.

Apologies for the noise.

LLVM — cfe/trunk/test/CodeGenCXX microsoft-abi-virtual-member-pointers.cpp microsoft-abi-vmemptr-fastcall.cpp

Fix my broken test cases.

LLVM — llvm/trunk/include/llvm/ADT STLExtras.h

Add a trivial functor for use with unique_ptrs managing memory that needs to be freed 
rather than deleted.

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter DwarfDebug.cpp

Omit dwarf::DW_AT_frame_base under -gmlt

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter DwarfDebug.cpp


LLVM — cfe/trunk/include/clang/Lex PTHManager.h, cfe/trunk/lib/Lex PTHLexer.cpp

unique_ptrify PTHManager's PerIDCache using the newly added llvm::FreeDeleter

LLVM — cfe/trunk/include/clang/Lex PTHManager.h, cfe/trunk/lib/Lex PTHLexer.cpp

unique_ptrify some parameters to PTHManager::PTHManager

A couple of these arguments were passed by void* as a rather extreme
example of pimpling. Adjusting this to a more classic form of the idiom
(involving forward declarations) makes this more legible and allows
explicit passing of ownership via std::unique_ptr.

LLVM — llvm/trunk/docs ProgrammersManual.rst, llvm/trunk/include/llvm/Analysis TargetTransformInfo.h PostDominators.h

Fix typos in comments, NFC

Summary: Just fixing comments, no functional change.

Test Plan: N/A

Reviewers: jfb

Subscribers: mcrosier, llvm-commits

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

LLVM — cfe/trunk/test/Analysis disable-all-checks.c

Fixup for r216763. Add a driver test.

LLVM — cfe/trunk/lib/CodeGen MicrosoftCXXABI.cpp CGCall.cpp, cfe/trunk/test/CodeGenCXX microsoft-abi-virtual-member-pointers.cpp microsoft-abi-vmemptr-conflicts.cpp

Make all virtual member pointers use variadic musttail calls

This avoids encoding information about the function prototype into the
thunk at the cost of some function prototype bitcast gymnastics.

Fixes PR20653.

LLVM — llvm/trunk/lib/CodeGen/SelectionDAG FunctionLoweringInfo.cpp, llvm/trunk/lib/Target/X86 X86ISelLowering.cpp

Add a const and munge some comments

LLVM — llvm/trunk/include/llvm/CodeGen MachineFrameInfo.h, llvm/trunk/lib/CodeGen/SelectionDAG FunctionLoweringInfo.cpp

musttail: Forward regparms of variadic functions on x86_64

If a variadic function body contains a musttail call, then we copy all
of the remaining register parameters into virtual registers in the
function prologue. We track the virtual registers through the function
body, and add them as additional registers to pass to the call. Because
this is all done in virtual registers, the register allocator usually
gives us good code. If the function does a call, however, it will have
to spill and reload all argument registers (ew).

Forwarding regparms on x86_32 is not implemented because most compilers
don't support varargs in 32-bit with regparms.

Reviewers: majnemer

Subscribers: aemerson, llvm-commits

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

LLVM — llvm/trunk/lib/IR Verifier.cpp, llvm/trunk/lib/Target/X86 X86ISelLowering.cpp

Verifier: Don't reject varargs callee cleanup functions

We've rejected these kinds of functions since r28405 in 2006 because
it's impossible to lower the return of a callee cleanup varargs
function. However there are lots of legal ways to leave such a function
without returning, such as aborting. Today we can leave a function with
a musttail call to another function with the correct prototype, and
everything works out.

I'm removing the verifier check declaring that a normal return from such
a function is UB.

Reviewed By: nlewycky

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

LLVM — cfe/trunk/lib/Sema SemaTemplateVariadic.cpp, cfe/trunk/test/CXX/dcl.decl/dcl.meaning/dcl.fct p13.cpp

Fix for PR20660, where unexpanded parameter pack in function parameter clause causes clang 
to crash.

LLVM — cfe/trunk/lib/Analysis FormatString.cpp

Add a comment, no functional change.

LLVM — llvm/trunk/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/trunk/test/CodeGen/AArch64 and-mask-removal.ll

Remove spurious mask operations from AArch64 add->compares on 16 and 8 bit values

This patch checks for DAG patterns that are an add or a sub followed by a
compare on 16 and 8 bit inputs. Since AArch64 does not support those types
natively they are legalized into 32 bit values, which means that mask operations
are inserted into the DAG to emulate overflow behaviour. In many cases those
masks do not change the result of the processing and just introduce a dependent
operation, often in the middle of a hot loop.

This patch detects the relevent DAG patterns and then tests to see if the
transforms are equivalent with and without the mask, removing the mask if
possible. The exact mechanism of this patch was discusses in

There is a reasonably good chance there are missed oppurtunities due to similiar
(but not identical) DAG patterns that could be funneled into this test, adding
them should be simple if we see test cases.

Tests included.


LLVM — llvm/trunk/lib/Target/X86 X86SelectionDAGInfo.cpp X86SelectionDAGInfo.h, llvm/trunk/test/CodeGen/X86 mem-intrin-base-reg.ll

X86: Fix conflict over ESI between base register and rep;movsl

The new solution is to not use this lowering if there are any dynamic
allocas in the current function. We know up front if there are dynamic
allocas, but we don't know if we'll need to create stack temporaries
with large alignment during lowering. Conservatively assume that we will
need such temporaries.

Reviewed By: hans

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

LLVM — llvm/trunk/include/llvm/IR Instruction.h

another typo

LLVM — llvm/trunk/include/llvm/IR Instruction.h


LLVM — llvm/trunk/lib/Analysis MemoryDependenceAnalysis.cpp, llvm/trunk/test/Transforms/DeadStoreElimination atomic.ll

Relax the constraint more in MemoryDependencyAnalysis.cpp

Even loads/stores that have a stronger ordering than monotonic can be safe.
The rule is no release-acquire pair on the path from the QueryInst, assuming that
the QueryInst is not atomic itself.

LLVM — lldb/trunk/test/tools/lldb-gdbserver TestLldbGdbServer.py

Fix a test broken by r216564.

llgs Linux is no longer doing the translation to some gdb fixed signal
numbers.  This change modifies the test method to take in the signo
expected for a segfault.  The debugserver test uses the fixed gdb number,
and everything else uses signal.SIGSEGV for the platform.

Sidenote: I somehow did not see this reported in multicore tests.
I will need to verify that we aren't missing test failures in that
script.  I need to verify why this wasn't more obvious with

LLVM — cfe/trunk/lib/Sema SemaObjCProperty.cpp, cfe/trunk/test/Analysis objc_invalidation.m

Objective-C [qoi]. If property is going to be implemented
in the super class, do not issue the warning about property
in current class's protocol will not be auto synthesized.
// rdar://18179833

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

[X86] Refactor X86ISelDAGToDAG::SelectAtomicLoadArith - NFC

Mostly renaming the (not very explicit) variables Tmp0, .. Tmp4, and grouping
related statements together, along with a few lines of comments for the
surprising parts.

No functional change intended.

Test Plan: make check-all

Reviewers: jfb

Subscribers: llvm-commits

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

LLVM — cfe/trunk/include/clang/Frontend SerializedDiagnosticPrinter.h, cfe/trunk/lib/Frontend SerializedDiagnosticPrinter.cpp CompilerInstance.cpp

unique_ptrify the raw_ostream argument to clang::serialized_diags::create

LLVM — lldb/trunk/source/Commands CommandObjectTarget.cpp

lldb - fix misleading "valid target indexes are" error message

See http://reviews.llvm.org/D4430 for more details.

Change by Paul Osmialowski.

LLVM — cfe/trunk/include/clang/StaticAnalyzer/Frontend CheckerRegistration.h, cfe/trunk/lib/StaticAnalyzer/Frontend AnalysisConsumer.cpp CheckerRegistration.cpp

unique_ptrify clang::ento::createCheckerManager

LLVM — cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter PathDiagnostic.h, cfe/trunk/lib/StaticAnalyzer/Core PathDiagnostic.cpp BugReporter.cpp

unique_ptrify PathDiagnosticConsumer::HandlePathDiagnostic

FoldingSet, another intrusive data structure that could use some
unique_ptr love on its interfaces. Eventually.

LLVM — cfe/trunk/include/clang/Basic DiagnosticFrontendKinds.td, cfe/trunk/include/clang/Driver CC1Options.td

Add an option to silence all analyzer warnings.

People have been incorrectly using "-analyzer-disable-checker" to
silence analyzer warnings on a file, when analyzing a project. Add
the "-analyzer-disable-all-checks" option, which would allow the
suppression and suggest it as part of the error message for
"-analyzer-disable-checker". The idea here is to compose this with
"--analyze" so that users can selectively opt out specific files from
static analysis.

LLVM — llvm/branches/release_35/docs ReleaseNotes.rst

Include blurb about Likely. By Josh Klontz.

LLVM — cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter BugReporter.h, cfe/trunk/lib/StaticAnalyzer/Core BugReporter.cpp

unique_ptrify thep passing of BugReports to BugReportEquivClass

I suspect llvm::ilist should take elements by unique_ptr, since it does
take ownership of the element (by stitching it into the linked list) -
one day.