Benjamin Kramer [Wed, 5 Aug 2015 14:16:44 +0000 (14:16 +0000)]
[AA] Use CallSite cast idiom. No functionality change.
llvm-svn: 244045
Benjamin Kramer [Wed, 5 Aug 2015 14:16:38 +0000 (14:16 +0000)]
[YAMLTraits] Use StringRef::copy. No functionality change.
llvm-svn: 244044
Benjamin Kramer [Wed, 5 Aug 2015 14:16:28 +0000 (14:16 +0000)]
[IR] Simplify code with ArrayRef::copy. No functionality change.
llvm-svn: 244043
Rafael Espindola [Wed, 5 Aug 2015 13:55:34 +0000 (13:55 +0000)]
For now we only have on Chunk type. Simplify.
The others we have in sight are
* common symbols.
* entries in SHF_MERGE sections.
They will have a substantially different treatment. It is not clear if it is
worth it putting them all in a single list just to dispatch based on the kind on
the other side.
I hope to implement common symbols soon, and then we will be in a position
to have a concrete discussion. For now this is simpler for the the implemented
features.
llvm-svn: 244042
Chad Rosier [Wed, 5 Aug 2015 13:44:51 +0000 (13:44 +0000)]
[AArch64] Register (existing) AArch64LoadStoreOpt pass with LLVM pass manager.
Summary: Among other things, this allows -print-after-all/-print-before-all to
dump IR around this pass.
This is the AArch64 version of r243052.
llvm-svn: 244041
Rafael Espindola [Wed, 5 Aug 2015 13:26:54 +0000 (13:26 +0000)]
Delete dead code.
llvm-svn: 244040
Sylvestre Ledru [Wed, 5 Aug 2015 12:46:53 +0000 (12:46 +0000)]
Bug 24332 - Fix the build of lldb under GNU/Linux when using autotools
Reviewers: loladiro, jingham, emaste, zturner, brucem
Subscribers: tberghammer, danalbert, srhines, zturner, lldb-commits
Differential Revision: http://reviews.llvm.org/D11717
llvm-svn: 244039
Chad Rosier [Wed, 5 Aug 2015 12:40:13 +0000 (12:40 +0000)]
Update comment. NFC.
llvm-svn: 244038
Rafael Espindola [Wed, 5 Aug 2015 12:14:51 +0000 (12:14 +0000)]
Rename asm tests to .s. NFC.
llvm-svn: 244037
Aaron Ballman [Wed, 5 Aug 2015 12:11:30 +0000 (12:11 +0000)]
Add AST matchers for narrowing constructors that are default, copy, or move constructors, as well as functionality to determine whether a ctor initializer is a base initializer.
llvm-svn: 244036
Rafael Espindola [Wed, 5 Aug 2015 12:03:34 +0000 (12:03 +0000)]
lld elf2: Diagnose trying to mix incompatible files.
This is also a step in instantiating the writer with the correct template
argument.
llvm-svn: 244035
Andrey Churbanov [Wed, 5 Aug 2015 12:00:07 +0000 (12:00 +0000)]
D11156: Fix comments by eliminating possible trademark conflicts
llvm-svn: 244034
Rafael Espindola [Wed, 5 Aug 2015 11:55:52 +0000 (11:55 +0000)]
Use ELFOSABI_NONE. This matches both bfd ld and gold.
llvm-svn: 244033
Rafael Espindola [Wed, 5 Aug 2015 11:53:59 +0000 (11:53 +0000)]
Drop unnecessary static_cast.
ELFT::TargetEndianness already has the correct type.
llvm-svn: 244032
Andrey Churbanov [Wed, 5 Aug 2015 11:23:10 +0000 (11:23 +0000)]
D11301: Remove the __kmp_invoke_microtask() that relies on libffi
llvm-svn: 244031
Andrey Churbanov [Wed, 5 Aug 2015 11:12:45 +0000 (11:12 +0000)]
D11159: Fixing the stack offset functionality
llvm-svn: 244030
Artyom Skrobov [Wed, 5 Aug 2015 11:02:14 +0000 (11:02 +0000)]
ARMISelDAGToDAG.cpp had this self-contradictory code:
return StringSwitch<int>(Flags)
.Case("g", 0x1)
.Case("nzcvq", 0x2)
.Case("nzcvqg", 0x3)
.Default(-1);
...
// The _g and _nzcvqg versions are only valid if the DSP extension is
// available.
if (!Subtarget->hasThumb2DSP() && (Mask & 0x2))
return -1;
ARMARM confirms that the comment is right, and the code was wrong.
llvm-svn: 244029
Benjamin Kramer [Wed, 5 Aug 2015 09:40:49 +0000 (09:40 +0000)]
[AST] ArrayRefize template param list info setters. No functionality change intended.
llvm-svn: 244028
Benjamin Kramer [Wed, 5 Aug 2015 09:40:35 +0000 (09:40 +0000)]
[AST] ArrayRefize BlockDecl::setCaptures. No functionality change intended.
llvm-svn: 244027
Benjamin Kramer [Wed, 5 Aug 2015 09:40:22 +0000 (09:40 +0000)]
[AST] ArrayRefize template argument packs. No functionality change intended.
llvm-svn: 244026
Benjamin Kramer [Wed, 5 Aug 2015 09:40:04 +0000 (09:40 +0000)]
[Comments] Replace custom ArrayRef copying with ArrayRef::copy. NFC.
llvm-svn: 244025
Benjamin Kramer [Wed, 5 Aug 2015 09:39:57 +0000 (09:39 +0000)]
[Parse] ArrayRefize PragmaLoopHintInfo. No functionality change.
llvm-svn: 244024
Benjamin Kramer [Wed, 5 Aug 2015 09:39:41 +0000 (09:39 +0000)]
[ArrayRefTest] Work around a GCC 4.8 internal compiler error.
llvm-svn: 244023
Simon Pilgrim [Wed, 5 Aug 2015 08:21:38 +0000 (08:21 +0000)]
[InstCombine] Added more specific SSE2/AVX2 vector shift tests.
llvm-svn: 244022
Simon Pilgrim [Wed, 5 Aug 2015 08:18:00 +0000 (08:18 +0000)]
Fixed line endings.
llvm-svn: 244021
Hal Finkel [Wed, 5 Aug 2015 07:45:28 +0000 (07:45 +0000)]
[MachineCombiner] Don't use the opcode-only form of computeInstrLatency
In r242277, I updated the MachineCombiner to work with itineraries, but I
missed a call that is scheduling-model-only (the opcode-only form of
computeInstrLatency). Using the form that takes an MI* allows this to work with
itineraries (and should be NFC for subtargets with scheduling models).
llvm-svn: 244020
Davide Italiano [Wed, 5 Aug 2015 07:18:31 +0000 (07:18 +0000)]
[llvm-objdump] Call exit(1) on error, i.e. fail early.
Previously we kept going on partly corrupted input, which might result
in garbage being printed, or even worse, random crashes.
Rafael mentioned that this is the GNU behavior as well, but after some
discussion we both agreed it's probably better to emit a reasonable
error message and exit. As a side-effect of this commit, now we don't
rely on global state for error codes anymore. objdump was the last tool
in the toolchain which needed to be converted. Hopefully the old behavior
won't sneak into the tree again.
llvm-svn: 244019
Filipe Cabecinhas [Wed, 5 Aug 2015 06:19:26 +0000 (06:19 +0000)]
Don't repeat function names in comments. NFC.
llvm-svn: 244018
NAKAMURA Takumi [Wed, 5 Aug 2015 06:11:23 +0000 (06:11 +0000)]
unittests/ADT/ArrayRefTest.cpp: Suppress r243995 on g++-4.8 for now to unbreak bots.
For example of mingw-w64-g++-4.8.1,
llvm/unittests/ADT/ArrayRefTest.cpp: In member function 'virtual void {anonymous}::ArrayRefTest_AllocatorCopy_Test::TestBody()':
llvm/unittests/ADT/ArrayRefTest.cpp:56:40: internal compiler error: in count_type_elements, at expr.c:5523
} Array3Src[] = {{"hello"}, {"world"}};
^
Please submit a full bug report,
with preprocessed source if appropriate.
llvm-svn: 244017
NAKAMURA Takumi [Wed, 5 Aug 2015 06:11:08 +0000 (06:11 +0000)]
Windows/COM.inc: Fix emacs mode in the first line.
llvm-svn: 244016
Eric Christopher [Wed, 5 Aug 2015 05:32:22 +0000 (05:32 +0000)]
Temporarily revert r244012 while we see if it's really necessary.
Add a comment explaining the current theory as to why we'd need
the -lole32 on the link line.
llvm-svn: 244015
Eric Christopher [Wed, 5 Aug 2015 04:50:46 +0000 (04:50 +0000)]
Remove autoconf checks for sigsetjmp and siglongjmp as they appear to
be unused.
llvm-svn: 244014
Eric Christopher [Wed, 5 Aug 2015 04:50:43 +0000 (04:50 +0000)]
Remove the apparently unused rand48 configure checks and associated m4.
llvm-svn: 244013
Eric Christopher [Wed, 5 Aug 2015 04:50:40 +0000 (04:50 +0000)]
Remove obsolete configure check for libole32 as we don't appear to use
it anymore.
llvm-svn: 244012
Eric Christopher [Wed, 5 Aug 2015 04:50:37 +0000 (04:50 +0000)]
Remove the unused header check for utime.h.
llvm-svn: 244011
Tanya Lattner [Wed, 5 Aug 2015 04:19:04 +0000 (04:19 +0000)]
Update links to lists.llvm.org.
llvm-svn: 244009
Tanya Lattner [Wed, 5 Aug 2015 04:04:09 +0000 (04:04 +0000)]
Update to lists.llvm.org
llvm-svn: 244008
Tanya Lattner [Wed, 5 Aug 2015 04:03:05 +0000 (04:03 +0000)]
Update to new lists.llvm.org
llvm-svn: 244007
Tanya Lattner [Wed, 5 Aug 2015 04:02:43 +0000 (04:02 +0000)]
Update to new lists.llvm.org
llvm-svn: 244006
Tanya Lattner [Wed, 5 Aug 2015 04:01:47 +0000 (04:01 +0000)]
Update to new lists.llvm.org
llvm-svn: 244005
Tanya Lattner [Wed, 5 Aug 2015 04:01:26 +0000 (04:01 +0000)]
Update to new lists.llvm.org
llvm-svn: 244004
Tanya Lattner [Wed, 5 Aug 2015 03:59:14 +0000 (03:59 +0000)]
Update references to lists.llvm.org
llvm-svn: 244003
Tanya Lattner [Wed, 5 Aug 2015 03:58:00 +0000 (03:58 +0000)]
Update references to new lists.llvm.org mailing lists.
llvm-svn: 244002
Tanya Lattner [Wed, 5 Aug 2015 03:56:44 +0000 (03:56 +0000)]
Update references to new lists.llvm.org mailing lists.
llvm-svn: 244001
Tanya Lattner [Wed, 5 Aug 2015 03:55:23 +0000 (03:55 +0000)]
Update mailing list references to lists.llvm.org
llvm-svn: 244000
Tanya Lattner [Wed, 5 Aug 2015 03:51:17 +0000 (03:51 +0000)]
Rename all references to old mailing lists to new lists.llvm.org address.
llvm-svn: 243999
Yaron Keren [Tue, 4 Aug 2015 15:57:04 +0000 (15:57 +0000)]
Avoid passing nullptr to std::equal.
As documented in the LLVM Coding Standards, indeed MSVC incorrectly asserts
on this in Debug mode. This happens when building clang with Visual C++ and
-triple i686-pc-windows-gnu on these clang regression tests:
clang/test/CodeGen/2011-03-08-ZeroFieldUnionInitializer.c
clang/test/CodeGen/empty-union-init.c
llvm-svn: 243996
Benjamin Kramer [Tue, 4 Aug 2015 15:52:56 +0000 (15:52 +0000)]
[ArrayRef] Make copy use std::uninitialized_copy.
std::copy does not work for non-trivially copyable classes when we're
copying into uninitialized memory.
llvm-svn: 243995
Sanjay Patel [Tue, 4 Aug 2015 15:49:57 +0000 (15:49 +0000)]
wrap OptSize and MinSize attributes for easier and consistent access (NFCI)
Create wrapper methods in the Function class for the OptimizeForSize and MinSize
attributes. We want to hide the logic of "or'ing" them together when optimizing
just for size (-Os).
Currently, we are not consistent about this and rely on a front-end to always set
OptimizeForSize (-Os) if MinSize (-Oz) is on. Thus, there are 18 FIXME changes here
that should be added as follow-on patches with regression tests.
This patch is NFC-intended: it just replaces existing direct accesses of the attributes
by the equivalent wrapper call.
Differential Revision: http://reviews.llvm.org/D11734
llvm-svn: 243994
Rafael Espindola [Tue, 4 Aug 2015 15:45:54 +0000 (15:45 +0000)]
Create ObjectFile with the correct endian and word size.
The writer is still hard coded to 64 bits le, but with this we can test for
invalid ELF files.
llvm-svn: 243993
Benjamin Kramer [Tue, 4 Aug 2015 15:38:49 +0000 (15:38 +0000)]
[CodeGen] Fold memcpy into SmallVector initializer. No functionality change.
llvm-svn: 243992
Hal Finkel [Tue, 4 Aug 2015 15:29:00 +0000 (15:29 +0000)]
[RuntimeDyld] Adapt PPC64 relocations to PPC32
Begin adapting some of the implemented PPC64 relocations for PPC32 (with a
test case).
Patch by Pierre-Andre Saulais!
llvm-svn: 243991
Sanjay Patel [Tue, 4 Aug 2015 15:21:56 +0000 (15:21 +0000)]
[x86] machine combiner reassociation: mark EFLAGS operand as 'dead'
In the commentary for D11660, I wasn't sure if it was alright to create new
integer machine instructions without also creating the implicit EFLAGS operand.
From what I can see, the implicit operand is always created by the MachineInstrBuilder
based on the instruction type, so we don't have to do that explicitly. However, in
reviewing the debug output, I noticed that the operand was not marked as 'dead'.
The machine combiner should do that to preserve future optimization opportunities
that may be checking for that dead EFLAGS operand themselves.
Differential Revision: http://reviews.llvm.org/D11696
llvm-svn: 243990
Benjamin Kramer [Tue, 4 Aug 2015 15:18:16 +0000 (15:18 +0000)]
[Sema] Add a crazy test case for r243987
It's not valid code (maybe it can be made valid, but I'm not sure how).
To trigger the crash fixed in r243987 requires a friend function with
more than four template parameter lists. With this test we have at least
some coverage.
llvm-svn: 243989
Rafael Espindola [Tue, 4 Aug 2015 15:06:36 +0000 (15:06 +0000)]
Use make_unique. NFC.
llvm-svn: 243988
Benjamin Kramer [Tue, 4 Aug 2015 14:46:06 +0000 (14:46 +0000)]
[Sema] Allocate SmallVector to the right size.
SmallVector::set_size does not reallocate the vector. Sadly I have no
idea how to test this. The vector never has more than one member in all
of the regression tests.
Found by inspection.
llvm-svn: 243987
Vasileios Kalintiris [Tue, 4 Aug 2015 14:35:50 +0000 (14:35 +0000)]
[mips][FastISel] Disable code generation for unsupported targets through FastISel.
Summary:
Previously, we would check whether the target is supported or not, only in
fastSelectInstruction(). This means that 64-bit targets could use FastISel too.
We fix this by checking every overridden method of the FastISel class and
by falling back to SelectionDAG if the target isn't supported. This change
should have been committed along with r243638, but somehow I missed it.
Reviewers: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11755
llvm-svn: 243986
Rafael Espindola [Tue, 4 Aug 2015 14:29:01 +0000 (14:29 +0000)]
The SymbolTable doesn't need to be a template.
It was already using just code that is common to all object files.
llvm-svn: 243985
Vasileios Kalintiris [Tue, 4 Aug 2015 14:26:35 +0000 (14:26 +0000)]
Revert r229675 - [mips] Avoid redundant sign extension of the result of binary bitwise instructions.
It introduced two regressions on 64-bit big-endian targets running under N32
(MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4, and
MultiSource/Applications/kimwitu++/kc) The issue is that on 64-bit targets
comparisons such as BEQ compare the whole GPR64 but incorrectly tell the
instruction selector that they operate on GPR32's. This leads to the
elimination of i32->i64 extensions that are actually required by
comparisons to work correctly.
There's currently a patch under review that fixes this problem.
llvm-svn: 243984
Rafael Espindola [Tue, 4 Aug 2015 14:08:11 +0000 (14:08 +0000)]
Remove a silly return.
llvm-svn: 243983
Rafael Espindola [Tue, 4 Aug 2015 14:00:56 +0000 (14:00 +0000)]
This function never returns null, don't check it.
llvm-svn: 243982
Tobias Grosser [Tue, 4 Aug 2015 13:54:20 +0000 (13:54 +0000)]
Optionally model read-only scalars
Even though read-only accesses to scalars outside of a scop do not need to be
modeled to derive valid transformations or to generate valid sequential code,
but information about them is useful when we considering memory footprint
analysis and/or kernel offloading.
llvm-svn: 243981
Rafael Espindola [Tue, 4 Aug 2015 13:39:30 +0000 (13:39 +0000)]
Remove SymbolTable::getChunks.
When we were using a std::sort over all the chunks we needed to put them in a
single storage.
Now that we just iterate over them and use a map to find the output section,
we can avoid allocating the temporary storage.
llvm-svn: 243980
Benjamin Kramer [Tue, 4 Aug 2015 13:34:50 +0000 (13:34 +0000)]
[AST] Really allocate a SmallVector to the right size.
set_size only resets the end pointer and asserts if it is used to grow
the buffer. This would crash when mangling a float with more than 80 bits,
add a test with a ppc double double (128 bits).
Found by inspection.
llvm-svn: 243979
Bruce Mitchener [Tue, 4 Aug 2015 13:25:23 +0000 (13:25 +0000)]
[lldb-mi] Fix non-OS X builds.
llvm-svn: 243978
Duncan P. N. Exon Smith [Tue, 4 Aug 2015 13:24:26 +0000 (13:24 +0000)]
Fix 80-column
llvm-svn: 243977
Duncan P. N. Exon Smith [Tue, 4 Aug 2015 13:23:30 +0000 (13:23 +0000)]
Linker: Fix ASan failure from r243961
r243883 and r243961 made a use-after-free far more likely:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/6041/steps/check-llvm%20asan/logs/stdio
Unresolved nodes get inserted into the `Cycles` array. If they later
get resolved through RAUW, we need to update the reference. It's
interesting that this never hit before (maybe an asan-ified clang
bootstrap with `-flto -g` would have hit it, but I admit I haven't tried
anything quite that crazy).
llvm-svn: 243976
Bruce Mitchener [Tue, 4 Aug 2015 13:12:31 +0000 (13:12 +0000)]
[lldb-mi] Simplify MICmnMIOutOfBandRecord implementation.
Summary:
* Remove extraneous members that were just storing temporary
values.
* OutOfBand_e parameters don't need to be const as they are
scalars.
* Switch from a map with CMIUtilString values to using a mapping
function. This uses a switch statement which will generate
a warning if a new result class is added.
* Make BuildAsyncRecord a static function rather than a private
member function so that we can construct the result text
correctly and avoid having extra stuff in the header.
Reviewers: abidh, ki.stfu
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11751
llvm-svn: 243975
Benjamin Kramer [Tue, 4 Aug 2015 12:59:41 +0000 (12:59 +0000)]
[AST] Simplify code by letting ArrayRef do the copying.
No functionality change intended.
llvm-svn: 243974
Benjamin Kramer [Tue, 4 Aug 2015 12:34:30 +0000 (12:34 +0000)]
[CodeGen] Don't write into a SmallVector's uninitialized memory.
That's just ugly and not needed in this case. No functionality change.
llvm-svn: 243973
Benjamin Kramer [Tue, 4 Aug 2015 12:34:23 +0000 (12:34 +0000)]
[ASTContext] Add a templated convenience wrapper for Allocate.
This brings ASTContext closer to LLVM's Allocator concept. Ideally we
would just derive ASTContext from llvm::AllocatorBase, but that does
not work because ASTContext's allocator is mutable and we allocate using
const ASTContext& everywhere.
llvm-svn: 243972
Tobias Grosser [Tue, 4 Aug 2015 11:49:39 +0000 (11:49 +0000)]
Run ScopInfo after the ScopViewers
This change is required to see the detected scops even in cases where there is
no other ScopInfo user after the ScopViewers. Before this change, when
running with -polly-optimizer=none -polly-code-generator=none detected scops
have not been shown.
llvm-svn: 243971
Benjamin Kramer [Tue, 4 Aug 2015 11:27:08 +0000 (11:27 +0000)]
[FileManager] Use StringRef::copy to store canonical paths.
No functional change intended.
llvm-svn: 243970
Alexey Bataev [Tue, 4 Aug 2015 11:18:19 +0000 (11:18 +0000)]
[OPENMP 4.1] Support for 'linear' clause in loop directives.
OpenMP 4.1 allows 'linear' clause in loop directives. Patch adds support for it.
llvm-svn: 243969
Benjamin Kramer [Tue, 4 Aug 2015 11:18:09 +0000 (11:18 +0000)]
[Edit] Use StringRef's copy method. No functional change intended.
llvm-svn: 243968
Bruce Mitchener [Tue, 4 Aug 2015 10:24:20 +0000 (10:24 +0000)]
[lldb-mi] Use empty arg lists instead of (void).
Summary: This brings the code more in line with the usual LLDB style. NFC.
Reviewers: abidh, ki.stfu
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11746
llvm-svn: 243967
Benjamin Kramer [Tue, 4 Aug 2015 10:22:38 +0000 (10:22 +0000)]
[AST] Use StringRef's convenient copy method. No functionality change.
llvm-svn: 243966
David Majnemer [Tue, 4 Aug 2015 08:21:40 +0000 (08:21 +0000)]
Drive-by fixes for LandingPad -> EHPad
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
Alexey Bataev [Tue, 4 Aug 2015 08:10:48 +0000 (08:10 +0000)]
[OPENMP] Fix compiler crash during data-sharing attributes analysis.
If a global variable is marked as private in OpenMP construct and then is used in of the private clauses of the same construct, it might cause compiler crash because of incorrect capturing.
llvm-svn: 243964
Simon Pilgrim [Tue, 4 Aug 2015 08:05:27 +0000 (08:05 +0000)]
[InstCombine] Split off SSE2/AVX2 vector shift tests.
These aren't vector demanded bits tests. More tests to follow.
llvm-svn: 243963
Simon Pilgrim [Tue, 4 Aug 2015 07:49:58 +0000 (07:49 +0000)]
[InstCombine] Moved SSE vector shift constant folding into its own helper function. NFCI.
This will make some upcoming bugfixes + improvements easier to manage.
llvm-svn: 243962
Duncan P. N. Exon Smith [Tue, 4 Aug 2015 06:42:31 +0000 (06:42 +0000)]
Linker: Fix references to uniqued nodes after r243883
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 [Tue, 4 Aug 2015 06:32:54 +0000 (06:32 +0000)]
Update test suite to make "ninja check" succeed without native backend builtin
Requires "native" feature in most places that were failing.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 243960
Mehdi Amini [Tue, 4 Aug 2015 06:32:45 +0000 (06:32 +0000)]
Move generic MIR tests in their own subdir, requires "native" as well
These tests rely on the native backend to be built-in.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 243959
Mehdi Amini [Tue, 4 Aug 2015 06:32:31 +0000 (06:32 +0000)]
Improve lit "native" feature to check if the native backend is builtin
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 [Tue, 4 Aug 2015 06:29:58 +0000 (06:29 +0000)]
Remove the configure and cmake checks for sys/wait.h
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 [Tue, 4 Aug 2015 06:29:12 +0000 (06:29 +0000)]
[SDAG] Fix a result chain in ExpandUnalignedLoad
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 [Tue, 4 Aug 2015 05:16:20 +0000 (05:16 +0000)]
[LAA] Remove unused pointer partition argument from addRuntimeCheck, NFC
This variant of addRuntimeCheck is only used now from the LoopVectorizer
which does not use this parameter.
llvm-svn: 243955
Chen Li [Tue, 4 Aug 2015 04:41:34 +0000 (04:41 +0000)]
Introduce enum value for previously defined metadata -- make.implicit
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
Bruce Mitchener [Tue, 4 Aug 2015 04:01:16 +0000 (04:01 +0000)]
[debugserver] Fix "control may reach end of non-void function" warnings.
Reviewers: clayborg, jingham
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11745
llvm-svn: 243953
Saleem Abdulrasool [Tue, 4 Aug 2015 03:57:56 +0000 (03:57 +0000)]
ARM: support windows division routines
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 [Tue, 4 Aug 2015 03:57:52 +0000 (03:57 +0000)]
ARM: make Darwin libcall registration table driven (NFC)
Make the libcall updating table driven similar to the approach that the Linux
and Windows codepath does below. NFC.
llvm-svn: 243951
Chandler Carruth [Tue, 4 Aug 2015 03:53:04 +0000 (03:53 +0000)]
[UB] Avoid a really broken call to realloc that would later result in
a bad call to memcpy.
When we only have a buffer from one of the two reparse calls, we can
just return that buffer rather than going through the realloc/memcpy
dance.
Found with UBsan.
llvm-svn: 243950
Chandler Carruth [Tue, 4 Aug 2015 03:53:01 +0000 (03:53 +0000)]
[UB] Guard two calls to memcpy in generated attribute code to handle
null StringRef objects as inputs.
Found by UBSan.
llvm-svn: 243949
Chandler Carruth [Tue, 4 Aug 2015 03:53:00 +0000 (03:53 +0000)]
[UB] Another place where we were trying to put string data into
a BumpPtrAllocator. This at least now handles the case where there is no
concatentation without calling memcpy on a null pointer. It might be
interesting to handle the case where everything is empty without
round-tripping through the allocator, but it wasn't clear to me if the
pointer returned is significant in any way, so I've left it in
a conservatively more-correct state.
Again, found with UBSan.
llvm-svn: 243948
Chandler Carruth [Tue, 4 Aug 2015 03:52:58 +0000 (03:52 +0000)]
[UB] When attaching empty strings to the AST, use an empty StringRef
rather than forcing the bump pointer allocator to produce a viable
pointer. This also fixes UB when we would try to memcpy from the null
incoming StringRef.
llvm-svn: 243947
Chandler Carruth [Tue, 4 Aug 2015 03:52:56 +0000 (03:52 +0000)]
[UB] Fix the two ways that we would try to memcpy from a null buffer in
the nested name specifier code.
First, skip the entire thing when the input is empty.
Next, handle the case where we started off with a null buffer and a zero
capacity to skip copying and freeing.
This was found with UBSan.
llvm-svn: 243946
Chandler Carruth [Tue, 4 Aug 2015 03:52:52 +0000 (03:52 +0000)]
[UB] Fix two cases of UB in copy/pasted code from SmallVector.
We should really stop copying and pasting code around. =/
Found by UBSan.
llvm-svn: 243945
Chandler Carruth [Tue, 4 Aug 2015 03:48:26 +0000 (03:48 +0000)]
[UB] Don't allocate space for contained types and then try to copy the
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
Jason Molenda [Tue, 4 Aug 2015 03:14:49 +0000 (03:14 +0000)]
Bump the version # in the xcode proj file from major number 340 to 350.
The SB API for major version 340 won't be changing any more.
llvm-svn: 243943