Displaying 1 50 of 199,295 commits (0.016s)

LLVM — lldb/trunk/test/tools/lldb-server gdbremote_testcase.py

Fix adb forward in gdbremote_testcase to support multiple devices.

Summary: Update to D9510.

Reviewers: chying, tberghammer, ovyalov

Reviewed By: ovyalov

Subscribers: lldb-commits

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

LLVM — llvm/trunk/include/llvm/Transforms Instrumentation.h, llvm/trunk/lib/Transforms/Instrumentation SanitizerCoverage.cpp

[SanitizerCoverage] Introduce SanitizerCoverageOptions struct.

Summary:
This gives frontend more precise control over collected coverage
information. User can still override these options by passing
-mllvm flags.

No functionality change.

Test Plan: regression test suite.

Reviewers: kcc

Subscribers: llvm-commits

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

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

IR: Initialize DerefOrNullBytes in the AttrBuilder constructors

MSAN pointed out that this value is used uninitialized:

    http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/3678

LLVM — llvm/trunk/lib/ProfileData CoverageMappingReader.cpp

InstrProf: Simplify looking up sections for coverage data

LLVM — llvm/trunk/lib/Transforms/Scalar JumpThreading.cpp, llvm/trunk/test/Transforms/JumpThreading thread-cmp.ll

[JumpThreading] Simplify comparisons when simplifying branches

If we have recognized that a conditional is constant at a particular location in the code 
(while trying to decide if we can simplify a conditional branch), we can eagerly replace 
that condition with a constant if it's definition is post dominated by the branch in 
question.

In practice, this ends up being a compile time savings at most. JumpThreading would have 
visited each using branch anyways. CVP would have visited the cmp itself again. Unless LVI 
gives up early, we shouldn't gain any addition power by doing this transformation early. 
What we do gain is simplicity and compile time.

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

LLVM — llvm/trunk/lib/Fuzzer FuzzerDFSan.cpp, llvm/trunk/lib/Fuzzer/test fuzzer.test CxxTokensTest.cpp

[lib/Fuzzer] add dfsan_weak_hook_memcmp, enable the test that uses it, simplify the test 
runner

LLVM — cfe/trunk/lib/Sema SemaStmt.cpp, cfe/trunk/test/SemaCXX typo-correction-cxx11.cpp

When performing delayed typo correction in a for-range loop's variable
declaration, ensure the loop variable is properly marked as invalid when
it is an "auto" variable.

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

Don't crash if we load a file with an architecture we don't support and try to parse some 
DWARF.

The ClangASTContext::getTargetInfo() will return NULL in this case and could cause us to 
crash if we don't check.

<rdar://problem/20543554>

LLVM — llvm/trunk/include/llvm/Support MathExtras.h, llvm/trunk/lib/Analysis ConstantFolding.cpp

Added support for building against Android API-9 SDK

Created an abstraction for log2, llvm::Log2 in Support/MathExtras.h

Hid Android problems inside of it

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

LLVM — llvm/trunk/lib/IR ConstantFold.cpp Constants.cpp, llvm/trunk/lib/Transforms/IPO GlobalOpt.cpp

Revert "[opaque pointer type] Pass explicit pointer type through GEP constant folding"

Causes regressions in Clang. Reverting while I investigate.

This reverts commit r236670.

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

[X86MCInst] Clean up LowerSTATEPOINT: variable names.  NFC.

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

[Statepoints] Clean up PlaceSafepoints.cpp: de-duplicate code.

Common duplicated code and remove unnecessary code.

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

[Statepoints] Clean up PlaceSafepoints.cpp: variable naming.

Use CamelCase.  NFC.

LLVM — llvm/trunk/include/llvm/IR IRBuilder.h, llvm/trunk/lib/IR IRBuilder.cpp

[IRBuilder] Add a CreateGCStatepointInvoke.

Renames the original CreateGCStatepoint to CreateGCStatepointCall, and
moves invoke creating functionality from PlaceSafepoints.cpp to
IRBuilder.cpp.

This changes the labels generated for PlaceSafepoints/invokes.ll so use
a regex there to make the basic block labels more resilient.

LLVM — llvm/trunk/include/llvm/CodeGen CommandFlags.h, llvm/trunk/tools/llc llc.cpp

