Displaying 1 50 of 231,911 commits (0.021s)

LLVM — cfe/trunk/test/CodeGen sse-builtins.c

[X86][SSE] Added missing tests (merge failure)

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

LLVM — cfe/trunk/lib/Headers emmintrin.h xmmintrin.h, cfe/trunk/test/CodeGen sse2-builtins.c

[X86][SSE] _mm_store1_ps/_mm_store1_pd should require an aligned pointer

According to the gcc headers, intel intrinsics docs and msdn codegen the _mm_store1_pd 
(and its _mm_store_pd1 equivalent) should use an aligned pointer - the clang headers are 
the only implementation I can find that assume non-aligned stores (by storing with 

Additionally, according to the intel intrinsics docs and msdn codegen the _mm_store1_ps 
(_mm_store_ps1) requires a similarly aligned pointer.

This patch raises the alignment requirements to match the other implementations by calling 
_mm_store_ps/_mm_store_pd instead.

I've also added the missing _mm_store_pd1 intrinsic (which maps to _mm_store1_pd like 
_mm_store_ps1 does to _mm_store1_ps).

As a followup I'll update the llvm fast-isel tests to match this codegen.

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

LLVM — llvm/branches/release_38/lib/Target/PowerPC PPCISelLowering.cpp, llvm/branches/release_38/test/CodeGen/PowerPC pr27350.ll

Merging r266438:

r266438 | niravd | 2016-04-15 08:01:38 -0700 (Fri, 15 Apr 2016) | 15 lines

Fix typing on generated LXV2DX/STXV2DX instructions

[PPC] Previously when casting generic loads to LXV2DX/ST instructions we
would leave the original load return type in place allowing for an
assertion failure when we merge two equivalent LXV2DX nodes with
different types.

This fixes PR27350.

Reviewers: nemanjai

Subscribers: llvm-commits

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


LLVM — llvm/branches/release_38/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/branches/release_38/test/CodeGen/AArch64 merge-store.ll

Merging r266217:

r266217 | niravd | 2016-04-13 10:27:26 -0700 (Wed, 13 Apr 2016) | 12 lines

Cleanup Store Merging in UseAA case

This patch fixes a bug (PR26827) when using anti-aliasing in store
merging. This sets the chain users of the component stores to point to
the new store instead of the component stores chain parent.

Reviewers: jyknight

Subscribers: llvm-commits

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


LLVM — cfe/trunk/lib/Headers __clang_cuda_intrinsics.h

[CUDA] Fix order of vectorized ldg intrinsics' elements.

Summary: The order is [x, y, z, w], not [w, x, y, z].

Subscribers: cfe-commits, tra

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

LLVM — cfe/trunk/include/clang/Basic BuiltinsX86.def, cfe/trunk/lib/Headers avxintrin.h emmintrin.h

[X86] Replace unaligned store builtins in SSE/AVX intrinsic files with code that will 
compile to a native unaligned store. Remove the builtins since they are no longer used.

Intrinsics will be removed from llvm in a future commit.

LLVM — llvm/trunk/docs/tutorial BuildingAJIT5.rst

[Kaleidoscope][BuildingAJIT] Add stub Chapter 5 text.

LLVM — cfe/trunk/test/CodeGen cfstring.c CFStrings.c, cfe/trunk/test/CodeGenObjC constant-strings.m 2009-08-05-utf16.m

test: add explicit targets for some tests

These tests currently expect MachO section names and do not provide a target.
Explicitly provide one.

LLVM — cfe/trunk/lib/CodeGen CodeGenModule.cpp, cfe/trunk/test/CodeGen CFStrings.c

CodeGen: tweak CFConstantStrings for COFF and ELF

Adjust the constant CFString emission to emit into more appropriate sections on
ELF and COFF targets.  It would previously try to use MachO section names
irrespective of the file format.

LLVM — lldb/trunk/source/Plugins/SymbolFile/DWARF SymbolFileDWARF.cpp

[LLDB] Make sure that indexing is done before clearing DIE info

"ClearDIEs()" was being called too soon, before everyone was done using the DIEs.

This fix delays the calls to ::ClearDIEs() until all compile units have been indexed.

