Displaying 1 50 of 253,161 commits (0.041s)

LLVM — llvm/trunk/test/CodeGen/ARM rev.ll

The automatic CHECK: to CHECK-LABEL: conversion, back in 2013,
had missed most labels in this test because they didn't end
with a colon.

LLVM — llvm/trunk/lib/DebugInfo/DWARF DWARFDie.cpp

[DebugInfo] Skip implicit_const attributes when dumping .debug_info. NFC.

When dumping .debug_info section we loop through all attributes mentioned in
.debug_abbrev section and dump values using DWARFFormValue::extractValue().
We need to skip implicit_const attributes here as their values are not
really located in .debug_info but directly in .debug_abbrev. This patch fixes
triggered assert() in DWARFFormValue::extractValue() caused by trying to
access implicit_const values from .debug_info.

LLVM — llvm/trunk/include/llvm/Target TargetLowering.h, llvm/trunk/lib/CodeGen TargetLoweringBase.cpp

In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled.

    Recommiting after fixup of 32-bit aliasing sign offset bug in DAGCombiner.

    * Simplify Consecutive Merge Store Candidate Search

    Now that address aliasing is much less conservative, push through
    simplified store merging search and chain alias analysis which only
    checks for parallel stores through the chain subgraph. This is cleaner
    as the separation of non-interfering loads/stores from the
    store-merging logic.

    When merging stores search up the chain through a single load, and
    finds all possible stores by looking down from through a load and a
    TokenFactor to all stores visited.

    This improves the quality of the output SelectionDAG and the output
    Codegen (save perhaps for some ARM cases where we correctly constructs
    wider loads, but then promotes them to float operations which appear
    but requires more expensive constant generation).

    Some minor peephole optimizations to deal with improved SubDAG shapes (listed below)

    Additional Minor Changes:


    [42 lines not shown]

LLVM — llvm/trunk/docs ProgrammersManual.rst

[Doc] Modernize programmers manual

Summary:
Fixed bunch of for loops to range based for loop
and bunch of rendundat types with auto.

Reviewers: echristo, silvas, chandlerc

Subscribers: mehdi_amini, llvm-commits

Differential Revision: https://reviews.llvm.org/D30338
Delta File
+21 -28 llvm/trunk/docs/ProgrammersManual.rst
+21 -28 1 file

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

Empty line. NFCI

LLVM — llvm/trunk/unittests/DebugInfo/PDB BinaryStreamTest.cpp

Add static_cast to silence -Wc++11-narrowing.

LLVM — cfe/trunk/test/Profile c-ternary.c

Weaken test/Profile/c-ternary.c

There is a bot which doesn't use '%1' as the IR name of the first
argument to a function:

http://lab.llvm.org:8011/builders/clang-with-thin-lto-ubuntu/builds/2050/steps/test-stage1-compiler/logs/stdio

LLVM — cfe/trunk/test/CoverageMapping implicit-def-in-macro.m macro-expressions.cpp

Suppress uninteresting warnings in test/CoverageMapping, NFC.

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

Fix -Wparentheses warning

LLVM — cfe/trunk/lib/CodeGen CodeGenPGO.cpp CodeGenFunction.h, cfe/trunk/test/Profile c-ternary.c

Retry: [profiling] Fix profile counter increment when emitting selects (PR32019)

2nd attempt: the first was in r296231, but it had a use after lifetime
bug.

Clang has logic to lower certain conditional expressions directly into llvm
select instructions. However, it does not emit the correct profile counter
increment as it does this: it emits an unconditional increment of the counter
for the 'then branch', even if the value selected is from the 'else branch'
(this is PR32019).

That means, given the following snippet, we would report that "0" is selected
twice, and that "1" is never selected:

  int f1(int x) {
    return x ? 0 : 1;
               ^2  ^0
  }

  f1(0);
  f1(1);

Fix the problem by using the instrprof_increment_step intrinsic to do the
proper increment.

LLVM — llvm/trunk/unittests/DebugInfo/PDB BinaryStreamTest.cpp

[PDB] Disable some tests that are breaking bots.

This has to do with big endian, but I can't fix it until
Monday.  The code itself is fine, just the tests are wrong.
Disabling 3 tests for now.

LLVM — lldb/trunk/source/Plugins/Language/CPlusPlus CPlusPlusLanguage.cpp

Three LoadLibCxxFormatters formatters were given a regex string to
match but the 'is_regex' argument was not passed as true.  Not sure
this is causing a bug, but noticed it while working on another bug.
These formatters gained a regex in r274489 for NDK but didn't pick
up the is_regex flag at the time.
<rdar://problem/30646077>

LLVM — cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive SimpleConstraintManager.h ConstraintManager.h, cfe/trunk/lib/StaticAnalyzer/Core SimpleConstraintManager.cpp RangedConstraintManager.cpp

