Displaying 1 50 of 261,470 commits (0.021s)

LLVM — llvm/trunk/lib/Target/X86 X86ISelLowering.cpp, llvm/trunk/test/CodeGen/X86 sbb.ll

[x86] fix value types for SBB transform (PR33560)

I'm not sure yet why this wouldn't fail in the simple case,
but clearly I used the wrong value type with:

...and the bug manifests with:

LLVM — llvm/trunk/test/CodeGen/X86 bitcast-i256.ll

[X86][AVX] Regenerate i256 bitcasted store test

Check on slow/fast unaligned memory targets

LLVM — cfe/trunk/lib/AST ExprConstant.cpp, cfe/trunk/test/CodeGenCXX dllimport-memptr-global.cpp

[MS] Don't statically initialize dllimport member function pointers

We were already applying the same rules to dllimport function pointers.
David Majnemer added that logic back in r211677 to fix PR20130.  We
failed to extend that logic to non-virtual member function pointers,
which are basically function pointers in a struct with some extra

Fixes PR33570.

LLVM — lld/trunk/COFF Writer.cpp

Silence -Wunused-variable warning
Delta File
+1 -1 lld/trunk/COFF/Writer.cpp
+1 -1 1 file

LLVM — lldb/trunk/source/Plugins/ObjectFile/ELF ObjectFileELF.cpp

Fix typo: using && instead of & when evaluating a mask

Summary: Reported by coverity, I don't know how to provide a test.

Reviewers: zturner

Subscribers: lldb-commits, emaste

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

LLVM — llvm/trunk/include/llvm/CodeGen/GlobalISel MachineIRBuilder.h

Fix Wdocumentation warning.

LLVM — llvm/trunk/test/CodeGen/X86 extract-store.ll

Regenerate extract-store.ll tests

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

Fix a misleading indentation warning.

LLVM — llvm/trunk/lib/Support CachePruning.cpp, llvm/trunk/unittests/Support CachePruningTest.cpp

Make the size specification for cache_size_bytes case insensitive.

LLVM — lld/trunk/test/ELF/lto cache.ll

Add parens for python3.
Delta File
+1 -1 lld/trunk/test/ELF/lto/cache.ll
+1 -1 1 file

LLVM — cfe/trunk/include/clang/Driver CC1Options.td, cfe/trunk/test/Driver autocomplete.c

[GSoC] Add support for CC1 options.

Add value completion support for options which are defined in
CC1Options.td, because we only handled options in Options.td.

Reviewers: ruiu, v.g.vassilev, teemperor

Subscribers: llvm-commits

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

LLVM — llvm/trunk/lib/Target/Hexagon HexagonRegisterInfo.cpp HexagonFrameLowering.cpp, llvm/trunk/test/CodeGen/Hexagon stack-align-reset.ll

[Hexagon] Handle decreasing of stack alignment in frame lowering

LLVM — cfe/trunk/test/Driver nozlibcompress.c

test: fix negative test case

Add missing -### to the driver to ensure that we dont try to run the
actual command.  The host may not support the IAS.  Should fix the SCEI

LLVM — llvm/trunk/include/llvm/Support BinaryStreamReader.h BinaryStreamRef.h, llvm/trunk/lib/Support BinaryStreamReader.cpp

Add a BinarySubstreamRef, and a method to read one.

This is essentially just a BinaryStreamRef packaged with an
offset and the logic for reading one is no different than the
logic for reading a BinaryStreamRef, except that we save the
current offset.

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

Remove trailing whitespace. NFCI.

LLVM — llvm/trunk/include/llvm/Target GenericOpcodes.td TargetOpcodes.def, llvm/trunk/lib/CodeGen/GlobalISel Legalizer.cpp LegalizerInfo.cpp

GlobalISel: remove G_SEQUENCE instruction.

It was trying to do too many things. The basic lumping together of values for
legalization purposes is now handled by G_MERGE_VALUES. More complex things
involving gaps and odd sizes are handled by G_INSERT sequences.

LLVM — llvm/trunk/include/llvm/CodeGen/GlobalISel MachineIRBuilder.h, llvm/trunk/lib/CodeGen/GlobalISel MachineIRBuilder.cpp IRTranslator.cpp

GlobalISel: convert buildSequence to use non-deprecated instructions.

G_SEQUENCE is going away soon so as a first step the MachineIRBuilder needs to
be taught how to emulate it with alternatives. We use G_MERGE_VALUES where
possible, and a sequence of G_INSERTs if not.

LLVM — llvm/trunk/lib/Analysis InlineCost.cpp, llvm/trunk/test/Transforms/Inline/AArch64 switch.ll

[InlineCost] Do not take INT_MAX when Cost is negative

