Displaying 1 50 of 265,407 commits (0.019s)

LLVM — llvm/trunk/test/Other win10-fail.txt

revert failing test

LLVM — cfe/trunk/test/Tooling clang-diff-args.test clang-diff-basic.cpp, cfe/trunk/tools/clang-diff ClangDiff.cpp

[clang-diff] Make printing of matches optional

Reviewers: arphaman

Subscribers: klimek

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

LLVM — llvm/trunk/test/Other win10-fail.txt

Add temporary test to verify that win10 builder hangs on error

LLVM — cfe/trunk/include/clang/Analysis CFG.h AnalysisContext.h, cfe/trunk/include/clang/StaticAnalyzer/Core AnalyzerOptions.h

[CFG] Add LoopExit information to CFG

This patch introduces a new CFG element CFGLoopExit that indicate when a loop
ends. It does not deal with returnStmts yet (left it as a TODO).
It hidden behind a new analyzer-config flag called cfg-loopexit (false by
default).
Test cases added.

The main purpose of this patch right know is to make loop unrolling and loop
widening easier and more efficient. However, this information can be useful for
future improvements in the StaticAnalyzer core too.

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

LLVM — cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive LoopUnrolling.h, cfe/trunk/lib/StaticAnalyzer/Core LoopUnrolling.cpp ExprEngine.cpp

[StaticAnalyzer] LoopUnrolling: Exclude cases where the counter is escaped before the loop

Adding escape check for the counter variable of the loop.
It is achieved by jumping back on the ExplodedGraph to its declStmt.

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

LLVM — cfe/trunk/test/Tooling clang-diff-ast.cpp

[clang-diff] Fix test

LLVM — cfe/trunk/test/Tooling clang-diff-ast.cpp clang-diff-json.cpp, cfe/trunk/tools/clang-diff ClangDiff.cpp

[clang-diff] Add option to dump the AST, one node per line

Summary:
This is done with -ast-dump; the JSON variant has been renamed to
-ast-dump-json.

Reviewers: arphaman

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

LLVM — llvm/trunk/utils/lit/tests shtest-format.py

Temporary mark lit :: shtest-format as unsupported on windows

When run manually it fails, but when run under buildbot it causes hang.

LLVM — llvm/trunk/lib/Transforms/Utils CloneFunction.cpp, llvm/trunk/test/Transforms/Inline recursive.ll

[Inliner] Fix a nasty bug when inlining a non-recursive trace of
a function into itself.

We tried to fix this before in r306495 but that got reverted as the
assert was actually hit.

This fixes the original bug (which we seem to have lost track of with
the revert) by blocking a second remapping when the function being
inlined is also the caller and the remapping could succeed but
erroneously.

The included test case would actually load from an inlined copy of the
alloca before this change, failing to load the stored value and
miscompiling.

Many thanks to Richard Smith for diagnosing a user miscompile to this
bug, and to Kyle for the first attempt and initial analysis and David Li
for remembering the issue and how to fix it and suggesting the patch.
I'm just stitching it together and landing it. =]

LLVM — llvm/trunk/test/Transforms/Inline recursive.ll

[Inliner] Clean up a test case a bit to make it more clear what is being
tested and why.

LLVM — llvm/trunk/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP] Fix an unused variable warning in non-asserts builds.

LLVM — llvm/trunk/lib/Target/X86 X86CmovConversion.cpp, llvm/trunk/test/CodeGen/X86 x86-cmov-converter.ll pr15981.ll

[x86] Teach the cmov converter to aggressively convert cmovs with memory
operands into control flow.

We have seen periodically performance problems with cmov where one
operand comes from memory. On modern x86 processors with strong branch
predictors and speculative execution, this tends to be much better done
with a branch than cmov. We routinely see cmov stalling while the load
is completed rather than continuing, and if there are subsequent
branches, they cannot be speculated in turn.

