Displaying 1 50 of 195,146 commits (0.083s)

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

[PBQP] Use a local bit-matrix to speedup searching an edge in the graph.

Build time (user time) for building llvm+clang+lldb in release mode:
 - default allocator: 9086 seconds
 - with PBQP: 9126 seconds
 - with PBQP + local bit matrix cache: 9097 seconds

LLVM — llvm/trunk/lib/Transforms/InstCombine InstCombineMulDivRem.cpp, llvm/trunk/test/Transforms/InstCombine fast-math.ll

[InstCombine] Fix an assertion when fmul has a ConstantExpr operand

isNormalFp and isFiniteNonZeroFp should not assume vector operands can not be constant 
expressions.

Patch by Pawel Jurek <pawel.jurek at intel.com>
Differential Revision: http://reviews.llvm.org/D8053

LLVM — llvm/trunk/utils/TableGen CodeGenDAGPatterns.cpp

Revert "[TableGen] Implement at least some support for multiple explicit results in an 
instruction pattern. No functional change to existing patterns."

This is failing on several build bots.

LLVM — llvm/trunk/utils/TableGen CodeGenDAGPatterns.cpp

[TableGen] Implement at least some support for multiple explicit results in an instruction 
pattern. No functional change to existing patterns.

This should help with the AVX512 masked gather changes Elena is working on. This patch is 
derived from some of the changes Elena made to tablegen, but modified by me to support 
arbitrary number of results.

LLVM — llvm/trunk/include/llvm/Target TargetSelectionDAG.td, llvm/trunk/utils/TableGen CodeGenDAGPatterns.cpp CodeGenDAGPatterns.h

[TableGen] Add support constraining a vector type in a pattern to have a specific element 
type and for constraining a vector type to have the same number of elements as another 
vector type. This is useful for AVX512 mask operations so we relate the mask type to the 
type of the other arguments.

LLVM — llvm/trunk/lib/Target/X86 X86ISelLowering.cpp, llvm/trunk/test/CodeGen/X86 vector-shuffle-256-v8.ll avx-basic.ll

[X86] Use vmovss to handle inserting an element into index 0 of a v8f32 vector of zeros.

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

Remove useless break after return.

Pointed out by Paul Robinson.

LLVM — llvm/trunk/docs LangRef.rst, llvm/trunk/docs/Frontend PerformanceTips.rst

Add a few more performance tips

These came from my own experience and may not apply equally to all use cases.  Any 
alternate perspective anyone has should be used to refine these.  

As always, grammar and spelling adjustments are more than welcome.  Please just directly 
commit a fix if you see something problematic.

LLVM — llvm/trunk/tools/dsymutil DwarfLinker.cpp

Revert "[dsymutil] MSVC does generate move constructors, but it should accept to default 
them"

This reverts commit r231350.

It turns out MSVC doesn't generate implicit move constructors and also doesn't accept to 
default them...
See for example http://lab.llvm.org:8011/builders/lldb-x86-windows-msvc/builds/2786

LLVM — llvm/trunk/tools/dsymutil DwarfLinker.cpp

[dsymutil] MSVC does generate move constructors, but it should accept to default them

LLVM — llvm/trunk/docs ReleaseNotes.rst

Add a link to the new PerformanceTips docs from the 3.7 release notes
Delta File
+5 -0 llvm/trunk/docs/ReleaseNotes.rst
+5 -0 1 file

LLVM — llvm/trunk/lib/Target/ARM ARMTargetMachine.cpp

Revert r231324 "Remove the conditional addition of the execution dependency fixing"

See PR22799.

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

[MBP] Use range based for-loops throughout this code. Several had
already been added and the inconsistency made choosing names and
changing code more annoying. Plus, wow are they better for this code!

LLVM — cfe/trunk/test/Modules crashes.m, cfe/trunk/test/Modules/Inputs/Module.framework/Headers Module.h

[test] Expand a bit on the test case from r231251. NFC.

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

Add support for the DWARFv3 (circa 2005) DW_OP_form_tls_address
operator in addition to the vendor-extension DW_OP_GNU_push_tls_address.
clang on PS4 and Darwin will be emitting the standard opcode 
as of r231286 via http://reviews.llvm.org/D8018

Behavior of this standard  opcode is the same as 
DW_OP_GNU_push_tls_address.

<rdar://problem/20043195>

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

[MBP] NFC, run clang-format over this code and tweak things to make the
result reasonable.

This code predated clang-format and so there was a reasonable amount of
crufty formatting that had accumulated. This should ensure that neither
myself nor others end up with formatting-only changes sneaking into
other fixes.

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

[MBP] This is no longer 'block-placement2'. ;] The old variants are long
gone, update this code to reflect that.

LLVM — cfe/trunk/test/Driver msvc-link.c

Fix msvc-link.c test for environments with link.exe on PATH