Summary: visitSwitchInst should not take INT_MAX when Cost is negative. Instead of INT_MAX 
, we also use a valid upperbound cost when overflow occurs in Cost.

Reviewers: hans, echristo, dmgreen

Reviewed By: dmgreen

Subscribers: mcrosier, javed.absar, llvm-commits, eraman

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

LLVM — llvm/trunk/lib/Target/SystemZ SystemZISelLowering.cpp SystemZISelLowering.h, llvm/trunk/test/CodeGen/SystemZ serialize-01.ll

[SystemZ] Remove unnecessary serialization before volatile loads

This reverts the use of TargetLowering::prepareVolatileOrAtomicLoad
introduced by r196905.  Nothing in the semantics of the "volatile"
keyword or the definition of the z/Architecture actually requires
that volatile loads are preceded by a serialization operation, and
no other compiler on the platform actually implements this.

Since we've now seen a use case where this additional serialization
causes noticable performance degradation, this patch removes it.

The patch still leaves in the serialization before atomic loads,
which is now implemented directly in lowerATOMIC_LOAD.  (This also
seems overkill, but that can be addressed separately.)

LLVM — cfe/trunk/lib/Driver Driver.cpp, cfe/trunk/test/Driver autocomplete.c

Sort the autocomplete candidates before printing them out.

Currently, autocompleted options are displayed in the same order as we
wrote them in .td files. This patch sort them out in clang so that they
are sorted alphabetically. This should improve usability.

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

LLVM — cfe/trunk/include/clang/Driver CC1Options.td Options.td, cfe/trunk/lib/Driver/ToolChains Clang.cpp Gnu.cpp

Revert "Revert r305164/5/7."

Restore the `-gz` option to the driver with some minor tweaks to handle
the additional case for `-Wa,--compress-debug-sections`.

This intends to make the compression of the debug information
controllable from the driver.  The following is the behaviour:

  -gz           enable compression (ambiguous for format, will default to zlib-gnu)
  -gz=none      disable compression
  -gz=zlib-gnu  enable compression (deprecated GNU style zlib compression)
  -gz=zlib      enable compression (zlib based compression)

Although -Wa,-compress-debug-sections works, it should be discouraged
when using the driver to invoke the assembler.  However, we permit the
assembler to accept the GNU as style argument --compress-debug-sections
to maintain compatibility.

Note, -gz/-gz= does *NOT* imply -g.  That is, you need to additionally
specific -g for debug information to be generated.

LLVM — llvm/trunk/test/CodeGen/X86 machine-cse.ll

[x86] auto-generate complete checks; NFC

LLVM — llvm/trunk/test/CodeGen/X86 jump_sign.ll

[x86] auto-generate complete checks; NFC
Delta File
+212 -85 llvm/trunk/test/CodeGen/X86/jump_sign.ll
+212 -85 1 file

LLVM — llvm/trunk/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp, llvm/trunk/test/CodeGen/AMDGPU/GlobalISel legalize-and.mir

AMDGPU/GlobalISel: Mark 32-bit G_AND as legal

Reviewers: arsenm

Reviewed By: arsenm

Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, rovka, kristof.beyls, igorb, dstuttard, 
tpr, t-tye, llvm-commits

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

LLVM — cfe/trunk/lib/Sema SemaDeclCXX.cpp, cfe/trunk/test/Index ctor-init-source-loc.cpp

Revert r306103: "PR26195: Set correct NestedNameSpecifierLoc for the
dependent initializer"

It caused buildbot failures such as this one:

LLVM — llvm/trunk/test/CodeGen/X86 merge-consecutive-stores.ll

[x86] remove overridden target settings in test; NFC

r306109 was supposed to make this change, but I committed the wrong version.

LLVM — llvm/trunk/test/CodeGen/X86 merge-consecutive-stores.ll 2012-12-06-python27-miscompile.ll

[x86] rename test file and auto-generate complete checks; NFC

The command-line params override the target setting in the file itself, so delete that.
Also, remove the cpu and arch because those don't matter and neither does the OS 
specification in the triple.

LLVM — llvm/trunk/test/CodeGen/X86 avg.ll

[X86][AVX] Extended vector average tests

Added AVX1 tests and merged AVX1/AVX2/AVX512 checks where possible
Delta File
+917 -411 llvm/trunk/test/CodeGen/X86/avg.ll
+917 -411 1 file

LLVM — llvm/trunk/lib/Target/SystemZ SystemZInstrInfo.td SystemZTargetMachine.h, llvm/trunk/test/CodeGen/Generic print-machineinstrs.ll llc-start-stop.ll

[SystemZ]  Fix trap issue and enable expensive checks.