Also, in many (even simple) cases, macro fusion causes the control flow
version to be fewer uops.

Consider the IACA output for the initial sequence of code in a very hot
function in one of our internal benchmarks that motivates this, and notice the
micro-op reduction provided.
Before, SNB:
```
Throughput Analysis Report
--------------------------
Block Throughput: 2.20 Cycles       Throughput Bottleneck: Port1

| Num Of |              Ports pressure in cycles               |    |
|  Uops  |  0  - DV  |  1  |  2  -  D  |  3  -  D  |  4  |  5  |    |
---------------------------------------------------------------------

    [101 lines not shown]

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

[x86] Refactor the CMOV conversion pass to be more flexible.

The primary thing that this accomplishes is to allow future re-use of
these routines in more contexts and clarify the behavior w.r.t. loops.
For example, if handling outer loops is desirable, doing so in
a inside-out order becomes straight forward because it walks the loop
nest itself (rather than walking the function's basic blocks) and
de-couples the CMOV rewriting from the loop structure as there isn't
actually anything loop-specific about this transformation.

This patch should be essentially a no-op. It potentially changes the
order in which we visit the inner loops, but otherwise should merely set
the stage for subsequent changes.

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

LLVM — cfe/trunk/include/clang/Basic DiagnosticSemaKinds.td DiagnosticGroups.td, cfe/trunk/lib/Sema SemaLambda.cpp

[c++2a] Implement P0409R2 - Allow lambda capture [=,this] (by hamzasood)

This patch, by hamzasood, implements P0409R2, and allows [=, this] pre-C++2a as an 
extension (with appropriate warnings) for consistency.

https://reviews.llvm.org/D36572

Thanks Hamza!

LLVM — llvm/trunk/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/trunk/test/Transforms/SLPVectorizer/X86 reorder.ll

[SLPVectorizer] Tighten up VLeft, VRight declaration, remove unnecessary testcase 
test/Transforms/SLPVectorizer/X86/reorder.ll, NFCI.

LLVM — cfe/trunk/include/clang/Tooling/ASTDiff ASTDiff.h ASTDiffInternal.h, cfe/trunk/lib/Tooling/ASTDiff ASTDiff.cpp

Revert "Revert "[clang-diff] Move printing of matches and changes to clang-diff""

Fix build by renaming ChangeKind -> Change

This reverts commit 0c78c5729f29315d7945988efd048c0cb86c07ce.

LLVM — llvm/trunk/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/trunk/test/Transforms/SLPVectorizer/X86 reorder.ll

[SLPVectorizer] Add opcode parameter to reorderAltShuffleOperands, 
reorderInputsAccordingToOpcode functions.

Reviewers: mkuper, RKSimon, ABataev, mzolotukhin, spatel, filcab

Subscribers: llvm-commits, rengolin

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

LLVM — cfe/trunk/test/Tooling clang-diff-json.cpp

[clang-diff] Fix test for python 3

LLVM — cfe/branches/release_50/docs ReleaseNotes.rst

Update LLVM 5.0 release notes for clang.cindex changes

Summary: This patch should be applied to clang 5.0 release notes, NOT to trunk.

Reviewers: rengolin, hans

Reviewed By: hans

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

LLVM — llvm/trunk/lib/Target/ARM ARMRegisterInfo.td

ARMRegsiterInfo: Define more ssub indexes; NFC

This doesn't really change anything as Tablegen would have inferred
those indices anyway; defining them gives us shorter names that are
easier to read while debugging (i.e. "ssub_4" rather than
"dsub2_then_ssub_0")

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter DwarfDebug.cpp, llvm/trunk/test/DebugInfo/X86 split-global.ll

Filter out non-constant DIGlobalVariableExpressions reachable via the CU

They won't affect the DWARF output, but they will mess with the
sorting of the fragments. This fixes the crash reported in PR34159.

https://bugs.llvm.org/show_bug.cgi?id=34159

LLVM — cfe/trunk/include/clang/Tooling/ASTDiff ASTDiff.h, cfe/trunk/lib/Tooling/ASTDiff ASTDiff.cpp

Revert "Revert "[clang-diff] Move the JSON export function to clang-diff""

This reverts commit eac4c13ac9ea8f12bc049e040c7b9c8a517f54e7, the
original commit *should* not have caused the build failure.

LLVM — llvm/trunk/include/llvm/WindowsManifest WindowsManifestMerger.h, llvm/trunk/lib/WindowsManifest WindowsManifestMerger.cpp

llvm-mt: Merge manifest namespaces.

mt.exe performs a tree merge where certain element nodes are combined
into one.  This introduces the possibility of xml namespaces conflicting
with each other.  The original mt.exe has a hierarchy whereby certain
namespace names can override others, and nodes that would then end up in
ambigious namespaces have their namespaces explicitly defined.  This
namespace handles this merging process.

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

Rename {Lazy,}ObjectKind -> {Lazy,}ObjKind.

I renamed corresponding classes in r309199 but forgot to rename enums
at the moment. Rename them now to make them consistent.

LLVM — cfe/branches/release_50/docs ReleaseNotes.rst

Add release notes for r299463.

Implement z3-based constraint solver backend for clang static analyzer.

LLVM — llvm/trunk/include/llvm/Analysis ScalarEvolution.h ScalarEvolutionExpressions.h, llvm/trunk/lib/Analysis ScalarEvolution.cpp TypeBasedAliasAnalysis.cpp

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

LLVM — cfe/trunk/include/clang/Tooling/ASTDiff ASTDiff.h, cfe/trunk/lib/Tooling/ASTDiff ASTDiff.cpp

Revert "[clang-diff] Move the JSON export function to clang-diff"

This reverts commit r311199, it was causing widespread build failures.

LLVM — cfe/trunk/include/clang/Tooling/ASTDiff ASTDiff.h ASTDiffInternal.h, cfe/trunk/lib/Tooling/ASTDiff ASTDiff.cpp

Revert "[clang-diff] Move printing of matches and changes to clang-diff"

This reverts commit r311200, it was causing widespread build failures.

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

Fix comment /NFC

LLVM — llvm/trunk/lib/Transforms/Scalar JumpThreading.cpp, llvm/trunk/test/Transforms/JumpThreading threading_prof2.ll threading_prof1.ll

[Profile] backward propagate profile info in JumpThreading

Differential Revsion: http://reviews.llvm.org/D36864

LLVM — lldb/trunk/source/Plugins/Process/gdb-remote GDBRemoteCommunication.cpp

Commiting Christopher Brook's patch for

"Prevent negative chars from being sign-extended into isprint and isspace which take and 
int and crash if the int is negative"

https://reviews.llvm.org/D36620

LLVM — llvm/trunk/lib/Analysis ValueTracking.cpp, llvm/trunk/test/Transforms/InstCombine trunc.ll

[InstCombine] Teach ComputeNumSignBitsImpl to handle integer multiply instruction. 

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

LLVM — llvm/trunk/lib/Transforms/Scalar InductiveRangeCheckElimination.cpp, llvm/trunk/test/Transforms/IRCE clamp.ll

[IRCE] Fix buggy behavior in Clamp

Clamp function was too optimistic when choosing signed or unsigned min/max function for 
calculations.
In fact, `!IsSignedPredicate` guarantees us that `Smallest` and `Greatest` can be compared 
safely using unsigned
predicates, but we did not check this for `S` which can in theory be negative.

This patch makes Clamp use signed min/max for cases when it fails to prove `S` being 
non-negative,
and it adds a test where such situation may lead to incorrect conditions calculation.

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

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

IR: Make stripDebugInfo robust against (invalid) empty basic blocks

Since stripDebugInfo runs before the verifier when reading IR, we can
end up in a situation where we read some invalid IR but don't know its
invalid yet. Before this patch we would crash in stripDebugInfo when
given IR with a completely empty basic block, and after we get a nice
error from the verifier instead.
Delta File
+3 -0 llvm/trunk/lib/IR/DebugInfo.cpp
+3 -0 1 file

LLVM — llvm/trunk/include/llvm/DebugInfo/DWARF DWARFFormValue.h, llvm/trunk/lib/DebugInfo/DWARF DWARFDie.cpp DWARFFormValue.cpp

[llvm-dwarfdump] Hide .debug_str and DIE reference offsets in brief mode

This patch hides the .debug_str offset and DIE reference offsets into
the CU when llvm-dwarfdump is invoked with -brief.

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

LLVM — cfe/trunk/include/clang/Tooling/ASTDiff ASTDiff.h ASTDiffInternal.h, cfe/trunk/lib/Tooling/ASTDiff ASTDiff.cpp

[clang-diff] Move printing of matches and changes to clang-diff

Summary:
This also changes the output order of the changes. Now the matches are
printed in pre-order, intertwined with insertions, updates, and moves.
Deletions are printed afterwards.

Reviewers: arphaman

Subscribers: klimek

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

LLVM — cfe/trunk/include/clang/Tooling/ASTDiff ASTDiff.h, cfe/trunk/lib/Tooling/ASTDiff ASTDiff.cpp

[clang-diff] Move the JSON export function to clang-diff

Reviewers: arphaman

Subscribers: klimek

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

LLVM — llvm/trunk/test/CodeGen/X86 adx-intrinsics.ll

[X86][ADX] Regenerate ADX intrinsics tests

LLVM — libcxx/branches/release_50/include string

Merging r309474:
------------------------------------------------------------------------
r309474 | smeenai | 2017-07-28 19:54:41 -0700 (Fri, 28 Jul 2017) | 9 lines

[libc++] Hoist extern template above first use

This function template is referenced inside class basic_string as a
friend function. The extern template declaration needs to be above that
friend declaration to actually take effect.

This is important because this function was marked as exported in
r307966, so without the extern template taking effect, it can leak into
other DSOs as a visible symbol.
------------------------------------------------------------------------

LLVM — llvm/branches/release_50/lib/DebugInfo/DWARF DWARFVerifier.cpp

Merging r310262:
------------------------------------------------------------------------
r310262 | sdardis | 2017-08-07 08:37:57 -0700 (Mon, 07 Aug 2017) | 9 lines

[DebugInfo][DWARF] Correct some usages of PRIx32 to PRIx64

These lead to tests failing spuriously as the values after being rendered to a
string were incorrect.

Reviewers: clayborg

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

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

LLVM — llvm/branches/release_50/lib/Transforms/Instrumentation DataFlowSanitizer.cpp, llvm/branches/release_50/test/Instrumentation/DataFlowSanitizer shadow-args-zext.ll abilist.ll

Merging r311087:
------------------------------------------------------------------------
r311087 | sdardis | 2017-08-17 07:14:25 -0700 (Thu, 17 Aug 2017) | 15 lines

[dfsan] Add explicit zero extensions for shadow parameters in function wrappers.

In the case where dfsan provides a custom wrapper for a function,
shadow parameters are added for each parameter of the function.
These parameters are i16s. For targets which do not consider this
a legal type, the lack of sign extension information would cause
LLVM to generate anyexts around their usage with phi variables
and calling convention logic.

Address this by introducing zero exts for each shadow parameter.

Reviewers: pcc, slthakur

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

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

LLVM — cfe/branches/release_50/lib/AST ExprConstant.cpp, cfe/branches/release_50/test/SemaCXX constant-expression-cxx1y.cpp

Merging r311115:
------------------------------------------------------------------------
r311115 | rsmith | 2017-08-17 12:35:50 -0700 (Thu, 17 Aug 2017) | 2 lines

PR34161: support evaluation of 'void()' expressions in C++14 onwards.

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

LLVM — llvm/trunk/include/llvm/Analysis ValueTracking.h

fix typos in comments; NFC

LLVM — llvm/branches/release_50/lib/Target/AArch64 AArch64LoadStoreOptimizer.cpp, llvm/branches/release_50/test/CodeGen/AArch64 arm64-ldst-unscaled-pre-post.mir

Merging r310066:
------------------------------------------------------------------------
r310066 | mcrosier | 2017-08-04 09:44:06 -0700 (Fri, 04 Aug 2017) | 4 lines

[AArch64] Fix an assertion for pre-index generation with unscaled loads/stores.

Differential Revision: https://reviews.llvm.org/D36248
PR34035
------------------------------------------------------------------------

LLVM — cfe/trunk/lib/Sema SemaDeclAttr.cpp, cfe/trunk/test/SemaObjC unguarded-availability.m

[Sema] Don't emit -Wunguarded-availability for switch cases

This made it awkward to switch over an enum where some entries
are partial and is unlikley to catch any bugs.

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

LLVM — llvm/trunk/lib/Transforms/Instrumentation PGOMemOPSizeOpt.cpp, llvm/trunk/test/Transforms/PGOProfile memop_clone.ll

[PGO] Fixed assertion due to mismatched memcpy size type.

Summary:
Memcpy intrinsics have size argument of any integer type, like i32 or i64.
Fixed size type along with its value when cloning the intrinsic.

Reviewers: davidxl, xur

Reviewed By: davidxl

Subscribers: mcrosier, llvm-commits

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

LLVM — llvm/trunk/lib/Target/ARM/MCTargetDesc ARMMachObjectWriter.cpp, llvm/trunk/test/CodeGen/ARM arm-macho-tail.ll

ARM: use an external relocation for calls from MachO ARM mode.

The internal (__text-relative) relocation risks the offset not being encodable
if the destination is Thumb.

LLVM — cfe/trunk/include/clang/Driver CC1Options.td, cfe/trunk/include/clang/Frontend CodeGenOptions.def

[SanitizerCoverage] Add stack depth tracing instrumentation.

Summary:
Augment SanitizerCoverage to insert maximum stack depth tracing for
use by libFuzzer.  The new instrumentation is enabled by the flag
-fsanitize-coverage=stack-depth and is compatible with the existing
trace-pc-guard coverage.  The user must also declare the following
global variable in their code:
  thread_local uintptr_t __sancov_lowest_stack

https://bugs.llvm.org/show_bug.cgi?id=33857

Reviewers: vitalybuka, kcc

Reviewed By: vitalybuka

Subscribers: kubamracek, hiraditya, cfe-commits, llvm-commits

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

LLVM — cfe/trunk/tools/clang-fuzzer ExampleClangProtoFuzzer.cpp

[clang-proto-fuzzer] Allow user-specified compiler arguments.

Summary:
Arguments can be specified after -ignore_remaining_args=1 to modify
the compiler invocation.  For example, the following command-line
will fuzz LLVM with a custom optimization level and target triple:
  clang-proto-fuzzer CORPUS/ -ignore_remaining_args -O3 \
      -triple arm64-apple-ios9

Reviewers: vitalybuka, kcc

Reviewed By: vitalybuka

Subscribers: aemerson, cfe-commits, kristof.beyls

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

LLVM — llvm/trunk/test/tools/llvm-rc parser.test tokenizer.test, llvm/trunk/test/tools/llvm-rc/Inputs parser-correct-everything.rc parser-stringtable-no-string.rc

Reapply: [llvm-rc] Add basic RC scripts parsing ability.

As for now, the parser supports a limited set of statements and
resources. This will be extended in the following patches.

Thanks to Nico Weber (thakis) for his original work in this area.

This patch was originally submitted as r311175 and got reverted
in r311177 because of the problems with compilation under gcc.

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