Patch by Michael Edwards!
Delta File
+2 -2 cfe/trunk/test/Driver/msvc-link.c
+2 -2 1 file

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter DwarfDebug.cpp WinCodeViewLineTables.cpp, llvm/trunk/test/DebugInfo/COFF multifunction.ll multifile.ll

Use the existing begin and end symbol for debug info.

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

Reformat.

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

Revert r231103, "FullDependenceAnalysis: Avoid using the (deprecated in C++11) copy ctor"

It is miscompiled on msc18.

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

Revert r231104, "unique_ptrify FullDependenceAnalysis::DV", to appease msc18 C2280.

LLVM — llvm/trunk/lib/Transforms/Instrumentation SanitizerCoverage.cpp, llvm/trunk/test/Instrumentation/SanitizerCoverage coverage.ll

[sanitizer] add nosanitize metadata to more coverage instrumentation instructions

LLVM — llvm/trunk/lib/CodeGen MachineBlockPlacement.cpp, llvm/trunk/test/CodeGen/X86 block-placement.ll

[MBP] Revert r231238 which attempted to fix a nasty bug where MBP is
just arbitrarily interleaving unrelated control flows once they get
moved "out-of-line" (both outside of natural CFG ordering and with
diamonds that cannot be fully laid out by chaining fallthrough edges).

This easy solution doesn't work in practice, and it isn't just a small
bug. It looks like a very different strategy will be required. I'm
working on that now, and it'll again go behind some flag so that
everyone can experiment and make sure it is working well for them.

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

ScalarEvolution.cpp: Appease g++-4.7. He missed implicit "this" in lambda.

LLVM — cfe/trunk/include/clang/AST Mangle.h, cfe/trunk/lib/AST MicrosoftMangle.cpp

MS ABI: Implement support for throwing a C++ exception

Throwing a C++ exception, under the MS ABI, is implemented using three
components:
- ThrowInfo structure which contains information like CV qualifiers,
  what destructor to call and a pointer to the CatchableTypeArray.
- In a significant departure from the Itanium ABI, copying by-value
  occurs in the runtime and not at the catch site.  This means we need
  to enumerate all possible types that this exception could be caught as
  and encode the necessary information to convert from the exception
  object's type to the catch handler's type.  This includes complicated
  derived to base conversions and the execution of copy-constructors.

N.B. This implementation doesn't support the execution of a
copy-constructor from within the runtime for now.  Adding support for
that functionality is quite difficult due to things like default
argument expressions which may evaluate arbitrary code hiding in the
copy-constructor's parameters.

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

LLVM — llvm/trunk/lib/Target/ARM ARMTargetMachine.cpp

Remove the conditional addition of the execution dependency fixing
pass from the ARM backend as the pass itself will detect any use
of the appropriate register class.

LLVM — llvm/trunk/lib/Target/ARM ARMTargetMachine.cpp A15SDOptimizer.cpp

Cleanup and remove a chunk of getARMSubtarget calls in the
ARM TargetMachine pass pipeline construction by pushing them down
into the appropriate pass.

LLVM — llvm/trunk/lib/CodeGen/AsmPrinter DwarfDebug.cpp, llvm/trunk/test/DebugInfo/X86 dwarf-public-names.ll

Turn off .debug_pubnames/pubtypes for PS4.

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

LLVM — cfe/trunk/test/Rewriter rewrite-nested-property-in-blocks.mm properties.m

Give some obj-c rewriter tests that use MS pragmas a triple as a speculative fix

LLVM — cfe/trunk/test/CodeGen atomic_ops.c, cfe/trunk/test/CodeGenCXX crash.cpp

Temporary XFAILs for Hexagon

Summary: Temporary XFAIL's until patches done.

Reviewers: echristo, adasgupt, colinl

Reviewed By: colinl

Subscribers: llvm-commits

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

LLVM — cfe/trunk/include/clang/Sema Sema.h, cfe/trunk/lib/Sema SemaDecl.cpp SemaDeclAttr.cpp

Implement section pragma feedback on r205810

Mostly short-circuits some conditionals.  Adds target validation of
sections passed to these pragmas.

LLVM — lldb/trunk/source/Utility CMakeLists.txt

Appease the Windows bot

LLVM — cfe/trunk/lib/StaticAnalyzer/Checkers MallocChecker.cpp, cfe/trunk/test/Analysis malloc.c

[analyzer] Bug fix: do not report leaks for alloca()

LLVM — llvm/trunk/docs CodingStandards.rst

Initializer lists are supported in MSVC 2013. Since that's our minimum required version, 
we can move that to the list of acceptable C++11 features.

LLVM — cfe/trunk/lib/Driver Tools.cpp, cfe/trunk/test/Driver msvc-link.c

Pass -dll to link.exe when building with -shared (PR22697)