[analyzer] Refactor and simplify SimpleConstraintManager

Summary: SimpleConstraintManager is difficult to use, and makes assumptions about 
capabilities of the constraint manager. This patch refactors out those portions into a new 
RangedConstraintManager, and also fixes some issues with camel case, formatting, and 
confusing naming.

Reviewers: zaks.anna, dcoughlin

Subscribers: mgorny, xazax.hun, NoQ, rgov, cfe-commits

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

LLVM — cfe/trunk/include/clang/Basic BuiltinsAMDGPU.def, cfe/trunk/test/CodeGenOpenCL builtins-amdgcn.cl

AMDGPU: export s_sendmsg{halt} instrinsics

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

LLVM — cfe/trunk/include/clang/Basic BuiltinsAMDGPU.def, cfe/trunk/test/CodeGenOpenCL builtins-amdgcn.cl

AMDGPU: export l1 cache invalidation intrinsics

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

LLVM — cfe/trunk/include/clang/Basic BuiltinsAMDGPU.def, cfe/trunk/test/CodeGenOpenCL builtins-amdgcn.cl

AMDGPU: export s_waitcnt builtin

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

LLVM — lldb/trunk/lldb.xcodeproj project.pbxproj

DataBufferMemoryMap.cpp out, DataBufferLLVM.cpp in.  Unbreak the build.

LLVM — cfe/trunk/test/Format inplace.cpp, cfe/trunk/tools/clang-format ClangFormat.cpp

Revert r296166, "clang-format: Don't leave behind temp files in -i mode on Windows, 
PR26125", and r296171.

(MemoryBuffer)Code.reset() was too early.

  ==26912== Invalid read of size 1
  ==26912==    at 0x437E1D: llvm::MemoryBuffer::init(char const*, char const*, bool) 
(MemoryBuffer.cpp:47)
  ==26912==    by 0x438013: (anonymous 
namespace)::MemoryBufferMem::MemoryBufferMem(llvm::StringRef, bool) (MemoryBuffer.cpp:86)
  ==26912==    by 0x438128: llvm::MemoryBuffer::getMemBuffer(llvm::StringRef, 
llvm::StringRef, bool) (MemoryBuffer.cpp:112)
  ==26912==    by 0x4E189D: clang::vfs::detail::(anonymous 
namespace)::InMemoryFileAdaptor::getBuffer(llvm::Twine const&, long, bool, bool) 
(VirtualFileSystem.cpp:443)
  ==26912==    by 0x4DF5BA: clang::vfs::FileSystem::getBufferForFile(llvm::Twine const&, 
long, bool, bool) (VirtualFileSystem.cpp:94)
  ==26912==    by 0x4B72EC: clang::FileManager::getBufferForFile(clang::FileEntry const*, 
bool, bool) (FileManager.cpp:443)
  ==26912==    by 0x4C1F81: 
clang::SrcMgr::ContentCache::getBuffer(clang::DiagnosticsEngine&, clang::SourceManager 
const&, clang::SourceLocation, bool*) const (SourceManager.cpp:98)
  ==26912==    by 0x4C50E5: clang::SourceManager::getBufferData(clang::FileID, bool*) 
const (SourceManager.cpp:689)
  ==26912==    by 0x58E794: clang::Rewriter::getEditBuffer(clang::FileID) 

    [3 lines not shown]

LLVM — lld/trunk/docs index.rst

Add how long it takes to link chromium using ld.bfd.
Delta File
+7 -7 lld/trunk/docs/index.rst
+7 -7 1 file

LLVM — lld/trunk/docs index.rst

Fix rst document format error.
Delta File
+1 -1 lld/trunk/docs/index.rst
+1 -1 1 file

LLVM — cfe/trunk/lib/CodeGen CodeGenPGO.cpp CodeGenFunction.h, cfe/trunk/test/Profile c-ternary.c

Revert "[profiling] Fix profile counter increment when emitting selects (PR32019)"

This reverts commit r296231. It causes an assertion failure on 32-bit
machines