1 - Call "::ExtractDIEsIfNeeded()" on all compile units on separate threads. See if each 
CU has the DIEs parsed and remember this.
2 - Index all compile units on separate threads.
3 - Clear any DIEs in any compile units that didn't have their DIEs parsed after all 
compile units have been indexed.

Patch by phlav

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

LLVM — cfe/trunk/docs LibASTMatchersReference.html, cfe/trunk/include/clang/ASTMatchers ASTMatchers.h

[ASTMatchers] Add support of hasCondition for SwitchStmt.

The switch statement could be added to the hasCondition matcher.

clang-query> match switchStmt(hasCondition(ignoringImpCasts(declRefExpr())))

Match #1:

Binding for "root":
SwitchStmt 0x2f9b528 </usr/local/google/home/etienneb/examples/enum.cc:35:3, line:38:3>
|-ImplicitCastExpr 0x2f9b510 <line:35:11> 'int' <IntegralCast>
| `-ImplicitCastExpr 0x2f9b4f8 <col:11> 'enum Color' <LValueToRValue>
|   `-DeclRefExpr 0x2f9b4d0 <col:11> 'enum Color' lvalue Var 0x2f9a118 'C' 'enum Color'
`-CompoundStmt 0x2f9b610 <col:14, line:38:3>
  |-CaseStmt 0x2f9b578 <line:36:3, col:22>
  | |-ImplicitCastExpr 0x2f9b638 <col:8> 'int' <IntegralCast>
  | | `-DeclRefExpr 0x2f9b550 <col:8> 'enum Size' EnumConstant 0x2f99e40 'Small' 'enum 

    [14 lines not shown]

LLVM — cfe/trunk/lib/Headers avx512fintrin.h, cfe/trunk/test/CodeGen avx512f-builtins.c

[Clang][avx512][builtin] Adding missing intrinsics for cvt

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

LLVM — cfe/trunk/lib/CodeGen CGOpenMPRuntime.cpp, cfe/trunk/test/OpenMP for_simd_codegen.cpp

[OPENMP 4.5] Additional codegen for statically scheduled loops with
'simd' modifier.

Runtime library defines new schedule constant kmp_sch_static_balanced_chunked = 45 for 
static loop-based directives  static with chunk adjustment (e.g., simd). Added codegen for 
this kind of schedule.

LLVM — cfe/trunk/lib/CodeGen CGOpenMPRuntime.cpp CGStmtOpenMP.cpp, cfe/trunk/test/OpenMP taskloop_simd_codegen.cpp taskloop_codegen.cpp

[OPENMP 4.5] Fixed codegen for 'priority' and destructors in task-based

'kmp_task_t' record type added a new field for 'priority' clause and
changed the representation of pointer to destructors for privates used
within loop-based directives.
Old representation:

typedef struct kmp_task {                   /* GEH: Shouldn't this be
aligned somehow? */
  void *shareds;                            /**< pointer to block of
    pointers to shared vars   */
  kmp_routine_entry_t routine;              /**< pointer to routine
    to call for executing task */
  kmp_int32 part_id;                        /**< part id for the
    task                          */
  kmp_routine_entry_t destructors;        /* pointer to function to
  invoke deconstructors of firstprivate C++ objects */
  /*  private vars  */
} kmp_task_t;

New representation:

