- Oct 29, 2014
-
-
Alexander Kornienko authored
llvm-svn: 220863
-
Robert Khasanov authored
[AVX512] Implemented AVX512VL FP bnary packed instructions (VADDP*, VSUBP*, VMULP*, VDIVP*, VMAXP*, VMINP*) Refactored through AVX512_maskable Added encoding tests for them. llvm-svn: 220858
-
NAKAMURA Takumi authored
llvm-svn: 220857
-
Michael Kuperstein authored
* Added LLVM libraries required for IntelJITEvents to LLVMBuild.txt. * Removed 'jit' library from llvm-jitlistener. * Added support for OptionalLibraries to llvm-build cmake files generator. Patch by aleksey.a.bader@intel.com Differential Revision: http://reviews.llvm.org/D5646 llvm-svn: 220848
-
Peter Zotov authored
llvm-svn: 220847
-
Peter Zotov authored
llvm-svn: 220846
-
Peter Zotov authored
Pretend they do not exist using exists_if. This is better than the current situation, which is the error: Error: The external function `llvm_global_succ' is not available but still somewhat confusing. llvm-svn: 220845
-
Peter Zotov authored
llvm-svn: 220844
-
Peter Zotov authored
In practice this means: * Always using -g flag. * Embedding -cclib -lstdc++ into the corresponding cma/cmxa file. This also moves -lstdc++ in a single place. * Using caml_named_value instead of a homegrown mechanism. llvm-svn: 220843
-
Peter Zotov authored
Also, rearrange the functions in a way that allows to quickly compare C headers and .mli/glue files. llvm-svn: 220842
-
NAKAMURA Takumi authored
For example, MS PSDK is not expected to have <cxxabi.h>. You should introduce the new feature in lit.cfg corresponding to HAVE_CXXABI_H if you would like to test demangler. llvm-svn: 220840
-
Saleem Abdulrasool authored
Remove pointless checks for storage of uninteresting values. Ensure that we perform basic alias analysis to make the test more correct. Finally, apply a stylistic change to the test. llvm-svn: 220839
-
Seo Sanghyeon authored
llvm-svn: 220838
-
Kevin Enderby authored
llvm-svn: 220833
-
Peter Zotov authored
llvm-svn: 220832
-
- Oct 28, 2014
-
-
Peter Zotov authored
When several build targets, e.g. Debug+Asserts and Release+Asserts are present, ocamldoc complains of duplicate interfaces. llvm-svn: 220831
-
Peter Zotov authored
llvm-svn: 220829
-
Peter Zotov authored
Previously, tests hardcoded ocamlopt and cmxa, which broke builds on machines without ocamlopt. Instead, they now fall back to ocamlc. As a side effect this fixes PR14727, which was caused by a crude hack that replaced gcc with g++ everywhere in the ocamlopt native compiler path and passes it back using -cc. Now the tests use the same technique as META, i.e. -cclib -lstdc++. It might be more fragile than using g++ explicitly, but it will break when the installed package will also break, which is good. llvm-svn: 220828
-
Peter Zotov authored
Patch by Gabriel Radanne <drupyog@zoho.com>. llvm-svn: 220818
-
Peter Zotov authored
Patch by Gabriel Radanne <drupyog@zoho.com>. llvm-svn: 220817
-
Peter Zotov authored
Patch by Gabriel Radanne <drupyog@zoho.com>. llvm-svn: 220816
-
Peter Zotov authored
Patch by Gabriel Radanne <drupyog@zoho.com>. llvm-svn: 220815
-
Peter Zotov authored
Patch by Gabriel Radanne <drupyog@zoho.com>. llvm-svn: 220814
-
Saleem Abdulrasool authored
This restores the commit from SVN r219899 with an additional change to ensure that the CodeGen is correct for the case that was identified as being incorrect (originally PR7272). In the case that during inlining we need to synthesize a value on the stack (i.e. for passing a value byval), then any function involving that alloca must be stripped of its tailness as the restriction that it does not access the parent's stack no longer holds. Unfortunately, a single alloca can cause a rippling effect through out the inlining as the value may be aliased or may be mutated through an escaped external call. As such, we simply track if an alloca has been introduced in the frame during inlining, and strip any tail calls. llvm-svn: 220811
-
Robert Khasanov authored
No functional change llvm-svn: 220808
-
Robert Khasanov authored
Refactored through AVX512_maskable llvm-svn: 220806
-
Robert Khasanov authored
Refactored multiclass through AVX512_maskable llvm-svn: 220783
-
Robert Khasanov authored
[AVX512] Removed special case for cmp instructions in getVectorMaskingNode. Now cmp intrinsics lower as other intrinsics through VSELECT, and then VSELECT tranforms to AND in PerformSELECTCombine. No functional change. llvm-svn: 220779
-
Robert Khasanov authored
[x86] Simplify vector selection if condition value type matches vselect value type and true value is all ones or false value is all zeros. This transformation worked if selector is produced by SETCC, however SETCC is needed only if we consider to swap operands. So I replaced SETCC check for this case. Added tests for vselect of <X x i1> values. llvm-svn: 220777
-
Aaron Ballman authored
llvm-svn: 220775
-
Robert Khasanov authored
Ffter commit at rev219046 512-bit broadcasts lowering become non-optimal. Most of tests on broadcasting and embedded broadcasting were changed and they doesn’t produce efficient code. Example below is from commit changes (it’s the first test from test/CodeGen/X86/avx512-vbroadcast.ll): define <16 x i32> @_inreg16xi32(i32 %a) { ; CHECK-LABEL: _inreg16xi32: ; CHECK: ## BB#0: -; CHECK-NEXT: vpbroadcastd %edi, %zmm0 +; CHECK-NEXT: vmovd %edi, %xmm0 +; CHECK-NEXT: vpbroadcastd %xmm0, %ymm0 +; CHECK-NEXT: vinserti64x4 $1, %ymm0, %zmm0, %zmm0 ; CHECK-NEXT: retq %b = insertelement <16 x i32> undef, i32 %a, i32 0 %c = shufflevector <16 x i32> %b, <16 x i32> undef, <16 x i32> zeroinitializer ret <16 x i32> %c } Here, 256-bit broadcast was generated instead of 512-bit one. In this patch 1) I added vector-shuffle lowering through broadcasts 2) Removed asserts and branches likes because this is incorrect - assert(Subtarget->hasDQI() && "We can only lower v8i64 with AVX-512-DQI"); 3) Fixed lowering tests llvm-svn: 220774
-
NAKAMURA Takumi authored
llvm-svn: 220773
-
NAKAMURA Takumi authored
llvm-svn: 220772
-
NAKAMURA Takumi authored
llvm-svn: 220771
-
Peter Zotov authored
We don't care about pre-3.12.1 anymore. llvm-svn: 220767
-
Peter Zotov authored
llvm-svn: 220766
-
David Blaikie authored
llvm-svn: 220759
-
Reid Kleckner authored
This is a Microsoft calling convention that supports both x86 and x86_64 subtargets. It passes vector and floating point arguments in XMM0-XMM5, and passes them indirectly once they are consumed. Homogenous vector aggregates of up to four elements can be passed in sequential vector registers, but this part is not implemented in LLVM and will be handled in Clang. On 32-bit x86, it is similar to fastcall in that it uses ecx:edx as integer register parameters and is callee cleanup. On x86_64, it delegates to the normal win64 calling convention. Reviewers: majnemer Differential Revision: http://reviews.llvm.org/D5943 llvm-svn: 220745
-
Tim Northover authored
Benchmarks have shown that it's harmless to the performance there, and having a unified set of passes between the two cores where possible helps big.LITTLE deployment. Patch by Z. Zheng. llvm-svn: 220744
-
Rafael Espindola authored
I noticed that it was untested, and forcing it on caused some tests to fail: LLVM :: Linker/metadata-a.ll LLVM :: Linker/prefixdata.ll LLVM :: Linker/type-unique-odr-a.ll LLVM :: Linker/type-unique-simple-a.ll LLVM :: Linker/type-unique-simple2-a.ll LLVM :: Linker/type-unique-simple2.ll LLVM :: Linker/type-unique-type-array-a.ll LLVM :: Linker/unnamed-addr1-a.ll LLVM :: Linker/visibility1.ll If it is to be resurrected, it has to be fixed and we should probably have a -preserve-source command line option in llvm-mc and run tests with and without it. llvm-svn: 220741
-