The isBarrier/isTerminator flags have been removed from the SystemZ trap
instructions, so that tests do not fail with EXPENSIVE_CHECKS. This was just
an issue at -O0 and did not affect code output on benchmarks.

(Like Eli pointed out: "targets are split over whether they consider their
"trap" a terminator; x86, AArch64, and NVPTX don't, but ARM, MIPS, PPC, and
SystemZ do. We should probably try to be consistent here.". This is still the
case, although SystemZ has switched sides).

SystemZ now returns true in isMachineVerifierClean() :-)

These Generic tests have been modified so that they can be run with or without
EXPENSIVE_CHECKS: CodeGen/Generic/llc-start-stop.ll and

Review: Ulrich Weigand, Simon Pilgrim, Eli Friedman

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

[RuntimeLoopUnrolling] Rename exit block and move assert earlier. NFC

The single exit block allowed in runtime unrolling is guaranteed to be
the Latch's successor, so rename it as LatchExitBlock.

LLVM — llvm/trunk/test/CodeGen/X86 avg.ll

[X86][SSE] Dropped -mcpu from vector average tests

Use triple and attribute only for consistency
Delta File
+686 -645 llvm/trunk/test/CodeGen/X86/avg.ll
+686 -645 1 file

LLVM — cfe/trunk/lib/Sema SemaDeclCXX.cpp, cfe/trunk/test/Index ctor-init-source-loc.cpp

PR26195: Set correct NestedNameSpecifierLoc for the dependent initializer

This commit fixes incorrect source positions of dependent c'tor initializers
like in the following code:

template<typename MyBase>
struct Derived: MyBase::InnerIterator

Derived() : MyBase::InnerIterator() {} /// This line is problematic: all positions point 
to InnerIterator and nothing points to MyBase

Patch by Serge Preis!

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

LLVM — llvm/trunk/docs GoldPlugin.rst

[docs] As of binutils, ld.bfd supports plugins too, represent this in docs

Delta File
+9 -11 llvm/trunk/docs/GoldPlugin.rst
+9 -11 1 file

LLVM — llvm/trunk/unittests/ADT StringExtrasTest.cpp

Fix double->float truncation warning on MSVC

LLVM — llvm/trunk/lib/Transforms/InstCombine InstCombineCompares.cpp InstCombineInternal.h, llvm/trunk/test/Transforms/InstCombine compare-3way.ll

[InstCombine] Recognize and simplify three way comparison idioms

Many languages have a three way comparison idiom where comparing two values
produces not a boolean, but a tri-state value. Typical values (e.g. as used in
the lcmp/fcmp bytecodes from Java) are -1 for less than, 0 for equality, and +1
for greater than.

We actually do a great job already of converting three way comparisons into
binary comparisons when the result produced has one a single use. Unfortunately,
such values can have more than one use, and in that case, our existing
optimizations break down.

The patch adds a peephole which converts a three-way compare + test idiom into a
binary comparison on the original inputs. It focused on replacing the test on
the result of the three way compare and does nothing about removing the three
way compare itself. That's left to other optimizations (which do actually kick
in commonly.)
We currently recognize one idiom on signed integer compare. In the future, we
plan to recognize and simplify other comparison idioms on
other signed/unsigned datatypes such as floats, vectors etc.

This is a resurrection of Philip Reames' original patch:

    [7 lines not shown]

LLVM — llvm/trunk/lib/Target/Mips Mips32r6InstrInfo.td, llvm/trunk/test/MC/Disassembler/Mips/mips32r6 valid-mips32r6.txt valid-mips32r6-el.txt

Revert r306095: [mips] Fix reg positions in the aui/daui instructions

ELF/mips-plt-r6.s in lld-test is failing. Reverting the change.

Original commit message:

  [mips] Fix register positions in the aui/daui instructions

  Swapped the position of the rt and rs register in the aut/daui
  instructions for mips32r6 and mips64r6. With this change, the format of
  the generated instructions complies with specifications and GCC.
  Patch by Milos Stojanovic.

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

Fix build breakage caused by r306096

It seems some targets don't have std::strtof and friends. Hopefully,
dropping the std:: will be fine, as that's what the compiler recommends.

LLVM — llvm/trunk/test/CodeGen/X86 sse-scalar-fp-arith.ll

[X86][SSE] Dropped -mcpu from scalar math tests

Use triple and attribute only for consistency

LLVM — llvm/trunk/include/llvm/ADT StringExtras.h, llvm/trunk/lib/Support YAMLTraits.cpp CommandLine.cpp

[ADT] Add llvm::to_float

The function matches the interface of llvm::to_integer, but as we are
calling out to a C library function, I let it take a Twine argument, so
we can avoid a string copy at least in some cases.