typedef struct kmp_task {                   /* GEH: Shouldn't this be
aligned somehow? */

    [18 lines not shown]

LLVM — llvm/trunk/lib/Target/BPF BPFISelLowering.cpp, llvm/trunk/test/CodeGen/BPF struct_ret1.ll struct_ret2.ll

[BPF] Remove exit-on-error from tests (PR27768, PR27769)

The exit-on-error flag is necessary to avoid some assertions/unreachables. We
can get past them by creating a few dummy nodes.

Fixes PR27768, PR27769.

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

LLVM — cfe/trunk/test/Headers opencl-c-header.cl

[OpenCL] Remove tests without triple from test/Headers/opencl-c-header.cl.

This test requires triples with Itanium C++ ABI whereas triples with MSVC environment uses 
Microsoft C++ ABI.

LLVM — cfe/trunk/lib/Headers opencl-c.h CMakeLists.txt, cfe/trunk/test/Headers opencl-c-header.cl

[OpenCL] Add the default header file opencl-c.h for OpenCL C language

OpenCL has large number of "builtin" functions ("builtin" in the sense of OpenCL spec) 
which are defined in header files. To compile OpenCL kernels using these builtin 
functions, a header file is needed.

This header file is based on the Khronos implementation 
(https://github.com/KhronosGroup/SPIR/blob/spirv-1.0/lib/Headers/opencl.h) with heavy 

Re-commit after fixing failures on ppc64/systemz etc.

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

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

[IndVars] Assert that the incoming IR is in LCSSA

Since we already assert that the outgoing IR is in LCSSA, it is easy to
get misled into thinking that -indvars broke LCSSA if the incoming IR is
non-LCSSA.  Checking this pre-condition will make such cases break in
more obvious ways.

Inspired by (but does _not_ fix) PR26682.

LLVM — libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem do_allocate_and_deallocate.pass.cpp, libcxx/trunk/test/support test_memory_resource.hpp

Fix bug in test allocator that incorrectly computed the allocation size

LLVM — llvm/trunk/examples/Kaleidoscope/BuildingAJIT CMakeLists.txt

[Kaleidoscope][BuildingAJIT] Don't build Chapter 5 on Windows for now.

The TCP setup code is currently *nix based and does not build on Windows.

LLVM — llvm/trunk/examples/Kaleidoscope/BuildingAJIT CMakeLists.txt Chapter5, llvm/trunk/examples/Kaleidoscope/BuildingAJIT/Chapter5 toy.cpp KaleidoscopeJIT.h

[Kaleidoscope][BuildingAJIT] Add code for Chapter 5 - remote JITing.

This chapter demonstrates lazily JITing from ASTs with the expressions being
executed on a remote machine via a TCP connection. It needs some polish, but is
substantially complete.

Currently x86-64 SysV ABI (Darwin and Linux) only, but other architectures
can be supported by changing the server code to use alternative ABI support
classes from llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h.

LLVM — llvm/trunk/utils/release merge.sh

Make it easier to process merges in a normal buildable directory tree by
allowing the user to specify the base directory of the checkout.
Delta File
+9 -1 llvm/trunk/utils/release/merge.sh
+9 -1 1 file

LLVM — cfe/trunk/lib/Format ContinuationIndenter.cpp, cfe/trunk/unittests/Format FormatTestJS.cpp

clang-format: Fix segfault introduced by allowing wraps after comments.

LLVM — llvm/trunk/include/llvm InitializePasses.h, llvm/trunk/lib/Transforms/Scalar IndVarSimplify.cpp Scalar.cpp

[IndVarSimplify] Extract the logic of `-indvars` out into a class; NFC

This will be used later to port IndVarSimplify to the new pass manager.

LLVM — llvm/trunk/include/llvm/ExecutionEngine/Orc OrcRemoteTargetClient.h

[Orc] Fix a type in the OrcRemoteClientUtility.

This function failed to type-check as it was. No test case yet (we only have
regression tests for the remote-JIT code, and LLI don't use this function), but
an upcoming chapter of the Kaleidoscope Building A JIT tutorials will use

LLVM — cfe/trunk/test lit.cfg, cfe/trunk/test/CodeGenCXX debug-info-class-limited-plugin.test debug-info-class-limited.test

Enable some accidentally dead tests and fix up the bitrot

Problem found by Nico, originally committed by me in r213213. The .test
prefix wasn't actually being run. Once that was fixed the test cases had
outdated command line syntax and IR debug info format, so updated for
those issues to get them back up and running.

Thanks Nico!

LLVM — cfe/trunk/lib/Headers avx2intrin.h emmintrin.h

[X86][SSE] Make unsigned integer vector types generally available

As discussed on http://reviews.llvm.org/D20684, move the unsigned integer vector types 
used for zero extension to make them available for general use.

LLVM — llvm/trunk/lib/Fuzzer FuzzerLoop.cpp, llvm/trunk/lib/Fuzzer/test fuzzer-threaded.test

[libFuzzer] fix a use-after-free (!) in libFuzzer caused by r270905: that CL caused a 
push_back in the main corpus invalidating the vector<> iterators in rare cases.

LLVM — cfe/trunk/lib/Format TokenAnnotator.cpp FormatToken.h, cfe/trunk/unittests/Format FormatTestJS.cpp

clang-format: [JS] Support shebang lines on the very first line.

Shebang lines (`#!/bin/blah`) can be used in JavaScript scripts to indicate
they should be run using e.g. node. This change treats # lines on the first line
as line comments.

Reviewers: djasper

Subscribers: klimek, cfe-commits

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

LLVM — cfe/trunk/lib/Format UnwrappedLineParser.cpp, cfe/trunk/unittests/Format FormatTestJS.cpp

clang-format: [JS] fix async parsing.

Only treat the sequence `async function` as the start of a function expression,
as opposed to every occurrence of the token `async` (whoops).

Reviewers: djasper

Subscribers: klimek, cfe-commits

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

LLVM — cfe/trunk/lib/Format FormatToken.h TokenAnnotator.h

clang-format: [JS] FormatToken.startsSequence/endsSequence.

Refactors AnnotatedLine.startsWith/endsWith by extracting the core functionality
into FormatToken.startsSequence/endsSequence. This allows checking tokens within
the pointered linked list structure with a lookahead, automatically ignoring
comments, which is useful in many places (e.g. see subsequent commit).

LLVM — cfe/trunk/lib/Frontend CompilerInvocation.cpp, cfe/trunk/lib/Tooling Refactoring.cpp

Avoid unnecessary std::string copies. NFC.

LLVM — llvm/trunk/include/llvm/IR Function.h, llvm/trunk/include/llvm/Transforms/Utils LoopVersioning.h

Remove some 'const' specifiers that do nothing but prevent moving the argument.

Found by clang-tidy's misc-move-const-arg. While there drop some
obsolete c_str() calls.

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

[ProfileData] Clean up string handling a bit.

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

[SCEV] Remove the singleton `apply` function (re-apply r271155)

Polly has been updated in r271177 to not use it.

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

[X86] Simplify alignr builtin support by recognizing that NumLaneElts is always 16. NFC

LLVM — llvm/trunk/test/Instrumentation/MemorySanitizer vector_shift.ll

[X86] Remove some unnecessary declarations for old intrinsics from a test.

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

[X86] Simplify some of the autoupgrade code. NFC
Delta File
+38 -61 llvm/trunk/lib/IR/AutoUpgrade.cpp
+38 -61 1 file

LLVM — llvm/trunk/tools/llvm-readobj COFFDumper.cpp

Don't dereference a symbol iterator before checking for the end case

LLVM — llvm/trunk/lib/DebugInfo/CodeView TypeDumper.cpp

Make sure we don't add an empty string to the stringmap

LLVM — llvm/trunk/include/llvm/DebugInfo/CodeView CVRecord.h

[CVRecord] Don't assume that the record has two bytes of data in it

LLVM — llvm/trunk/include/llvm/DebugInfo/CodeView StreamReader.h

Don't let the readArray size calculation overflow

LLVM — llvm/trunk/include/llvm/DebugInfo/PDB/Raw IPDBFile.h PDBFile.h

[pdb] Make an abstract base class for PDBFile.

This will allow us to mock it out in a unit test to begin
writing unit tests for the various PDB and codeview classes.

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

Revert "[SCEV] Remove unused function; NFC"

This reverts commit r271155.  The `apply` function is actually used by

LLVM — cfe/trunk/include/clang/Driver CC1Options.td

Fix typo.

Thanks to David Majnemer for noticing.

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

[CodeGen] Use the ArrayRef form CreateShuffleVector instead of building ConstantVectors or 
ConstantDataVectors and calling the other form.
Delta File
+39 -48 cfe/trunk/lib/CodeGen/CGBuiltin.cpp
+39 -48 1 file

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

[IR] Teach the ArrayRef<int> form of IRBuilder::CreateShuffleVector to use 

This will be used in a follow up commit to simplify code in clang that creates a 
ConstantDataVector and calls the other form.

LLVM — cfe/trunk/test/CodeGen relax.c

Mark test as requiring x86-registered-target.
Delta File
+1 -0 cfe/trunk/test/CodeGen/relax.c
+1 -0 1 file

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

Handle -Wa,--mrelax-relocations=[no|yes].

LLVM — llvm/trunk/include/llvm/Target TargetOptions.h, llvm/trunk/lib/CodeGen LLVMTargetMachine.cpp

Add RelaxELFRelocations to TargetOptions.h.

It will be used in clang.