- Feb 18, 2015
-
-
Chris Bieneman authored
Summary: This resolves Bugzilla bug 15493. Reviewers: chapuni, pete Reviewed By: pete Subscribers: pete, llvm-commits Differential Revision: http://reviews.llvm.org/D6157 Conflicts: cmake/modules/AddLLVM.cmake llvm-svn: 229720
-
Justin Bogner authored
This comes up when we generate coverage for a function but don't end up emitting the function at all - dead static functions or inline functions that aren't referenced in a particular TU, for example. In these cases we'd like to show that the function was never called, which is trivially true. llvm-svn: 229717
-
Andrew Kaylor authored
Differential Revision: http://reviews.llvm.org/D7363 llvm-svn: 229715
-
Justin Bogner authored
Make CoverageMapping easier to create, so that we can write targeted unit tests for its internals, and add a some infrastructure to write these tests. Finally, add a simple unit test for basic functionality. llvm-svn: 229709
-
Jozef Kolek authored
Differential Revision: http://reviews.llvm.org/D7609 llvm-svn: 229706
-
Jozef Kolek authored
Differential Revision: http://reviews.llvm.org/D5047 llvm-svn: 229702
-
Daniel Sanders authored
Summary: These ISA's didn't add any instructions so they are almost identical to Mips32r2 and Mips64r2. Even the ELF e_flags are the same, However the ISA revision in .MIPS.abiflags is 3 or 5 respectively instead of 2. Reviewers: vmedic Reviewed By: vmedic Subscribers: tomatabacu, llvm-commits, atanasyan Differential Revision: http://reviews.llvm.org/D7381 llvm-svn: 229695
-
Kit Barton authored
This patch adds the VSX logical instructions introduced in the Power ISA 2.07. It also removes the added complexity that favors VMX versions of the three instructions. Phabricator review: http://reviews.llvm.org/D7616 Commiting on Nemanja's behalf. llvm-svn: 229694
-
Tom Stellard authored
We only need to set this on pseudo instructions which won't be used by the assembler. llvm-svn: 229689
-
Tom Stellard authored
llvm-svn: 229688
-
Tom Stellard authored
llvm-svn: 229687
-
Tom Stellard authored
llvm-svn: 229686
-
Tom Stellard authored
llvm-svn: 229685
-
Tom Stellard authored
llvm-svn: 229684
-
Vasileios Kalintiris authored
Reviewers: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7581 llvm-svn: 229675
-
Benjamin Kramer authored
Doesn't matter in terms of memory usage or perf here, but it's a neat simplification. llvm-svn: 229672
-
Toma Tabacu authored
Summary: Parse for an MCExpr instead of an Identifier and use the symbol for relocations, not just the symbol's name. This fixes errors when using local labels in .cpsetup (PR22518). Reviewers: dsanders Reviewed By: dsanders Subscribers: seanbruno, emaste, llvm-commits Differential Revision: http://reviews.llvm.org/D7697 llvm-svn: 229671
-
Chandler Carruth authored
actually removed all but a *very* small number of choices for v2i64. Also remove dead code handling cases that simply cannot arise. llvm-svn: 229670
-
Chandler Carruth authored
llvm-svn: 229669
-
Chandler Carruth authored
lowering. llvm-svn: 229668
-
Mohit K. Bhakkad authored
Reviewers: Reviewers: eugenis, kcc, samsonov, petarj Subscribers: dsanders, sagar, llvm-commits Differential Revision: http://reviews.llvm.org/D7182 llvm-svn: 229667
-
Chandler Carruth authored
quite literally the same work, we just need to special case the >64-bit element shift code emission to emit the byte shift instructions and offsets. This also makes reasoning about each of the vector lowering strategies easier as we don't have to remember to use both forms. llvm-svn: 229662
-
Bradley Smith authored
Add some of the missing M and R class Cortex CPUs, namely: Cortex-M0+ (called Cortex-M0plus for GCC compatibility) Cortex-M1 SC000 SC300 Cortex-R5 llvm-svn: 229660
-
Michael Kuperstein authored
1) We should not try to simplify if the sext has multiple uses 2) There is no need to simplify is the source value is already sign-extended. Patch by Gil Rapaport <gil.rapaport@intel.com> Differential Revision: http://reviews.llvm.org/D6949 llvm-svn: 229659
-
Ulrich Weigand authored
Removed (unreachable) default case in switch to clean up warning: lib/Target/SystemZ/SystemZISelLowering.cpp:1974:5: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default] llvm-svn: 229658
-
Chandler Carruth authored
code. While this didn't have the miscompile (it used MatchLeft consistently) it missed some cases where it could use right shifts. I've added a test case Craig Topper came up with to exercise the right shift matching. This code is really identical between the two. I'm going to merge them next so that we don't keep two copies of all of this logic. llvm-svn: 229655
-
Ulrich Weigand authored
The current SystemZ back-end only supports the local-exec TLS access model. This patch adds all required CodeGen support for the other TLS models, which means in particular: - Expand initial-exec TLS accesses by loading TLS offsets from the GOT using @indntpoff relocations. - Expand general-dynamic and local-dynamic accesses by generating the appropriate calls to __tls_get_offset. Note that this routine has a non-standard ABI and requires loading the GOT pointer into %r12, so the patch also adds support for the GLOBAL_OFFSET_TABLE ISD node. - Add a new platform-specific optimization pass to remove redundant __tls_get_offset calls in the local-dynamic model (modeled after the corresponding X86 pass). - Add test cases verifying all access models and optimizations. llvm-svn: 229654
-
Igor Laevsky authored
llvm-svn: 229653
-
Ulrich Weigand authored
The current SystemZ back-end only supports the local-exec TLS access model. This patch adds all required MC support for the other TLS models, which means in particular: - Support additional relocation types for Initial-exec model: R_390_TLS_IEENT Local-dynamic-model: R_390_TLS_LDO32, R_390_TLS_LDO64, R_390_TLS_LDM32, R_390_TLS_LDM64, R_390_TLS_LDCALL General-dynamic model: R_390_TLS_GD32, R_390_TLS_GD64, R_390_TLS_GDCALL - Support assembler syntax to generate additional relocations for use with __tls_get_offset calls: :tls_gdcall: :tls_ldcall: The patch also adds a new test to verify fixups and relocations, and removes the (already unused) FK_390_PLT16DBL/FK_390_PLT32DBL fixup kinds. llvm-svn: 229652
-
NAKAMURA Takumi authored
llvm-svn: 229651
-
NAKAMURA Takumi authored
Revert r229622: "[LoopAccesses] Make VectorizerParams global" and others. r229622 brought cyclic dependencies between Analysis and Vector. r229622: "[LoopAccesses] Make VectorizerParams global" r229623: "[LoopAccesses] Stash the report from the analysis rather than emitting it" r229624: "[LoopAccesses] Cache the result of canVectorizeMemory" r229626: "[LoopAccesses] Create the analysis pass" r229628: "[LoopAccesses] Change debug messages from LV to LAA" r229630: "[LoopAccesses] Add canAnalyzeLoop" r229631: "[LoopAccesses] Add missing const to APIs in VectorizationReport" r229632: "[LoopAccesses] Split out LoopAccessReport from VectorizerReport" r229633: "[LoopAccesses] Add -analyze support" r229634: "[LoopAccesses] Change LAA:getInfo to return a constant reference" r229638: "Analysis: fix buildbots" llvm-svn: 229650
-
Daniel Jasper authored
No functional changes intended. (I plan on doing some modifications to this function and would like to have as few unrelated changes as possible in the patch) llvm-svn: 229649
-
Daniel Jasper authored
This reverts r226034. Benchmarking with those flags has not revealed anything interesting. llvm-svn: 229648
-
Elena Demikhovsky authored
Removed metadata and function attributes from the test. llvm-svn: 229647
-
Sanjoy Das authored
llvm-svn: 229646
-
Elena Demikhovsky authored
By Asaf Badouh <asaf.badouh@intel.com> llvm-svn: 229645
-
Craig Topper authored
[X86] Add another test case for the bug fixed in r229642. With the bug a vpsrldq was emitted instead of pslldq. llvm-svn: 229643
-
Chandler Carruth authored
track state. I didn't like this in the code review because the pattern tends to be error prone, but I didn't see a clear way to rewrite it. Turns out that there were bugs here, I found them when fuzz testing our shuffle lowering for correctness on x86. The core of the problem is that we need to consistently test all our preconditions for the same directionality of shift and the same input vector. Instead, formulate this as two predicates (one doesn't depend on the input in any way), pass things like the directionality and input vector as inputs, and loop over the alternatives. This fixes a pattern of very rare miscompiles coming out of this code. Turned up roughly 4 out of every 1 million v8 shuffles in my fuzz testing. The new code is over half a million test runs with no failures yet. I've also fuzzed every other function in the lowering code with over 3.5 million test cases and not discovered any other miscompiles. llvm-svn: 229642
-
Craig Topper authored
[X86] Remove AVX512 pslldq/psrldq shift intrinsics. They aren't implemented yet and when they are they should be done with shuffles like SSE2 and AVX2. llvm-svn: 229641
-
Craig Topper authored
[X86] Remove AVX2 and SSE2 pslldq and psrldq intrinsics. We can represent them in IR with vector shuffles now. All their uses have been removed from clang in favor of shuffles. llvm-svn: 229640
-