I add a test and replace a couple of existing uses of strtod with this

Reviewers: zturner

Subscribers: llvm-commits

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

LLVM — llvm/trunk/lib/Target/Mips Mips32r6InstrInfo.td, llvm/trunk/test/MC/Disassembler/Mips/mips32r6 valid-mips32r6.txt valid-mips32r6-el.txt

[mips] Fix register positions in the aui/daui instructions

Swapped the position of the rt and rs register in the aut/daui instructions
for mips32r6 and mips64r6. With this change, the format of the generated
instructions complies with specifications and GCC.

Patch by Milos Stojanovic.

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

LLVM — cfe/trunk/docs ClangFormatStyleOptions.rst, cfe/trunk/include/clang/Format Format.h

[clang-format] Add a SortUsingDeclaration option and enable it by default

This patch adds a `SortUsingDeclaration` style option and enables it for llvm

Reviewers: klimek

Reviewed By: klimek

Subscribers: klimek

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

LLVM — cfe/trunk/docs ClangFormatStyleOptions.rst, cfe/trunk/docs/tools dump_format_style.py

[clang-format] Update dump_format_style.py to indent nested fields

This updates the format options documentation script to indent the
documentation of nested fields. The previous format caused some problems,
as when a bulleted list ends with a multiline comment. See the buildbot failure

Reviewers: djasper

Reviewed By: djasper

Subscribers: cfe-commits

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

LLVM — llvm/trunk/test/CodeGen/X86 insertps-combine.ll

[X86][SSE] Dropped -mcpu from insertps tests

Use triple and attribute only for consistency

LLVM — llvm/trunk/lib/Target/Mips MipsSEISelLowering.cpp, llvm/trunk/test/CodeGen/Mips/msa 3r_splat.ll

[mips][msa] Splat.d endianness check

Before this change, it was always the first element of a vector that got splatted since 
the lower 6 bits of vshf.d $wd were always zero for little endian.
Additionally, masking has been performed for vshf via which splat.d is created.

Vshf has a property where if its first operand's elements have either bit 6 or 7 set, 
destination element is set to zero.
Initially masked with 63 to avoid this property, which would result in generation of and.v 
+ vshf.d in all cases.
Masking with one results in generating a single splati.d instruction when possible.

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

LLVM — cfe/trunk/docs ClangFormatStyleOptions.rst, cfe/trunk/include/clang/Format Format.h

[clang-format] Update style documentation, NFC

Summary: Style documentation is generated automatically by 
`docs/tools/dump_format_style.py`. This hasn't been ran for a while.

Reviewers: djasper

Subscribers: cfe-commits, klimek

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

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

[JumpThreading] Teach jump threading how to analyze (and (cmp A, C1), (cmp A, C2)) after 
InstCombine has turned it into (cmp (add A, C3), C4)

Currently JumpThreading can use LazyValueInfo to analyze an 'and' or 'or' of compare if 
the compare is fed by a livein of a basic block. This can be used to to prove the 
condition can't be met for some predecessor and the jump from that predecessor can be 
moved to the false path of the condition.

But if the compare is something that InstCombine turns into an add and a single compare, 
it can't be analyzed because the livein is now an input to the add and not the compare.

This patch adds a new method to LVI to get a ConstantRange on an edge. Then we teach jump 
threading to detect the add livein feeding a compare and to get the ConstantRange and 
propagate it.

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

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

[JumpThreading] Use some temporary variables to reduce the number of times we call the 
same methods. NFC

A future patch will add even more uses of these variables.

LLVM — llvm/trunk/include/llvm/MC MCWinCOFFObjectWriter.h, llvm/trunk/lib/MC WinCOFFObjectWriter.cpp

COFF: Produce an error on invalid pcrel relocs.

X86_64 COFF only has support for 32 bit pcrel relocations. Produce an
error on all others.

Note that gnu as has extended the relocation values to support
this. It is not clear if we should support the gnu extension.

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

[LoopSimplify] Factor the logic to form dedicated exits into a utility.

I want to use the same logic as LoopSimplify to form dedicated exits in
another pass (SimpleLoopUnswitch) so I wanted to factor it out here.

I also noticed that there is a pretty significantly more efficient way
to implement this than the way the code in LoopSimplify worked. We don't
need to actually retain the set of unique exit blocks, we can just
rewrite them as we find them and use only a set to deduplicate.

This did require changing one part of LoopSimplify to not re-use the
unique set of exits, but it only used it to check that there was
a single unique exit. That part of the code is about to walk the exiting
blocks anyways, so it seemed better to rewrite it to use those exiting
blocks to compute this property on-demand.

I also had to ditch a statistic, but it doesn't seem terribly valuable.

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