clang: 
/export/users/atombot/llvm/clang-atom-d525-fedora-rel/llvm/lib/IR/Instructions.cpp:263: 
void llvm::CallInst::init(llvm::FunctionType*, llvm::Value*, llvm::ArrayRef<llvm::Value*>, 
llvm::ArrayRef<llvm::OperandBundleDefT<llvm::Value*> >, const llvm::Twine&): Assertion `(i 
>= FTy->getNumParams() || FTy->getParamType(i) == Args[i]->getType()) && "Calling a 
function with a bad signature!"' failed.
llvm::sys::PrintStackTrace(llvm::raw_ostream&) 
(/export/users/atombot/llvm/clang-atom-d525-fedora-rel/stage1/./bin/clang+0x1c5fbfa)
llvm::sys::RunSignalHandlers() 
(/export/users/atombot/llvm/clang-atom-d525-fedora-rel/stage1/./bin/clang+0x1c5dc7e)
SignalHandler(int) 
(/export/users/atombot/llvm/clang-atom-d525-fedora-rel/stage1/./bin/clang+0x1c5dde2)
__restore_rt (/lib64/libpthread.so.0+0x3f1d00efa0)
__GI_raise 
/home/glibctest/rpmbuild/BUILD/glibc-2.17-c758a686/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
__GI_abort /home/glibctest/rpmbuild/BUILD/glibc-2.17-c758a686/stdlib/abort.c:92:0
__assert_fail_base /home/glibctest/rpmbuild/BUILD/glibc-2.17-c758a686/assert/assert.c:92:0
(/lib64/libc.so.6+0x3f1c82e622)
llvm::CallInst::init(llvm::FunctionType*, llvm::Value*, llvm::ArrayRef<llvm::Value*>, 
llvm::ArrayRef<llvm::OperandBundleDefT<llvm::Value*> >, llvm::Twine const&) 

    [4 lines not shown]

LLVM — lld/trunk/ELF Driver.cpp

Factor out more code. NFC.
Delta File
+6 -11 lld/trunk/ELF/Driver.cpp
+6 -11 1 file

LLVM — cfe/trunk/lib/CodeGen CodeGenPGO.cpp CodeGenFunction.h, cfe/trunk/test/Profile c-ternary.c

[profiling] Fix profile counter increment when emitting selects (PR32019)

Clang has logic to lower certain conditional expressions directly into
llvm select instructions. However, it does not emit the correct profile
counter increment as it does this: it emits an unconditional increment
of the counter for the 'then branch', even if the value selected is from
the 'else branch' (this is PR32019).

That means, given the following snippet, we would report that "0" is
selected twice, and that "1" is never selected:

  int f1(int x) {
    return x ? 0 : 1;
               ^2  ^0
  }

  f1(0);
  f1(1);

Fix the problem by using the instrprof_increment_step intrinsic to do
the proper increment.

LLVM — lld/trunk/ELF Config.h

Remove a default value that is always overwritten.
Delta File
+1 -1 lld/trunk/ELF/Config.h
+1 -1 1 file

LLVM — lld/trunk/ELF Driver.cpp

Make function names consistent.

Now a function to parse -foo-bar is always named getFooBar.
Delta File
+10 -10 lld/trunk/ELF/Driver.cpp
+10 -10 1 file

LLVM — llvm/trunk/include/llvm/IR IntrinsicsAMDGPU.td

AMDGPU/SI: export s_waitcnt builtin

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

LLVM — lld/trunk/ELF Driver.cpp Config.h

Do not handle -strip in a special way. NFC.
Delta File
+11 -9 lld/trunk/ELF/Driver.cpp
+1 -1 lld/trunk/ELF/Config.h
+12 -10 2 files

LLVM — lld/trunk/ELF Driver.cpp Config.h

Factor out code to parse -hash-style.
Delta File
+12 -10 lld/trunk/ELF/Driver.cpp
+2 -2 lld/trunk/ELF/Config.h
+14 -12 2 files

LLVM — lld/trunk/ELF Driver.cpp Config.h

Rename OMagic -> Omagic for consistency.

LLVM — lld/trunk/ELF Driver.cpp

Factor out code to parse -L and -rpath.
Delta File
+16 -9 lld/trunk/ELF/Driver.cpp
+16 -9 1 file

LLVM — lld/trunk/ELF Driver.cpp

Sort options. NFC.
Delta File
+51 -53 lld/trunk/ELF/Driver.cpp
+51 -53 1 file

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

Minor code cleanup. NFC.

LLVM — cfe/trunk/lib/AST ODRHash.cpp

[ODRHash] Move inherited visitor call to end of function.
Delta File
+2 -2 cfe/trunk/lib/AST/ODRHash.cpp
+2 -2 1 file

LLVM — llvm/trunk/unittests/DebugInfo/PDB BinaryStreamTest.cpp MappedBlockStreamTest.cpp

Re-enable BinaryStreamTest.StreamReaderObject.

I had an invalid pointer / size calculation that was causing
a stack smash.  Should be fixed now.

LLVM — llvm/trunk/lib/Transforms/ObjCARC ObjCARCOpts.cpp

Remove redundant code. NFC.

LLVM — llvm/trunk/lib/Transforms/ObjCARC ObjCARCOpts.cpp

Clean up ObjCARCOpts.cpp. NFC.

I removed unused functions and variables and moved variables closer to
their uses.

LLVM — llvm/trunk/unittests/DebugInfo/PDB BinaryStreamTest.cpp

Disable BinaryStreamTest.StreamReaderObject temporarily.

This is crashing on some bots, so I need some time to investigate.

LLVM — cfe/trunk/lib/Frontend CompilerInvocation.cpp

Revert r296209, still one more test to go.

LLVM — lld/trunk/COFF PDB.cpp, llvm/trunk/include/llvm/ADT STLExtras.h

[PDB] General improvements to Stream library.

This adds various new functionality and cleanup surrounding the
use of the Stream library.  Major changes include:

* Renaming of all classes for more consistency / meaningfulness
* Addition of some new methods for reading multiple values at once.
* Full suite of unit tests for reader / writer functionality.
* Full set of doxygen comments for all classes.
* Streams now store their own endianness.
* Fixed some bugs in a few of the classes that were discovered
  by the unit tests.

LLVM — cfe/trunk/lib/CodeGen CGExprScalar.cpp, cfe/trunk/test/CodeGen ubsan-promoted-arith.cpp

[ubsan] Detect signed overflow UB in remainder operations

Teach ubsan to diagnose remainder operations which have undefined
behavior due to signed overflow (e.g INT_MIN % -1).

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

LLVM — cfe/trunk/lib/CodeGen CGExprScalar.cpp, cfe/trunk/test/CodeGen ubsan-promoted-arith.cpp unsigned-promotion.c

[ubsan] Omit superflous overflow checks for promoted arithmetic (PR20193)

C requires the operands of arithmetic expressions to be promoted if
their types are smaller than an int. Ubsan emits overflow checks when
this sort of type promotion occurs, even if there is no way to actually
get an overflow with the promoted type.

This patch teaches clang how to omit the superflous overflow checks
(addressing PR20193).

Testing: check-clang and check-ubsan.

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

LLVM — lld/trunk/COFF PDB.cpp, llvm/trunk/include/llvm/DebugInfo/CodeView ModuleSubstreamVisitor.h CodeViewRecordIO.h

[PDB] Rename Stream related source files.

This is part of a larger effort to get the Stream code moved
up to Support.  I don't want to do it in one large patch, in
part because the changes are so big that it will treat everything
as file deletions and add, losing history in the process.
Aside from that though, it's just a good idea in general to
make small changes.

So this change only changes the names of the Stream related
source files, and applies necessary source fix ups.

LLVM — llvm/trunk/test/tools/llvm-xray/X86 graph-color-simple-case.yaml, llvm/trunk/tools/llvm-xray xray-color-helper.cc xray-color-helper.h

[XRAY] A Color Choosing helper for XRay Graph

Summary:
In Preparation for graph comparison, this patch breaks out the color
choice code from xray-graph into a library and adds polynomials for
the Sequential and Difference sets from ColorBrewer.

Depends on D29005

Reviewers: dblaikie, chandlerc, dberris

Reviewed By: dberris

Subscribers: chandlerc, llvm-commits, mgorny

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

LLVM — cfe/trunk/lib/Frontend CompilerInvocation.cpp

[PS4] Set our default dialect to C++11. NFC for other targets.

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

[InlineCost] Move the code in isGEPOffsetConstant to a lambda.

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

LLVM — llvm/trunk/lib/Target/AArch64 AArch64InstrInfo.td

Minor code cleanup. NFC.

LLVM — llvm/trunk/lib/ProfileData InstrProf.cpp, llvm/trunk/test/Transforms/PGOProfile statics_counter_naming.ll

[PGO] Directory name stripping in global identifier for static functions

Current internal option -static-func-full-module-prefix keeps all the
directory path the profile counter names for static functions. The default
of this option is false. This strips the directory names from the source
filename which is problematic:

(1) it creates linker errors for profile-generation compilation, exposed in
our internal benchmarks. We are seeing messages like
"warning: relocation refers to discarded section".
This is due to the name conflicts after the stripping.

(2) the stripping only applies to getPGOFuncName.
Current Thin-LTO module importing for the indirect-calls assumes
the source directory name not being stripped. Current default value
for this option can potentially prevent some inter-module
indirect-call-promotions.

This patch turns the default value for -static-func-full-module-prefix to true.

The second part of the patch is to have an alternative implementation under
 the internal option -static-func-strip-dirname-prefix=<value>

This options specifies level of directories to be stripped from the source
filename. Using a large value as the parameter has the same effect as

    [3 lines not shown]

LLVM — llvm/trunk/tools/sancov sancov.cc

[sancov] extending sancov --help documentation

Differential Revision: https://reviews.llvm.org/D30361
Delta File
+13 -2 llvm/trunk/tools/sancov/sancov.cc
+13 -2 1 file

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

RelaseNotes: tweaks

LLVM — llvm/trunk/include/llvm/CodeGen MachineModuleInfoImpls.h, llvm/trunk/lib/CodeGen MachineModuleInfoImpls.cpp

[WebAssembly] Add support for using a wasm global for the stack pointer.

This replaces the __stack_pointer variable which was allocated in linear
memory.