- Aug 04, 2015
-
-
David Majnemer authored
This change was done as an audit and is by inspection. The new EH system is still very much a work in progress. NFC for the landingpad case. llvm-svn: 243965
-
Simon Pilgrim authored
These aren't vector demanded bits tests. More tests to follow. llvm-svn: 243963
-
Simon Pilgrim authored
This will make some upcoming bugfixes + improvements easier to manage. llvm-svn: 243962
-
Duncan P. N. Exon Smith authored
r243883 started moving 'distinct' nodes instead of duplicated them in lib/Linker. This had the side-effect of sometimes not cloning uniqued nodes that reference them. I missed a corner case: !named = !{!0} !0 = !{!1} !1 = distinct !{!0} !0 is the entry point for "remapping", and a temporary clone (say, !0-temp) is created and mapped in case we need to model a uniquing cycle. Recursive descent into !1. !1 is distinct, so we leave it alone, but update its operand to !0-temp. Pop back out to !0. Its only operand, !1, hasn't changed, so we don't need to use !0-temp. !0-temp goes out of scope, and we're finished remapping, but we're left with: !named = !{!0} !0 = !{!1} !1 = distinct !{null} ; uh oh... Previously, if !0 and !0-temp ended up with identical operands, then !0-temp couldn't have been referenced at all. Now that distinct nodes don't get duplicated, that assumption is invalid. We need to !0-temp->replaceAllUsesWith(!0) before freeing !0-temp. I found this while running an internal `-flto -g` bootstrap. Strangely, there was no case of this in the open source bootstrap I'd done before commit... llvm-svn: 243961
-
Mehdi Amini authored
Requires "native" feature in most places that were failing. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243960
-
Mehdi Amini authored
These tests rely on the native backend to be built-in. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243959
-
Mehdi Amini authored
The goal is to have 'ninja check' passing even if the X86 backend is not built. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243958
-
Justin Bogner authored
If we don't have sys/wait.h and we're on a unix system there's no way that several of the llvm tools work at all. This includes clang. Just remove the configure and cmake checks entirely - we'll get a build error instead of building something broken now. llvm-svn: 243957
-
Hal Finkel authored
On the code path in ExpandUnalignedLoad which expands an unaligned vector/fp value in terms of a legal integer load of the same size, the ChainResult needs to be the chain result of the integer load. No in-tree test case is currently available. Patch by Jan Hranac! llvm-svn: 243956
-
Adam Nemet authored
This variant of addRuntimeCheck is only used now from the LoopVectorizer which does not use this parameter. llvm-svn: 243955
-
Chen Li authored
Summary: This patch adds enum value for an existing metadata type -- make.implicit. Using preassigned enum will be helpful to get compile time type checking and avoid string construction and comparison. The patch also changes uses of make.implicit from string metadata to enum metadata. There is no functionality change. Reviewers: reames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11698 llvm-svn: 243954
-
Saleem Abdulrasool authored
This adds the software division routines for the Windows RTABI. These are not expected to be used often though as most modern Windows ARM capable targets support hardware division. In the case that the target CPU doesnt support hardware division, this will be the fallback. llvm-svn: 243952
-
Saleem Abdulrasool authored
Make the libcall updating table driven similar to the approach that the Linux and Windows codepath does below. NFC. llvm-svn: 243951
-
Chandler Carruth authored
contained types into the space when we have no contained types. This fixes the UB stemming from a call to memcpy with a null pointer. This also reduces the calls to allocate because this actually happens in a notable client - Clang. Found by UBSan. llvm-svn: 243944
-
Sean Silva authored
Looks like the rebased version that Mehdi committed didn't incorporate the latest changes. Patch by Erik de Castro Lopo <erikd@mega-nerd.com>! llvm-svn: 243942
-
Sanjoy Das authored
This reverts commit r243348 and r243357. They caused PR24347. llvm-svn: 243939
-
Ahmed Bougacha authored
Some are named "FP", others "SD", others still "FP*SD". Rename all this to just use "FP", which, except for conversions (which don't use this format naming scheme), implies "SD" anyway. llvm-svn: 243936
-
Ahmed Bougacha authored
llvm-svn: 243935
-
Chandler Carruth authored
this is the last of them in my build of LLVM. Haven't tried Clang yet. Found via UBSan. llvm-svn: 243934
-
Ahmed Bougacha authored
It's already in SysRegMappings, no need to also have it in MSRMappings: the latter is only used if we didn't find a match in the former. llvm-svn: 243933
-
Chandler Carruth authored
This too was found by UBSan. Down to 35 failures for me. llvm-svn: 243932
-
Ahmed Bougacha authored
llvm-svn: 243931
-
Ahmed Bougacha authored
llvm-svn: 243930
-
Hans Wennborg authored
llvm-svn: 243929
-
Chandler Carruth authored
This happens to work, but is not guaranteed to work. Indeed, most memcpy interfaces in Linux-land annotate these arguments as nonnull, and GCC and LLVM both can and do optimized based upon that. When they do so, they might legitimately have miscompiled code calling this routine with two valid iterators, 'nullptr' and 'nullptr'. There was even code doing precisely this because StringRef().begin() and StringRef().end() both produce null pointers. This was found by UBSan. llvm-svn: 243927
-
Ahmed Bougacha authored
There's a bunch of code in LowerFCOPYSIGN that does smart lowering, and is actually already vector-aware; let's use it instead of scalarizing! The only interesting change is that for v2f32, we previously always used use v4i32 as the integer vector type. Use v2i32 instead, and mark FCOPYSIGN as Custom. llvm-svn: 243926
-
Ahmed Bougacha authored
We used to legalize it like it's any other binary operations. It's not, because it accepts mismatched operand types. Because of that, we used to hit various asserts and miscompiles. Specialize vector legalizations to, in the worst case, unroll, or, when possible, to just legalize the operand that needs legalization. Scalarization isn't covered, because I can't think of a target where some but not all of the 1-element vector types are to be scalarized. llvm-svn: 243924
-
Alex Lorenz authored
llvm-svn: 243923
-
Adam Nemet authored
llvm-svn: 243921
-
Adam Nemet authored
The previous commits moved this functionality into the client. Also remove the now unused member variable. llvm-svn: 243920
-
Mehdi Amini authored
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243918
-
Mehdi Amini authored
From: Erik de Castro Lopo <erikd@qti.qualcomm.com> llvm-svn: 243917
-
Mehdi Amini authored
From: Erik de Castro Lopo <erikd@qti.qualcomm.com> llvm-svn: 243916
-
Alex Lorenz authored
Reviewers: Duncan P. N. Exon Smith llvm-svn: 243915
-
Justin Bogner authored
It's better to pass libLTO to ld64 via the command line flag than rely on setting DYLD_LIBRARY_PATH. llvm-svn: 243911
-
David Blaikie authored
llvm-svn: 243910
-
David Blaikie authored
Various value handles needed to be copy constructible and copy assignable (mostly for their use in DenseMap). But to avoid an API that might allow accidental slicing, make these members protected in the base class and make derived classes final (the special members become implicitly public there - but disallowing further derived classes that might be sliced to the intermediate type). Might be worth having a warning a bit like -Wnon-virtual-dtor that catches public move/copy assign/ctors in classes with virtual functions. (suppressable in the same way - by making them protected in the base, and making the derived classes final) Could be fancier and only diagnose them when they're actually called, potentially. Also allow a few default implementations where custom implementations (especially with non-standard return types) were implemented. llvm-svn: 243909
-
Tim Northover authored
llvm-svn: 243907
-
- Aug 03, 2015
-
-
Davide Italiano authored
llvm-svn: 243905
-
Derek Schuff authored
Fixes obvious memory leak in test TestForEofAfterReadFailureOnDataStreamer. Also removes constexpr use from same test. Patch by Karl Schimpf. Differential Revision: http://reviews.llvm.org/D11735 llvm-svn: 243904
-