Factor out a function which determines the cpu and feature strings based on
command line options -mcpu and -mattr. NFC.

LLVM — llvm/trunk/lib/IR ConstantFold.cpp Constants.cpp, llvm/trunk/lib/Transforms/IPO GlobalOpt.cpp

[opaque pointer type] Pass explicit pointer type through GEP constant folding

LLVM — llvm/trunk/include/llvm/Support YAMLParser.h, llvm/trunk/unittests/Support YAMLParserTest.cpp

YAML: Fix crash in the skip method of KeyValueNode class. 

This commit changes the 'skip' method in the 'KeyValueNode' class
to ensure that it doesn't dereference a null pointer when calling 
the 'skip' method of its value child node. It also adds a unittest
that ensures that the crash doesn't occur.

This change is motivated by a patch that implements parsing
of YAML block scalars (http://reviews.llvm.org/D9503), as one
of the unittests in that patch triggered this problem.

LLVM — llvm/trunk/include/llvm/IR Attributes.h, llvm/trunk/lib/IR Verifier.cpp Attributes.cpp

Change typeIncompatible to return an AttrBuilder instead of new-ing an AttributeSet.

This makes use of the new API which can remove attributes from a set given a builder.

This is much faster than creating a temporary set and reduces llc time by about 0.3% which 
was all spent creating temporary attributes sets on the context.

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

Update all comments to match the previous commit.  NFC

LLVM — llvm/trunk/include/llvm/IR Attributes.h, llvm/trunk/lib/IR Attributes.cpp

Add remove method to operate on AttrBuilder instead of AttributeSet.

Prior to this change we would have to construct a temporary AttributeSet (which isn't 
temporary at all given that its allocated on the context), just to contain the attributes 
in the builder, then call remove on that.

Now we can just remove any attributes from the (lightweight and really temporary) builder 
itself.

Will be used in a future commit to remove some temporary attributes sets.

LLVM — llvm/trunk/include/llvm/ProfileData CoverageMapping.h, llvm/trunk/lib/ProfileData CoverageMappingReader.cpp CoverageMapping.cpp

InstrProf: Give coverage its own errors instead of piggy backing on instrprof

Since the coverage mapping reader and the instrprof reader were
emitting a shared set of error codes, the error messages you'd get
back from llvm-cov were ambiguous about what was actually wrong. Add
another error category to fix this.

I've also improved the wording on a couple of the instrprof errors,
for consistency.

LLVM — llvm/trunk/include/llvm/ProfileData CoverageMappingReader.h, llvm/trunk/lib/ProfileData CoverageMappingReader.cpp

InstrProf: Remove a function that just returns its argument (NFC)

LLVM — llvm/trunk/lib/Support YAMLParser.cpp

YAML: Extract the code that skips a comment into a separate method, NFC. 

This commit extracts the code that skips over a YAML comment from 
the 'scanToNextToken' method into a separate 'skipComment' method.

This refactoring is motivated by a patch that implements parsing
of YAML block scalars (http://reviews.llvm.org/D9503), as the
method that parses a block scalar reuses the 'skipComment' method.
Delta File
+19 -12 llvm/trunk/lib/Support/YAMLParser.cpp
+19 -12 1 file

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

Remove unnecessary #ifndef NDEBUG guard around assert.  NFC.

Found by Hal Finkel in the review of AttributeSets.  
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150504/275058.html
Delta File
+0 -2 llvm/trunk/lib/IR/Attributes.cpp
+0 -2 1 file

LLVM — llvm/trunk/lib/Bitcode/Writer BitcodeWriter.cpp, llvm/trunk/test/Bitcode debug-loc-again.ll

Bitcode: Set LastDL after writing DebugLocs

Somehow I dropped this in r233585, and we haven't had `DEBUG_LOC_AGAIN`
records since.  Add it back.  Also tests that the output assembly looks
okay.

Fixes PR23436.

LLVM — llvm/trunk/lib/CodeGen LivePhysRegs.cpp IfConversion.cpp, llvm/trunk/test/CodeGen/ARM ifcvt-dead-def.ll

Handle dead defs in the if converter.

We had code such as this:
  r2 = ...
  t2Bcc

label1:
  ldr ... r2

label2;
  return r2<dead, def>

The if converter was transforming this to
   r2<def> = ...
   return [pred] r2<dead,def>
   ldr <r2, kill>
   return

which fails the machine verifier because the ldr now reads from a dead def.

The fix here detects dead defs in stepForward and passes them back to the caller in the 
clobbers list.  The caller then clears the dead flag from the def is the value is live.

LLVM — llvm/trunk/lib/Fuzzer dfsan_fuzzer_abi.list FuzzerDFSan.cpp, llvm/trunk/lib/Fuzzer/test/dfsan CMakeLists.txt

[lib/Fuzzer] remove dfsan_fuzzer_abi.list -- its contents are now moved to dfsan proper

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

[RegisterCoalescer] Make sure each live-range has only one component, as
demanded by the machine verifier.
After shrinking a live-range to its uses, it is possible to create several
smaller live-ranges. When this happens, shrinkToUses returns true and we need to
split the different components into their own live-ranges.

The problem does not reproduce on any in-tree target but Jonas Paulsson
<jonas.paulsson at ericsson.com>, who reported the problem, checked that this patch
fixes the issue.

LLVM — llvm/trunk/lib/Fuzzer/test CMakeLists.txt, llvm/trunk/lib/Fuzzer/test/dfsan DFSanMemcmpTest.cpp

[lib/Fuzzer] add a fuzzer test for memcmp (does not work yet)

LLVM — cfe/trunk/test/Modules public-private.modulemap

Fix public-private.modulemap test case to clear the cache on every run.

LLVM — llvm/trunk/lib/Support CMakeLists.txt

Fix link failure on MinGW due to use of CoInitialize.

ole32 is considered a default library with MSVC, but apparently
not with MinGW.  Since we use CoInitialize, we need to explicitly
link against it in LLVMSupport for a MinGW build.

LLVM — llvm/trunk/include/llvm/DebugInfo/PDB PDBContext.h, llvm/trunk/lib/DebugInfo/PDB PDBContext.cpp

A few fixes for llvm-symbolizer on Windows.

Specifically, this patch correctly respects the -demangle option,
and additionally adds a hidden --relative-address option allows
input addresses to be relative to the module load address instead
of absolute addresses into the image.

LLVM — llvm/trunk/docs LibFuzzer.rst, llvm/trunk/lib/Fuzzer FuzzerMain.cpp dfsan_fuzzer_abi.list

[lib/Fuzzer] rename TestOneInput to LLVMFuzzerTestOneInput to make it more unique

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

CGCXX: Use cast in getAddrOfCXXStructor()

All callers should be passing `CXXConstructorDecl` or
`CXXDestructorDecl` here, so use `cast<>` instead of `dyn_cast<>` when
setting up the `GlobalDecl`.
Delta File
+1 -2 cfe/trunk/lib/CodeGen/CGCXX.cpp
+1 -2 1 file

LLVM — llvm/trunk/lib/CodeGen/SelectionDAG FastISel.cpp, llvm/trunk/test/CodeGen/ARM fast-isel-shift-materialize.ll

Fix incorrect kill flags in fastisel.

If called twice in the same BB on the same constant, FastISel::fastEmit_ri_ was marking 
the materialized vreg as killed on each use, instead of only the last use.

Change this to only mark the last use as killed by making earlier uses check if the vreg 
is already used elsewhere.

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

I forgot to return here, so do it, and appease the compiler

LLVM — llvm/trunk/lib/Target/X86 X86FastISel.cpp, llvm/trunk/test/CodeGen/X86 fast-isel-movsbl-indexreg.ll

[x86] Fix register class of folded load index reg.

When folding a load in to another instruction, we need to fix the class of the index 
register
Otherwise, it could be something like GR64 not GR64_NOSP and would fail the machine 
verifier.

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

[SanitizerCoverage] Fix a couple of typos. NFC.

LLVM — llvm/trunk/include/llvm/MC MCContext.h, llvm/trunk/lib/CodeGen LLVMTargetMachine.cpp

MC: Skip names of temporary symbols in object streamer

Don't create names for temporary symbols when using an object streamer.
The names never make it to the output anyway.  From the starting point
of r236629, my heap profile says this drops peak memory usage from 1100
MB to 1058 MB for CodeGen of `verify-uselistorder`, a savings of almost
4% on peak memory, and removes `StringMap<bool, BumpPtrAllocator...>`
from the profile entirely.

(I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`;
see r236629 for details.)

LLVM — cfe/trunk/docs SanitizerCoverage.rst

[docs] Update SanitizerCoverage docs.
Delta File
+12 -6 cfe/trunk/docs/SanitizerCoverage.rst
+12 -6 1 file

LLVM — lldb/trunk/include/lldb/Target ObjCLanguageRuntime.h, lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime AppleObjCRuntimeV2.cpp

Add a language objc class-table dump command

This command dumps a bunch of interesting facts about all Objective-C classes known to 
LLDB in the inferior process

LLVM — lldb/trunk/test/tools/lldb-mi/variable TestMiGdbSetShowPrint.py

Skip additional lldb-mi tests that failed on FreeBSD

LLVM — llvm/trunk/lib/CodeGen Analysis.cpp, llvm/trunk/test/CodeGen/AArch64 tail-call.ll

CodeGen: move over-zealous assert into actual if statement.

It's quite possible to encounter an insertvalue instruction that's more deeply
nested than the value we're looking for, but when that happens we really
mustn't compare beyond the end of the index array.

Since I couldn't see any guarantees about what comparisons std::equal makes, we
probably need to directly check the size beforehand. In practice, I suspect
most std::equal implementations would probably bail early, which would be OK.
But just in case...

rdar://20834485

LLVM — cfe/trunk/lib/Format UnwrappedLineFormatter.h, cfe/trunk/unittests/Format FormatTest.cpp

clang-format: Don't indent 'signals' as access specifier if it isn't one

Before:
  {
  signals.set(0);
  }

After:
  {
    signals.set(0);
  }

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter DwarfDebug.cpp, llvm/trunk/test/CodeGen/X86 2010-05-26-DotDebugLoc.ll 2010-05-25-DotDebugLoc.ll

DwarfDebug: Emit number of bytes in .debug_loc entry directly

Emit the number of bytes in a `.debug_loc` entry directly.  The old code
created temp labels (expensive), emitted the difference between them,
and then emitted one on each side of the relevant bytes.

(I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`
(the optimized version of ld64's `-save-temps` when linking the
`verify-uselistorder` executable in an LTO bootstrap).  I've hacked
`MCContext::Allocate()` to just call `malloc()` instead of using the
`BumpPtrAllocator` so that the heap profile is easier to read.  As far
as peak memory is concerned, `MCContext::Allocate()` is equivalent to a
leak, since it only gets freed at process teardown.

In my heap profile, this patch drops memory usage of
`DwarfDebug::emitDebugLoc()` from 132.56 MB (11.4%) down to 29.86 MB
(2.7%) at peak memory.  Some of that must be noise from `SmallVector`
(or other) allocations -- peak memory only dropped from 1160 MB down to
1100 MB -- but this nevertheless shaves 5% off the top.)

LLVM — llvm/trunk/include/llvm/Transforms/Utils ModuleUtils.h, llvm/trunk/lib/Transforms/Utils ModuleUtils.cpp

Implement `createSanitizerCtor`, common helper function for all sanitizers

Summary:
This helper function creates a ctor function, which calls sanitizer's
init function with given arguments. This constructor is then expected
to be added to module's ctors. The patch helps unifying how sanitizer
constructor functions are created, and how init functions are called
across all sanitizers.

Reviewers: kcc, samsonov

Subscribers: llvm-commits

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

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

[WinEH] Improve fatal error message about failed demotion

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

Allow the gdb_objc_realized_classes symbol to be
any type of symbol, which is okay since we are
looking only in the Objective-C module.

<rdar://problem/20828139>

LLVM — cfe/trunk/lib/Driver Tools.cpp Tools.h

[driver] Cosmetic change to use Input instead of Inputs[0].

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

LLVM — lldb/trunk/test dotest.py

Don't attempt DSym tests on Windows.
Delta File
+2 -3 lldb/trunk/test/dotest.py
+2 -3 1 file