And start building a test for non-clang-cl link.exe invocations.

LLVM — libcxx/trunk/test/libcxx/experimental containers, libcxx/trunk/test/libcxx/experimental/containers sequences

Move the <dynarray> tests out of the std/ hierarchy, since it's not really part of the 
standard any more.
Delta File
+0 -0 libcxx/trunk/test/libcxx/experimental/containers/
+0 -0 libcxx/trunk/test/libcxx/experimental/containers/sequences/
+0 -0 libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/
+0 -0 libcxx/trunk/test/std/containers/sequences/dynarray/
+0 -0 4 files

LLVM — lldb/trunk/include/lldb/Utility LLDBAssert.h, lldb/trunk/lldb.xcodeproj project.pbxproj

Introduce lldbassert(x)

We would like it if LLDB never crashed, especially if we never caused LLDB to crash
On the other hand, having assertions can sometimes be useful

lldbassert(x) is the best of both worlds:
- in debug builds, it turns into a regular assert, which is fine because we don't mind 
debug LLDB to crash on development machines
- in non-debug builds, it emits a message formatted just like assert(x) would, but then 
instead of crashing, it dumps a backtrace, suggests filing a bug, and keeps running

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

[Support] Increase timeout for the LockFileManager back to 5 mins.

Waiting for just 1 min may not be enough for some contexts.

LLVM — llvm/trunk/test/CodeGen/ARM 2011-12-14-machine-sink.ll

Improve test robustness

Improve test robustness in preparation of coming commits:
- Avoid undefs which may get propagated too much.
- Remove several pointless add 0, instructions

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

[IndVarSimplify] use the "canonical" way to infer no-wrap.

Summary:
rL225282 introduced an ad-hoc way to promote some additions to nuw or
nsw.  Since then SCEV has become smarter in directly proving no-wrap;
and using the canonical "ext(A op B) == ext(A) op ext(B)" method of
proving no-wrap is just as powerful now.  Rip out the existing
complexity in favor of getting SCEV to do all the heaving lifting
internally.

This change does not add any unit tests because it is supposed to be a
non-functional change.  Tests added in rL225282 and rL226075 are valid
tests for this change.

Reviewers: atrick, majnemer

Subscribers: llvm-commits

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

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

[SCEV] make SCEV smarter about proving no-wrap.

Summary:
Teach SCEV to prove no overflow for an add recurrence by proving
something about the range of another add recurrence a loop-invariant
distance away from it.

Reviewers: atrick, hfinkel

Subscribers: llvm-commits

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

LLVM — llvm/trunk/tools/dsymutil DwarfLinker.cpp

Provide an explicit move ctor because MSVC can't synthesize one

LLVM — cfe/trunk/include/clang/Frontend CommandLineSourceLoc.h

Fix the clang self-host -Werror build

Sorry about the breakage.

LLVM — llvm/trunk/test/tools/dsymutil/X86 basic-linking-x86.test basic-lto-linking-x86.test, llvm/trunk/tools/dsymutil DwarfLinker.cpp

[dsymutil] Add minimal code to emit DIE trees.

This commit adds code to emit DIE trees that have been pruned from the
parts that haven't been marked as kept in the previous pass.

It works by 'cloning' the input DIE tree (as read by libDebugInfoDwarf)
into a tree of DIE objects. Cloning the DIEs means essentially cloning
their attributes. The code in this commit does only handle scalar and
block attributes (scalar because they are trivial, blocks because they
can't be easily replaced by a scalr placeholder), all the other ones
are replaced by placeholder zero values and will be handled in
further commits.

The added tests mostly check that the DIE tree has the correct layout and
also verify that a few chosen scalar and block attributes correctly make
their way into the output.

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

DWARFFormValue: Add getAsSignedConstant method.

The implementation accepts explicitely signed forms (DW_FORM_sdata),
but also unsigned forms as long as they fit in an int64_t.

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

Teach DIEInteger to emit FORM_strp and FORM_ref_addr attributes.

To be used/tested by llvm-dsymutil. (llvm-dsymutil does a 'static' link,
no need for relocations for most things, so it'll just emit raw integers
for most attributes)

LLVM — llvm/trunk/include/llvm/DebugInfo/DWARF DWARFAbbreviationDeclaration.h

Make the DWARFAbbreviationDeclaration::AttributeSpec type public.

It was already exposed through the iterators anyway.

LLVM — llvm/trunk/docs LangRef.rst

Update LangRef for explicit type changes to 'load' instruction
Delta File
+19 -19 llvm/trunk/docs/LangRef.rst
+19 -19 1 file

LLVM — llvm/trunk/lib/MC MCExpr.cpp, llvm/trunk/test/MC/ELF size.s

Expand variables when evaluating absolute expressions.

This allows for variables to be used in .size.
This matches gnu AS functionality.