Ben Langmuir [Tue, 24 Jun 2014 19:37:16 +0000 (19:37 +0000)]
Add directory_iterator for (non-recursive) iteration of VFS directories
The API is based on sys::fs::directory_iterator, but it allows iterating
over overlays and the yaml-based VFS. For now, it isn't used by
anything (except its tests).
llvm-svn: 211623
Alp Toker [Tue, 24 Jun 2014 19:23:10 +0000 (19:23 +0000)]
Simplify optimization-remark.c test following r211610
With LocTrackingOnly there's no longer a user-facing distinction so the NDEBUG
checks can go away. (Except maybe column info, but -verify only checks line
numbers anyway.)
Also add a RUN line to validate the traditional !LocTrackingOnly case.
llvm-svn: 211622
Ed Maste [Tue, 24 Jun 2014 19:18:28 +0000 (19:18 +0000)]
Restore r211547: Add newline on last line of a few files.
llvm-svn: 211621
Ed Maste [Tue, 24 Jun 2014 19:16:18 +0000 (19:16 +0000)]
Restore fixes reverted by r211607:
r209631: Use MIUtilSystemLinux on FreeBSD as well
We should later rename this file (probably MIUtilSystemPOSIX), but
more clean-up is still needed here, and we can wait until we better
understand how this code may be shared between FreeBSD, Linux, and OS X.
r209632: Add stdlib.h for malloc and friends
r209633: Remove include of obsolete stropts.h header
The header is for POSIX streams functionality, and does not exist on
FreeBSD, OS X, or contemporary Linux distributions.
Issue reported by John Wolfe.
llvm-svn: 211620
Simon Atanasyan [Tue, 24 Jun 2014 19:00:12 +0000 (19:00 +0000)]
[Driver][Mips] Support mips64-linux-gnuabi64 / mips64el-linux-gnuabi64 target triples.
The patch fixes the bug #19869.
http://llvm.org/bugs/show_bug.cgi?id=19869
llvm-svn: 211619
Deepak Panickal [Tue, 24 Jun 2014 18:20:51 +0000 (18:20 +0000)]
Remove unused files, causing CMake build error.
llvm-svn: 211618
Robert Khasanov [Tue, 24 Jun 2014 18:08:04 +0000 (18:08 +0000)]
vpblend intrinsics combines as shifts intrinsics due to absence return stmt between them
Fix PR20088
Differential Revision: http://reviews.llvm.org/D4277
llvm-svn: 211617
Matt Arsenault [Tue, 24 Jun 2014 17:42:16 +0000 (17:42 +0000)]
R600: Remove DIV_INF
This corresponded to an amdil instruction which there is
a 2 instruction equivalent for.
llvm-svn: 211616
David Blaikie [Tue, 24 Jun 2014 17:31:05 +0000 (17:31 +0000)]
Fix test added in r211610 so it doesn't race on output file creation.
llvm-svn: 211615
Matt Arsenault [Tue, 24 Jun 2014 17:17:06 +0000 (17:17 +0000)]
R600/SI: Move pattern to instruction definition
llvm-svn: 211614
Weiming Zhao [Tue, 24 Jun 2014 17:05:43 +0000 (17:05 +0000)]
Fix test case in r211605/r211533
The test case in
"Fix PR20056: Implement pseudo LDR <reg>, =<literal/label> for AArch64" should
only work with Linux.
llvm-svn: 211613
Johannes Doerfert [Tue, 24 Jun 2014 17:02:53 +0000 (17:02 +0000)]
[Refactor] Create nicer test cases from C/C++
Insert a header into the new testcase containing a sample RUN line a FIXME and
an XFAIL. Then insert the formated C code and finally the LLVM-IR without
attributes, the module ID or the target triple.
llvm-svn: 211612
Fariborz Jahanian [Tue, 24 Jun 2014 17:02:19 +0000 (17:02 +0000)]
Objective-C. When we use @selector(save:), etc. there may be more
than one method with mismatched type of same selector name.
clang issues a warning to point this out since it may cause
undefined behavior. There are cases though that some APIs
don't care about user methods and such warnings are perceived as
noise. This patch allows users to add paren delimiters around
selector name to turn off such warnings. So, @selector((save:)) will
turn off the warning. It also provides 'fixit' so user knows
what to do. // rdar://
16458579
llvm-svn: 211611
Diego Novillo [Tue, 24 Jun 2014 17:02:17 +0000 (17:02 +0000)]
Add new debug kind LocTrackingOnly.
Summary:
This new debug emission kind supports emitting line location
information in all instructions, but stops code generation
from emitting debug info to the final output.
This mode is useful when the backend wants to track source
locations during code generation, but it does not want to
produce debug info. This is currently used by optimization
remarks (-Rpass, -Rpass-missed and -Rpass-analysis).
When one of the -Rpass flags is used, the front end will enable
location tracking, only if no other debug option is enabled.
To prevent debug information from being generated, a new debug
info kind LocTrackingOnly causes DIBuilder::createCompileUnit() to
not emit the llvm.dbg.cu annotation. This blocks final code generation
from generating debug info in the back end.
Depends on D4234.
Reviewers: echristo, dblaikie
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4235
llvm-svn: 211610
Diego Novillo [Tue, 24 Jun 2014 17:02:03 +0000 (17:02 +0000)]
Add new debug kind LocTrackingOnly.
Summary:
This new debug emission kind supports emitting line location
information in all instructions, but stops code generation
from emitting debug info to the final output.
This mode is useful when the backend wants to track source
locations during code generation, but it does not want to
produce debug info. This is currently used by optimization
remarks (-pass-remarks, -pass-remarks-missed and
-pass-remarks-analysis).
To prevent debug info emission, DIBuilder never inserts the
annotation 'llvm.dbg.cu' when LocTrackingOnly is enabled.
Reviewers: echristo, dblaikie
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D4234
llvm-svn: 211609
Greg Fitzgerald [Tue, 24 Jun 2014 16:58:59 +0000 (16:58 +0000)]
Remove ARM XFAIL from passing test
llvm-svn: 211608
Deepak Panickal [Tue, 24 Jun 2014 16:35:50 +0000 (16:35 +0000)]
Added support for new MI commands and bug fixes. More details in MIReadme.txt.
llvm-svn: 211607
Aaron Ballman [Tue, 24 Jun 2014 16:22:41 +0000 (16:22 +0000)]
Allow static_assert inside an anonymous union; fixes PR20021 as well as implements C++ Issue 1940.
llvm-svn: 211606
Weiming Zhao [Tue, 24 Jun 2014 16:21:38 +0000 (16:21 +0000)]
Resubmit commit r211533
"Fix PR20056: Implement pseudo LDR <reg>, =<literal/label> for AArch64"
Missed files are added in this commit.
llvm-svn: 211605
Logan Chien [Tue, 24 Jun 2014 16:18:10 +0000 (16:18 +0000)]
Use lowercase windows.h for mingw cross compilation.
llvm-svn: 211604
David Majnemer [Tue, 24 Jun 2014 16:01:53 +0000 (16:01 +0000)]
CodeGen: Avoid multiple strlen calls
Use a StringRef to hold our section prefix. This avoids multiple calls
to strlen.
llvm-svn: 211602
Christian Pirker [Tue, 24 Jun 2014 15:45:59 +0000 (15:45 +0000)]
ARM: Fix TPsoft for Thumb mode
Reviewed at http://reviews.llvm.org/D4230
llvm-svn: 211601
Alexander Kornienko [Tue, 24 Jun 2014 15:38:38 +0000 (15:38 +0000)]
Remove an empty directory left after r211508.
llvm-svn: 211600
Alexander Kornienko [Tue, 24 Jun 2014 15:28:21 +0000 (15:28 +0000)]
Fix "warning: fallthrough annotation does not directly precede switch label" in lambdas.
Summary: This patch fixes http://llvm.org/PR17864 - "warning: fallthrough annotation does not directly precede switch label" in lambdas.
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: rnk, cfe-commits
Differential Revision: http://reviews.llvm.org/D4258
llvm-svn: 211599
Daniel Sanders [Tue, 24 Jun 2014 15:04:16 +0000 (15:04 +0000)]
[mips] Correct linux dynamic linker for -mnan=2008
Summary:
The dynamic linker is named ld-linux-mipsn8.so.1 when -mnan=2008 is given (or
is the default). It remains ld.so.1 for other cases.
This is necessary for MIPS32r6/MIPS64r6 since these ISA's default to -mnan=2008.
Differential Revision: http://reviews.llvm.org/D4273
llvm-svn: 211598
Rafael Espindola [Tue, 24 Jun 2014 14:25:17 +0000 (14:25 +0000)]
Replace two release calls with std::move. I missed this on the previous commit.
llvm-svn: 211597
Rafael Espindola [Tue, 24 Jun 2014 13:57:13 +0000 (13:57 +0000)]
Update for llvm api change.
llvm-svn: 211596
Rafael Espindola [Tue, 24 Jun 2014 13:56:32 +0000 (13:56 +0000)]
Pass a unique_ptr<MemoryBuffer> to the constructors in the Binary hierarchy.
Once the objects are constructed, they own the buffer. Passing a unique_ptr
makes that clear.
llvm-svn: 211595
Daniel Sanders [Tue, 24 Jun 2014 13:53:56 +0000 (13:53 +0000)]
Revert: r211588 - [mips] Use __clear_cache builtin instead of cacheflush() in Unix Memory::InvalidateInstructionCache()
Buildbot reports a test failure on the llvm-mips-linux builder and blames r211588.
Although it doesn't appear in the blamelist, it seems it could also be r211587
(because it's committed to compiler-rt?) since they were tested together.
Reverting the most likely suspect (r211588) to confirm one way or the other.
llvm-svn: 211594
NAKAMURA Takumi [Tue, 24 Jun 2014 13:50:01 +0000 (13:50 +0000)]
Revert r211121 (and r211285), "Change libclang initialization to use std::call_once instead of"
It broke mingw builder and cygwin-clang stage2, possibly lack of tls in <mutex>.
llvm-svn: 211593
NAKAMURA Takumi [Tue, 24 Jun 2014 13:36:31 +0000 (13:36 +0000)]
Revert r211287, "Remove support for LLVM runtime multi-threading."
libclang still requires it on cygming, lack of incomplete <mutex>.
llvm-svn: 211592
Tobias Grosser [Tue, 24 Jun 2014 13:31:42 +0000 (13:31 +0000)]
cmake: Fix reference to Pluto file
llvm-svn: 211591
Daniel Sanders [Tue, 24 Jun 2014 13:00:32 +0000 (13:00 +0000)]
[mips] Added support for assembling sdbbp.
Summary:
This instruction is re-encoded in MIPS32r6/MIPS64r6 without changing the
restrictions. We hadn't implemented it for earlier ISA's so it has been added to those too.
Differential Revision: http://reviews.llvm.org/D4265
llvm-svn: 211590
Alexey Bataev [Tue, 24 Jun 2014 12:55:56 +0000 (12:55 +0000)]
[OPENMP] Additional checking for 'collapse' clause.
llvm-svn: 211589
Daniel Sanders [Tue, 24 Jun 2014 12:26:49 +0000 (12:26 +0000)]
[mips] Use __clear_cache builtin instead of cacheflush() in Unix Memory::InvalidateInstructionCache()
MIPS64 Android bionic has removed cacheflush(). Use __clear_cache() instead for 32-bit and 64-bit MIPS
Patch by Duane Sand <Duane.Sand@imgtec.com>
llvm-svn: 211588
Daniel Sanders [Tue, 24 Jun 2014 12:08:18 +0000 (12:08 +0000)]
[asan] adding support of 32-bit address sanitizer for MIPS
Summary: The patch supports both the clang cross-compiler and native compiler
Patch by Kumar Sukhani <Kumar.Sukhani@imgtec.com>
Test Plan:
Kumar had the following asan test results when compiled on a MIPS board:
Expected Passes : 96
Expected Failures : 2
Unsupported Tests : 84
Unexpected Passes : 4
Unexpected Failures: 19
The list of unexpected failures can be found in the review.
Reviewers: kcc, petarj, dsanders
Reviewed By: kcc
Subscribers: farazs, kcc, llvm-commits
Differential Revision: http://reviews.llvm.org/D4208
llvm-svn: 211587
Tim Northover [Tue, 24 Jun 2014 12:07:44 +0000 (12:07 +0000)]
ARM: remove dead CodeGen functions.
These two are no longer being used by NEON codegen.
llvm-svn: 211586
Evgeniy Stepanov [Tue, 24 Jun 2014 11:50:26 +0000 (11:50 +0000)]
[msan] Fix origin copying.
Conditions for the first and the last origin value in range were wrong.
llvm-svn: 211585
Benjamin Kramer [Tue, 24 Jun 2014 10:47:52 +0000 (10:47 +0000)]
InstCombine: Disable umul.with.overflow recognition for vectors.
It doesn't make a lot on most targets and the code isn't ready for it. PR20113.
llvm-svn: 211583
Benjamin Kramer [Tue, 24 Jun 2014 10:38:10 +0000 (10:38 +0000)]
InstCombine: Don't try to reorder shuffles where the mask is a ConstantExpr.
We can't analyze the individual values of a vector expression. PR20114.
llvm-svn: 211581
Jeroen Ketema [Tue, 24 Jun 2014 09:51:01 +0000 (09:51 +0000)]
Add half limits
These are apparently only defined in OpenCL 1.2.
HALF_MAX, HALF_MIN and HALF_EPSILON are currently omitted. Clang does
not seem to support the ‘h’ suffix for half float constants even with
the cl_khr_fp16 extension enabled.
Reviewed-by: Tom Sellard <tom@stellard.net>
llvm-svn: 211579
Jeroen Ketema [Tue, 24 Jun 2014 09:46:52 +0000 (09:46 +0000)]
Introduce CLC_VERSION macros v2
Add these out-of-order in clc.h so we can use these in other headers.
v2: Take into account the lack of a definition in OpenCL 1.0
Reviewed-by: Tom Stellard <tom@stellard.net>
llvm-svn: 211578
Jeroen Ketema [Tue, 24 Jun 2014 09:41:28 +0000 (09:41 +0000)]
Add MAXFLOAT
Align definitions while we are here.
Reviewed-by: Tom Stellard <tom@stellard.net>
llvm-svn: 211577
Jeroen Ketema [Tue, 24 Jun 2014 09:36:32 +0000 (09:36 +0000)]
Move clcmacro.h to avoid cluttering user namespace v2
v2: - use quotes instead of <>
- add include to r600/lib/math/nextafter.c changed
Reviewed-by: Tom Stellard <tom@stellard.net>
Reviewed-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 211576
Daniel Jasper [Tue, 24 Jun 2014 09:15:49 +0000 (09:15 +0000)]
clang-format: Understand that breaking before lambdas is fine.
Before:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa([](
const
aaaaaaaaaa &a) { return a; });
After:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
[](const
aaaaaaaaaa &a) { return a; });
llvm-svn: 211575
Evgeniy Stepanov [Tue, 24 Jun 2014 09:04:06 +0000 (09:04 +0000)]
[msan] Print stats even on successful run with atexit=1.
llvm-svn: 211574
Yabin Hu [Tue, 24 Jun 2014 08:11:36 +0000 (08:11 +0000)]
Remove use of llvm.codegen intrinsic for GPGPU codegen
We use llvm.codegen intrinsic to generate code for embedded LLVM-IR
strings. The reason we introduce such a intrinsic is that previous
clang/opt tools was NOT linked with various LLVM targets and their
AsmParsers and AsmPrinters. Since clang/opt been linked with all the
needed libraries, we no longer need the llvm.codegen intrinsic.
llvm-svn: 211573
Justin Bogner [Tue, 24 Jun 2014 08:01:01 +0000 (08:01 +0000)]
Driver: Restore proper naming of crashdump files
Based on a review of r211411 by Jordan Rose.
llvm-svn: 211572
David Majnemer [Tue, 24 Jun 2014 06:53:45 +0000 (06:53 +0000)]
GlobalOpt: Don't optimize dllimport for initializers
Referencing a dllimport variable requires actually instructions, not
just a relocation. This fixes PR19955.
Differential Revision: http://reviews.llvm.org/D4249
llvm-svn: 211571
David Majnemer [Tue, 24 Jun 2014 06:40:51 +0000 (06:40 +0000)]
AST: Address of dllimport functions isn't constant
The address of dllimport functions can be accessed one of two ways:
- Through the IAT which is symbolically referred to with a symbol
starting with __imp_.
- Via the wrapper-function which ends up calling through the __imp_
symbol.
The problem with using the wrapper-function is that it's address will
not compare as equal in all translation units. Specifically, it will
compare unequally with the translation unit which defines the function.
This fixes PR19955.
llvm-svn: 211570
Alexey Samsonov [Tue, 24 Jun 2014 05:59:52 +0000 (05:59 +0000)]
Include <tuple> for std::tie
llvm-svn: 211569
David Majnemer [Tue, 24 Jun 2014 05:59:13 +0000 (05:59 +0000)]
AST: Address of dllimport variables isn't constant
The address of dllimport variables isn't something that can be
meaningfully used in a constexpr context and isn't suitable for
evaluation at load-time. They require loads from memory to properly
evaluate.
This fixes PR19955.
Differential Revision: http://reviews.llvm.org/D4250
llvm-svn: 211568
Kevin Qin [Tue, 24 Jun 2014 05:37:27 +0000 (05:37 +0000)]
[AArch64] Fix a build_vector pattern match fail
caused by defect in isBuildVectorAllZeros().
llvm-svn: 211567
Alexey Bataev [Tue, 24 Jun 2014 04:39:47 +0000 (04:39 +0000)]
[OPENMP] Added initial checking of nesting of OpenMP regions.
llvm-svn: 211566
Adam Nemet [Tue, 24 Jun 2014 01:42:32 +0000 (01:42 +0000)]
[Disasm][AVX512] Implement decoding of top bit for non-destructive reg fields
V' bit in the P2 byte of the EVEX prefix provides the top bit of the NDD and
NDS register fields. This was simply not used in the decoder until now.
Fixes <rdar://problem/
17402661>
llvm-svn: 211565
Adam Nemet [Tue, 24 Jun 2014 01:42:29 +0000 (01:42 +0000)]
[Emacs] Use spaces rather than tabs for indentation in tablegen-mode
llvm-svn: 211564
Marshall Clow [Tue, 24 Jun 2014 00:46:19 +0000 (00:46 +0000)]
Some calls to get<>() were qualified. Some were not. Qualify them all. Fixes bug #20092. Thanks to Agustín Bergé for the bug report and the fix.
llvm-svn: 211563
Duncan P. N. Exon Smith [Tue, 24 Jun 2014 00:38:09 +0000 (00:38 +0000)]
Support: Move class ScaledNumber
ScaledNumber has been cleaned up enough to pull out of BFI now. Still
work to do there (tests for shifting, bloated printing code, etc.), but
it seems clean enough for its new home.
llvm-svn: 211562
Duncan P. N. Exon Smith [Tue, 24 Jun 2014 00:26:13 +0000 (00:26 +0000)]
BFI: Un-floatify more language
llvm-svn: 211561
Duncan P. N. Exon Smith [Tue, 24 Jun 2014 00:26:10 +0000 (00:26 +0000)]
BFI: Remove more float-like language from ScaledNumber
llvm-svn: 211560
Duncan P. N. Exon Smith [Tue, 24 Jun 2014 00:26:08 +0000 (00:26 +0000)]
Support: Return ScaledNumbers::MaxScale from getQuotient()
Return MaxScale now that it's available.
llvm-svn: 211559
Duncan P. N. Exon Smith [Tue, 24 Jun 2014 00:15:19 +0000 (00:15 +0000)]
Support: Extract ScaledNumbers::MinScale and MaxScale
llvm-svn: 211558
Duncan P. N. Exon Smith [Mon, 23 Jun 2014 23:57:12 +0000 (23:57 +0000)]
BFI: Change language from "exponent" to "scale"
llvm-svn: 211557
Duncan P. N. Exon Smith [Mon, 23 Jun 2014 23:49:31 +0000 (23:49 +0000)]
BFI: Update ScaledNumber header docs
llvm-svn: 211556
Duncan P. N. Exon Smith [Mon, 23 Jun 2014 23:36:17 +0000 (23:36 +0000)]
BFI: Rename UnsignedFloat => ScaledNumber
A lot of the docs and API are out of date, but I'll leave that for a
separate commit.
llvm-svn: 211555
Duncan P. N. Exon Smith [Mon, 23 Jun 2014 23:17:36 +0000 (23:17 +0000)]
Fix comments from r211553
llvm-svn: 211554
Duncan P. N. Exon Smith [Mon, 23 Jun 2014 23:15:25 +0000 (23:15 +0000)]
Support: Extract ScaledNumbers::getSum() and getDifference()
llvm-svn: 211553
Duncan P. N. Exon Smith [Mon, 23 Jun 2014 23:14:51 +0000 (23:14 +0000)]
Support: Return scale from ScaledNumbers::matchScales()
This will be convenient when extracting `ScaledNumbers::getSum()`.
llvm-svn: 211552
Nick Lewycky [Mon, 23 Jun 2014 22:57:51 +0000 (22:57 +0000)]
Propagate isAddressOfMember into typo correction so that we don't correct &qualified-id into &unqualified-id. Also make sure to set the naming class when we find the qualified-id in a different class than the nested name specifier specified so far. Fixes PR19681!
llvm-svn: 211551
Reid Kleckner [Mon, 23 Jun 2014 22:54:33 +0000 (22:54 +0000)]
not: Only consider exit code 3 to be a crash with --crash
This fixes Clang's test/Index/comment-xml-schema.c with Cygwin's
xmllint.exe, which uses exit(3) for XML validation failure.
llvm-svn: 211550
Jason Molenda [Mon, 23 Jun 2014 22:45:54 +0000 (22:45 +0000)]
Fix error handling for the AppleGetQueues and AppleGetPendingItems
ClangFunctions if the clang function compilation fails for any reason.
<rdar://problem/
16793965>
llvm-svn: 211549
Rafael Espindola [Mon, 23 Jun 2014 22:29:12 +0000 (22:29 +0000)]
Update for llvm api change.
llvm-svn: 211548
Jason Molenda [Mon, 23 Jun 2014 22:26:01 +0000 (22:26 +0000)]
Add newline on last line of a few files.
llvm-svn: 211547
Rafael Espindola [Mon, 23 Jun 2014 22:00:37 +0000 (22:00 +0000)]
Pass a std::unique_ptr& to the create??? methods is lib/Object.
This makes the buffer ownership on error conditions very natural. The buffer
is only moved out of the argument if an object is constructed that now
owns the buffer.
llvm-svn: 211546
Juergen Ributzka [Mon, 23 Jun 2014 21:55:44 +0000 (21:55 +0000)]
[FastISel][X86] Lower unsupported selects to control-flow.
The extends the select lowering coverage by emiting pseudo cmov
instructions. These insturction will be later on lowered to control-flow to
simulate the select.
llvm-svn: 211545
Juergen Ributzka [Mon, 23 Jun 2014 21:55:40 +0000 (21:55 +0000)]
[FastISel][X86] Add support for floating-point select.
This extends the select lowering to support floating-point selects. The
lowering depends on SSE instructions and that the conditon comes from a
floating-point compare. Under this conditions it is possible to emit an
optimized instruction sequence that doesn't require any branches to
simulate the select.
llvm-svn: 211544
Juergen Ributzka [Mon, 23 Jun 2014 21:55:36 +0000 (21:55 +0000)]
[FastISel][X86] Optimize selects when the condition comes from a compare.
Optimize the select instructions sequence to use the EFLAGS directly from a
compare when possible.
llvm-svn: 211543
Rafael Espindola [Mon, 23 Jun 2014 21:53:12 +0000 (21:53 +0000)]
Make ObjectFile and BitcodeReader always own the MemoryBuffer.
This allows us to just use a std::unique_ptr to store the pointer to the buffer.
The flip side is that they have to support releasing the buffer back to the
caller.
Overall this looks like a more efficient and less brittle api.
llvm-svn: 211542
Jason Molenda [Mon, 23 Jun 2014 21:30:15 +0000 (21:30 +0000)]
Temporarily roll back the parts of r211241 where I fixed a
mistake in the lock acquistion in HistoryUnwind and HistoryThread.
We've got a deadlock with one use case of HistoryUnwind; I
need to figure out what lock ordering is causing this and fix
it for real.
<rdar://problem/
17411904>
llvm-svn: 211541
Rafael Espindola [Mon, 23 Jun 2014 21:20:58 +0000 (21:20 +0000)]
This reverts commit r211533 and r211539.
Revert "Fix PR20056: Implement pseudo LDR <reg>, =<literal/label> for AArch64"
Revert "Fix cmake build."
It was missing a file.
llvm-svn: 211540
Juergen Ributzka [Mon, 23 Jun 2014 21:15:55 +0000 (21:15 +0000)]
Fix cmake build.
llvm-svn: 211539
Rafael Espindola [Mon, 23 Jun 2014 21:15:27 +0000 (21:15 +0000)]
Simplify memory management with std::unique_ptr.
llvm-svn: 211538
NAKAMURA Takumi [Mon, 23 Jun 2014 21:07:04 +0000 (21:07 +0000)]
nm-trivial-object.test requires shell since Lit internal runner isn't capable of chdir.
llvm-svn: 211537
Sean Callanan [Mon, 23 Jun 2014 21:00:25 +0000 (21:00 +0000)]
Don't set the ABI to apcs-gnu for non-ARM iOS targets (i.e., the
simulator).
<rdar://problem/
17399406>
llvm-svn: 211536
Todd Fiala [Mon, 23 Jun 2014 20:56:48 +0000 (20:56 +0000)]
Part 2 of SBUnitSignals check-in.
I missed adding a few new files to the change list.
The build is broken from r211526 without this fix.
(And Ed Maste caught it before I did, so this is
the remainder - the test methods).
llvm-svn: 211535
Ed Maste [Mon, 23 Jun 2014 20:49:41 +0000 (20:49 +0000)]
Add SBUnixSignals.i
From the patch posted by Russell Harmon.
llvm-svn: 211534
Weiming Zhao [Mon, 23 Jun 2014 20:44:16 +0000 (20:44 +0000)]
Fix PR20056: Implement pseudo LDR <reg>, =<literal/label> for AArch64
This patch is based on the changes from ARM target [1,2]
Based on ARM doc [3], if the literal value can be loaded with a valid MOV,
it can emit that instruction. This is implemented in this patch.
[1] Fix PR18345: ldr= pseudo instruction produces incorrect code when using in inline assembly
Author: David Peixotto <dpeixott@codeaurora.org>
commit
b92cca222898d87bbc764fa22e805adb04ef7f13 (r200777)
[2] Implement the ldr-pseudo opcode for ARM assembly
Author: David Peixotto <dpeixott@codeaurora.org>
commit
0fa193b08627927ccaa0804a34d80480894614b8 (r197708)
[3] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802a/CJAHAIBC.html
Differential Revision: http://reviews.llvm.org/D4163
llvm-svn: 211533
Rafael Espindola [Mon, 23 Jun 2014 20:41:02 +0000 (20:41 +0000)]
Convert a few methods to use ErrorOr.
It used to be inconvenient to mix ErrorOr and UniquePtr, but with c++11
they work OK together.
llvm-svn: 211532
Duncan P. N. Exon Smith [Mon, 23 Jun 2014 20:40:45 +0000 (20:40 +0000)]
Support: Extract ScaledNumbers::matchScale()
llvm-svn: 211531
Jim Grosbach [Mon, 23 Jun 2014 20:28:43 +0000 (20:28 +0000)]
Fix spelling. s/overloaed/overloaded/
llvm-svn: 211530
Kevin Enderby [Mon, 23 Jun 2014 20:27:53 +0000 (20:27 +0000)]
Change the default input for llvm-nm to be a.out instead of standard input
to match llvm-size and other UNIX systems for their nm(1).
Tweak test cases that used llvm-nm with standard input to add a "-" to
indicate that and add a test case to check the default of a.out for llvm-nm.
llvm-svn: 211529
Justin Bogner [Mon, 23 Jun 2014 20:03:28 +0000 (20:03 +0000)]
CodeGen: Remove a stray tab character (NFC)
llvm-svn: 211528
Rafael Espindola [Mon, 23 Jun 2014 19:43:40 +0000 (19:43 +0000)]
[Mips] Add a target streamer when creating a null streamer.
Should fix DebugInfo/global.ll on the mips bot.
llvm-svn: 211527
Todd Fiala [Mon, 23 Jun 2014 19:30:49 +0000 (19:30 +0000)]
Add API control of the signal disposition.
See http://reviews.llvm.org/D4221 for details.
This commit allows you to control the signals that lldb will suppress, stop or forward using the Python and C++ APIs.
Change by Russell Harmon.
Xcode build system changes (and any mistakes) by Todd Fiala. Tested on MacOSX 10.9.3 and Xcode 6 beta. (Xcode 5 is hitting the dependency checker crasher on all my systems).
llvm-svn: 211526
David Blaikie [Mon, 23 Jun 2014 18:28:53 +0000 (18:28 +0000)]
Recommit 211309 (StringMap::insert), reverted in 211328 due to issues with private, but non-deleted, move members.
Certain versions of GCC (~4.7) couldn't handle the SFINAE on access
control, but with "= delete" (hidden behind a macro for portability)
this issue is worked around/addressed.
Patch by Agustín Bergé
llvm-svn: 211525
Matt Arsenault [Mon, 23 Jun 2014 18:28:31 +0000 (18:28 +0000)]
R600/SI: Verify restrictions on div_scale operands.
llvm-svn: 211524
Matt Arsenault [Mon, 23 Jun 2014 18:28:28 +0000 (18:28 +0000)]
R600/SI: Fix div_scale intrinsic.
The operand that must match one of the others does matter,
and implement selecting for it.
llvm-svn: 211523
Matt Arsenault [Mon, 23 Jun 2014 18:28:23 +0000 (18:28 +0000)]
R600: Fix formatting of intrinsic definitions.
It makes more sense for the GCCBuiltin name to come immediately
after the ID name.
llvm-svn: 211522
Duncan P. N. Exon Smith [Mon, 23 Jun 2014 18:08:58 +0000 (18:08 +0000)]
Cleanup r211507
llvm-svn: 211521
Christian Pirker [Mon, 23 Jun 2014 18:05:53 +0000 (18:05 +0000)]
ARMEB: Vector extend operations
Reviewed at http://reviews.llvm.org/D4043
llvm-svn: 211520