Bill Wendling [Wed, 24 Jul 2013 23:45:00 +0000 (23:45 +0000)]
Add helpful accessor methods to get the specified function attribute.
llvm-svn: 187088
Jason Molenda [Wed, 24 Jul 2013 23:25:27 +0000 (23:25 +0000)]
Update link for the SysV x86_64 ABI standard doc; x86-64.org has
been down for months and is likely no longer supported. This was
the most stable-looking link I could find for the current (0.99.6)
version of the ABI doc.
llvm-svn: 187087
Rui Ueyama [Wed, 24 Jul 2013 23:18:02 +0000 (23:18 +0000)]
[PECOFF] Use Windows style options instead of Unix style as primary options.
LLD still accepts both Unix and Windows style options when it's run as
link.exe. This patch does not change functionality.
llvm-svn: 187086
Fariborz Jahanian [Wed, 24 Jul 2013 22:58:51 +0000 (22:58 +0000)]
Documentation parsing: if typedef name is being declared
via a macro, try using declaration's starting location.
This is improvement over not having a valid location and
dropping comment altogether. // rdar://
14348912
llvm-svn: 187085
Rui Ueyama [Wed, 24 Jul 2013 22:53:23 +0000 (22:53 +0000)]
[PECOFF] Add /include command line option.
The /include command line option is equivalent to Unix --undefined
option, which forces the linker to resolve the given symbol name
as if it's an unresolved symbol in one of its input files. This feature
is used to link an additional object file or a shared library that no
input files refer to.
llvm-svn: 187084
Manman Ren [Wed, 24 Jul 2013 22:23:00 +0000 (22:23 +0000)]
Update testing cases to pass debug info verifier.
llvm-svn: 187083
Eli Bendersky [Wed, 24 Jul 2013 22:20:49 +0000 (22:20 +0000)]
Simplify code - no functionality change.
getToolChain().getTriple().getArch() can be replaced by getToolChain().getArch()
llvm-svn: 187082
Daniel Malea [Wed, 24 Jul 2013 21:44:30 +0000 (21:44 +0000)]
Modify ProcessPOSIX to use the thread list mutex as needed
- should resolve (at least some) of the spurious crashes we are seeing in multithreaded tests on Linux (and likely FreeBSD)
llvm-svn: 187081
Matt Kopec [Wed, 24 Jul 2013 21:39:24 +0000 (21:39 +0000)]
Fix test suite make so that -std=c++11 gets set properly for supported compilers and -std=c++0x gets set only for gcc 4.6 versions. Previously, -std=c++0x was being set for all compilers.
llvm-svn: 187080
Eli Bendersky [Wed, 24 Jul 2013 21:22:01 +0000 (21:22 +0000)]
Partial revert of r185568.
r186899 and r187061 added a preferred way for some architectures not to get
intrinsic generation for math builtins. So the code changes in r185568 can
now be undone (the test remains).
llvm-svn: 187079
Marshall Clow [Wed, 24 Jul 2013 21:18:14 +0000 (21:18 +0000)]
literal suffixes for std::chrono
llvm-svn: 187078
Ed Maste [Wed, 24 Jul 2013 21:09:24 +0000 (21:09 +0000)]
tests: Mark expected FreeBSD failures due to pr16696
Live debugging of threaded inferiors is currently unimplemented for
FreeBSD.
llvm-svn: 187077
Jakob Stoklund Olesen [Wed, 24 Jul 2013 20:47:57 +0000 (20:47 +0000)]
Speling.
llvm-svn: 187076
Adrian Prantl [Wed, 24 Jul 2013 20:44:20 +0000 (20:44 +0000)]
typo.
llvm-svn: 187075
Adrian Prantl [Wed, 24 Jul 2013 20:34:39 +0000 (20:34 +0000)]
Debug Info: Fix an oversight of r186553. Ensure that the function prologue
of an artificial function gets an artificial location as well.
llvm-svn: 187074
Adrian Prantl [Wed, 24 Jul 2013 20:34:34 +0000 (20:34 +0000)]
add radar number to testcase.
llvm-svn: 187073
Ed Maste [Wed, 24 Jul 2013 20:30:34 +0000 (20:30 +0000)]
tests: Mark expected FreeBSD failures due to pr16697
These fail due to:
error: Expression can't be run, because there is no JIT compiled function
llvm-svn: 187072
Quentin Colombet [Wed, 24 Jul 2013 20:20:37 +0000 (20:20 +0000)]
Fix a bug in IfConverter with nested predicates.
Prior to this patch, IfConverter may widen the cases where a sequence of
instructions were executed because of the way it uses nested predicates. This
result in incorrect execution.
For instance, Let A be a basic block that flows conditionally into B and B be a
predicated block.
B can be predicated with A.BrToBPredicate into A iff B.Predicate is less
"permissive" than A.BrToBPredicate, i.e., iff A.BrToBPredicate subsumes
B.Predicate.
The IfConverter was checking the opposite: B.Predicate subsumes
A.BrToBPredicate.
<rdar://problem/
14379453>
llvm-svn: 187071
Ed Maste [Wed, 24 Jul 2013 19:49:20 +0000 (19:49 +0000)]
test_iter_registers is expected to fail on FreeBSD
Added comment to llvm.org/pr14600 that it fails on FreeBSD in the same way
as Linux.
llvm-svn: 187070
Ed Maste [Wed, 24 Jul 2013 19:47:08 +0000 (19:47 +0000)]
Add expectedFailureFreeBSD test wrapper
llvm-svn: 187069
Fariborz Jahanian [Wed, 24 Jul 2013 19:18:37 +0000 (19:18 +0000)]
Objective-C migrator: some cleanup.
Expose static type of init/alloc/retain with
instance type as well. Ad-hoc cases are coming
next.
llvm-svn: 187068
Ariel J. Bernal [Wed, 24 Jul 2013 19:14:57 +0000 (19:14 +0000)]
Fix doxygen warnings
Doxygen doesn't recognize <blockquote> html tags. Added support for <blockquote>
and Markdown was introduce with doxygen 1.8.0. This patch replaces blockquote
with \par for compatibility with previous versions.
llvm-svn: 187067
Manman Ren [Wed, 24 Jul 2013 18:56:43 +0000 (18:56 +0000)]
Update testing cases to pass debug info verifier.
llvm-svn: 187066
Rafael Espindola [Wed, 24 Jul 2013 18:45:44 +0000 (18:45 +0000)]
Add not to a command that is expected to fail.
llvm-svn: 187065
Rafael Espindola [Wed, 24 Jul 2013 18:44:10 +0000 (18:44 +0000)]
add -disable-debug-info-verifier to 3 test to fix tests with pipefail.
llvm-svn: 187064
Akira Hatanaka [Wed, 24 Jul 2013 18:43:52 +0000 (18:43 +0000)]
[mips] Make MipsAsmParser::parseCCRRegs return NoMatch instead of ParseFail
when there wasn't a match. This behavior is consistent with other register
parsing methods.
llvm-svn: 187063
Fariborz Jahanian [Wed, 24 Jul 2013 18:31:42 +0000 (18:31 +0000)]
ObjectiveC migration: Method candidates for
migrating to instancetype can have implicit 'id'
type too.
llvm-svn: 187062
Eli Bendersky [Wed, 24 Jul 2013 18:20:14 +0000 (18:20 +0000)]
Pass -fno-math-builtin from the Clang driver to -cc1 for the l32 arch.
llvm-svn: 187061
Greg Clayton [Wed, 24 Jul 2013 18:17:35 +0000 (18:17 +0000)]
<rdar://problem/
14521548>
Fixed a crasher where if you accidentally specify a size that is too large when reading memory, LLDB would crash.
llvm-svn: 187060
Aaron Watry [Wed, 24 Jul 2013 18:03:38 +0000 (18:03 +0000)]
Added get_num_groups
The get_num_groups function was missing for r600g. I did the same
thing as the other workitem functions.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 187059
Richard Smith [Wed, 24 Jul 2013 17:51:13 +0000 (17:51 +0000)]
Rename feature test for lambda init-captures from cxx_generalized_capture to
cxx_init_capture. "generalized" is neither descriptive nor future-proof. No
compatibility problems expected, since we've never advertised having this
feature.
llvm-svn: 187058
Stefanus Du Toit [Wed, 24 Jul 2013 17:48:04 +0000 (17:48 +0000)]
Don't rely on C99 for loop initializers in test case
This allows compilation of the test case with GCC 4.8.
llvm-svn: 187057
Jakob Stoklund Olesen [Wed, 24 Jul 2013 17:45:11 +0000 (17:45 +0000)]
Update old llc documentation.
Patch by Hafiz Abid!
llvm-svn: 187056
Richard Smith [Wed, 24 Jul 2013 17:41:31 +0000 (17:41 +0000)]
Update documentation to match current C++1y feature set.
llvm-svn: 187055
Benjamin Kramer [Wed, 24 Jul 2013 17:27:08 +0000 (17:27 +0000)]
Make test pass in Release builds, IR names don't get emitted there.
llvm-svn: 187054
Petar Jovanovic [Wed, 24 Jul 2013 17:14:05 +0000 (17:14 +0000)]
[mips] Remove XFAIL from test-ptr-reloc-remote.ll
The change r187019 has fixed multiple relocations in dynamic linker for
MIPS, so now this test passes for MIPS.
llvm-svn: 187053
Manman Ren [Wed, 24 Jul 2013 17:10:09 +0000 (17:10 +0000)]
Debug Info: improve the Finder.
Improve the Finder to handle context of a DIVariable used by DbgValueInst.
Fix testing cases to make them pass the verifier.
llvm-svn: 187052
Mark Seaborn [Wed, 24 Jul 2013 16:25:13 +0000 (16:25 +0000)]
Use ARM-style representation for C++ method pointers under PNaCl/Emscripten
Before this change, Clang uses the x86 representation for C++ method
pointers when generating code for PNaCl. However, the resulting code
will assume that function pointers are 0 mod 2. This assumption is
not safe for PNaCl, where function pointers could have any value
(especially in future sandboxing models).
So, switch to using the ARM representation for PNaCl code, which makes
no assumptions about the alignment of function pointers.
Since we're changing the "le32" target, this change also applies to
Emscripten. The change is beneficial for Emscripten too. Emscripten
has a workaround to make function pointers 0 mod 2. This change would
allow the workaround to be removed.
See: https://code.google.com/p/nativeclient/issues/detail?id=3450
llvm-svn: 187051
Benjamin Kramer [Wed, 24 Jul 2013 16:12:08 +0000 (16:12 +0000)]
TRE: Move class into anonymous namespace.
While there shrink a dangerously large SmallPtrSet.
llvm-svn: 187050
Manman Ren [Wed, 24 Jul 2013 15:55:41 +0000 (15:55 +0000)]
Update testing cases to pass debug info verifier.
llvm-svn: 187049
Guillaume Papin [Wed, 24 Jul 2013 15:35:24 +0000 (15:35 +0000)]
cpp11-migrate: Fix build break on Windows introduced in r187041.
r187041 changed the way the transform are created and the order the transformed
are applied "may" have changed as well (no specific constraints exist on the
order). This produced a test failure on the Windows buildbot.
Now the test use -std=c++11, so 'nullptr' is defined and the test is not anymore
dependent on the order the transforms are applied.
llvm-svn: 187048
Benjamin Kramer [Wed, 24 Jul 2013 15:28:33 +0000 (15:28 +0000)]
Sema: Minor const fixups and control flow tidying.
No functionality change.
llvm-svn: 187047
Rafael Espindola [Wed, 24 Jul 2013 14:56:31 +0000 (14:56 +0000)]
Add -disable-debug-info-verifier to a RUN line.
Found by running the test with pipefail enabled.
llvm-svn: 187046
Ed Maste [Wed, 24 Jul 2013 14:53:48 +0000 (14:53 +0000)]
Update www build instructions for FreeBSD
llvm-svn: 187045
Samuel Benzaquen [Wed, 24 Jul 2013 14:48:01 +0000 (14:48 +0000)]
Add support for Adaptative matchers on the dynamic registry.
Summary:
Add support for Adaptative matchers on the dynamic registry.
Each adaptative matcher is created with a function template. We instantiate the function N times, one for each possible From type and apply the techniques used on argument overloaded and polymorphic matchers to add them to the registry.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1201
llvm-svn: 187044
Ed Maste [Wed, 24 Jul 2013 14:44:09 +0000 (14:44 +0000)]
Add FreeBSD buildbots to build page
llvm-svn: 187043
Rafael Espindola [Wed, 24 Jul 2013 14:32:01 +0000 (14:32 +0000)]
Don't leak when expanding response files.
Before this patch we would strdup each argument. If one was a response file,
we would replace it with the response file contents, leaking the original
strdup result.
We now don't strdup the originals and let StringSaver free any memory it
allocated. This also saves a bit of malloc traffic when response files are
not used.
Leak found by the valgrind build bot.
llvm-svn: 187042
Guillaume Papin [Wed, 24 Jul 2013 14:24:33 +0000 (14:24 +0000)]
cpp11-migrate: Register the transforms automatically using llvm::Registry
With this change each transform now register a factory. The factories are
registered using an llvm::Registry which makes them available globally.
llvm-svn: 187041
Ed Maste [Wed, 24 Jul 2013 14:23:37 +0000 (14:23 +0000)]
elf-core: Document offset constants in FreeBSD prstatus parser
Also accomodate struct padding based on arch, for later i386 work.
llvm-svn: 187040
Rafael Espindola [Wed, 24 Jul 2013 14:00:26 +0000 (14:00 +0000)]
Delete the buffer in createObjectFile if it fails.
The Binary constructor takes ownership of the memory buffer. This is a fairly
unfortunate interface, but for now make createObjectFile consistent with it
by also deleting the buffer if it fails.
Fixes a leak in llvm-ar found by the valgrind bots.
llvm-svn: 187039
Guillaume Papin [Wed, 24 Jul 2013 13:58:28 +0000 (13:58 +0000)]
test commit
llvm-svn: 187038
Ed Maste [Wed, 24 Jul 2013 13:51:45 +0000 (13:51 +0000)]
Update current state of FreeBSD port
llvm-svn: 187037
Ashok Thirumurthi [Wed, 24 Jul 2013 13:32:18 +0000 (13:32 +0000)]
Updated the LLDB status page to reflect recent work on Linux.
llvm-svn: 187036
Ashok Thirumurthi [Wed, 24 Jul 2013 13:24:06 +0000 (13:24 +0000)]
Updating tests that fail with ICC 13.1 because of the different mapping of assembly to DWARF.
llvm-svn: 187035
Rafael Espindola [Wed, 24 Jul 2013 13:13:24 +0000 (13:13 +0000)]
llvm-ar is far closer to being a regular ar implementation now. Update the docs.
llvm-svn: 187034
Daniel Jasper [Wed, 24 Jul 2013 13:10:59 +0000 (13:10 +0000)]
clang-format: Initial (incomplete) support for the WebKit coding style.
This is far from implementing all the rules given by
http://www.webkit.org/coding/coding-style.html
The important new feature is the support for styles that don't have a
column limit. For such styles, clang-format will (at the moment) simply
respect the input's formatting decisions within statements.
llvm-svn: 187033
Petar Jovanovic [Wed, 24 Jul 2013 13:02:35 +0000 (13:02 +0000)]
[test commit] Minor comment change.
Testing commit access credentials.
llvm-svn: 187032
Chandler Carruth [Wed, 24 Jul 2013 12:12:17 +0000 (12:12 +0000)]
Fix a problem I introduced in r187029 where we would over-eagerly
schedule an alloca for another iteration in SROA. This only showed up
with a mixture of promotable and unpromotable selects and phis. Added
a test case for this.
llvm-svn: 187031
Elena Demikhovsky [Wed, 24 Jul 2013 11:02:47 +0000 (11:02 +0000)]
I'm starting to commit KNL backend. I'll push patches one-by-one. This patch includes support for the extended register set XMM16-31, YMM16-31, ZMM0-31.
The full ISA you can see here: http://software.intel.com/en-us/intel-isa-extensions
llvm-svn: 187030
Chandler Carruth [Wed, 24 Jul 2013 09:47:28 +0000 (09:47 +0000)]
Fix PR16687 where we were incorrectly promoting an alloca that had
pending speculation for a phi node. The problem here is that we were
using growth of the specluation set as an indicator of whether
speculation would occur, and if the phi node is already in the set we
don't see it grow. This is a symptom of the fact that this signal is
a total hack.
Unfortunately, I couldn't really come up with a non-hacky way of
signaling that promotion remains valid *after* speculation occurs, such
that we only speculate when all else looks good for promotion. In the
end, I went with at least a much more explicit approach of doing the
work of queuing inside the phi and select processing and setting
a preposterously named flag to convey that we're in the special state of
requiring speculating before promotion.
Thanks to Richard Trieu and Nick Lewycky for the excellent work reducing
a testcase for this from a pretty giant, nasty assert in a big
application. =] The testcase was excellent.
llvm-svn: 187029
David Fang [Wed, 24 Jul 2013 07:52:16 +0000 (07:52 +0000)]
allow tests to run on powerpc-darwin8 again, checking for __ppc__
llvm-svn: 187027
Craig Topper [Wed, 24 Jul 2013 07:33:14 +0000 (07:33 +0000)]
Split generated asm mnemonic matching table into a separate table for each asm variant.
This removes the need to store the asm variant in each row of the single table that existed before. Shaves ~16K off the size of X86AsmParser.o.
llvm-svn: 187026
Richard Smith [Wed, 24 Jul 2013 07:11:57 +0000 (07:11 +0000)]
C++1y: track object lifetime during constexpr evaluation, and don't allow
objects to be used once their lifetimes end. This completes the C++1y
constexpr extensions.
llvm-svn: 187025
Tobias Grosser [Wed, 24 Jul 2013 06:10:37 +0000 (06:10 +0000)]
ScopDetect: Add some test cases for sequential loops
llvm-svn: 187024
Tobias Grosser [Wed, 24 Jul 2013 06:10:30 +0000 (06:10 +0000)]
ScopInfo/IndependentBlocks: clang-format
llvm-svn: 187023
Manuel Klimek [Wed, 24 Jul 2013 05:46:07 +0000 (05:46 +0000)]
Update docs.
llvm-svn: 187022
Craig Topper [Wed, 24 Jul 2013 04:52:55 +0000 (04:52 +0000)]
Revert accidental commit.
llvm-svn: 187021
Craig Topper [Wed, 24 Jul 2013 04:38:13 +0000 (04:38 +0000)]
Fix aliases for shrd/shld to handle Intel syntax properly. Also suppress them from being used by the asm printer.
llvm-svn: 187020
Akira Hatanaka [Wed, 24 Jul 2013 01:58:40 +0000 (01:58 +0000)]
[mips] Use pristine object file while processing relocations.
Similar to ARM change r182800, dynamic linker will read bits/addends from
the original object rather than from the object that might have been patched
previously. For the purpose of relocations for MCJIT stubs on MIPS, we
internally use otherwise unused MIPS relocations.
The change also enables MCJIT unit tests for MIPS (EL/BE), and the following
two tests now pass:
- MCJITTest.return_global and
- MCJITTest.multiple_functions.
These issues have been tracked as Bug 16250.
Patch by Petar Jovanovic.
llvm-svn: 187019
Eric Christopher [Wed, 24 Jul 2013 01:51:12 +0000 (01:51 +0000)]
Replace with a "null" RAUW with an assert since we'd actually like
to assume we're replacing. Clarify comments.
llvm-svn: 187018
Eric Christopher [Wed, 24 Jul 2013 01:38:05 +0000 (01:38 +0000)]
Remove dead code.
llvm-svn: 187017
Manman Ren [Wed, 24 Jul 2013 01:26:37 +0000 (01:26 +0000)]
Update testing cases to make them pass debug info verification.
llvm-svn: 187016
Eric Christopher [Wed, 24 Jul 2013 01:21:02 +0000 (01:21 +0000)]
Remove unnecessary constructors as the default conversions will handle
all enumerated cases. Reformat the rest of the existing constructors to
match.
llvm-svn: 187015
Eric Christopher [Wed, 24 Jul 2013 01:06:21 +0000 (01:06 +0000)]
More constructor cleanup.
Move to a single constructor with a default argument and avoid
the check and nullification.
llvm-svn: 187014
Eric Christopher [Wed, 24 Jul 2013 00:54:39 +0000 (00:54 +0000)]
Collapse logic and move and reword comment for clarity.
llvm-svn: 187013
Eric Christopher [Wed, 24 Jul 2013 00:54:36 +0000 (00:54 +0000)]
Add a fixme and reformat.
llvm-svn: 187012
Eric Christopher [Wed, 24 Jul 2013 00:36:11 +0000 (00:36 +0000)]
Remove one more of these.
llvm-svn: 187011
Eric Christopher [Wed, 24 Jul 2013 00:15:01 +0000 (00:15 +0000)]
Remove more dead/weird/misleading code.
llvm-svn: 187010
Eric Christopher [Wed, 24 Jul 2013 00:13:02 +0000 (00:13 +0000)]
Remove more seemingly unused code.
llvm-svn: 187009
Fariborz Jahanian [Tue, 23 Jul 2013 23:55:55 +0000 (23:55 +0000)]
ObjectiveC migration: more migration to
instancetype of NSDictionary methods.
llvm-svn: 187008
Tom Stellard [Tue, 23 Jul 2013 23:55:03 +0000 (23:55 +0000)]
DAGCombiner: Pass the correct type to TargetLowering::isF(Abs|Neg)Free
This commit also implements these functions for R600 and removes a test
case that was relying on the buggy behavior.
llvm-svn: 187007
Tom Stellard [Tue, 23 Jul 2013 23:54:56 +0000 (23:54 +0000)]
R600: Treat CONSTANT_ADDRESS loads like GLOBAL_ADDRESS loads when necessary
These are really the same address space in hardware. The only
difference is that CONSTANT_ADDRESS uses a special cache for faster
access. When we are unable to use the constant kcache for some reason
(e.g. smaller types or lack of indirect addressing) then the instruction
selector must use GLOBAL_ADDRESS loads instead.
llvm-svn: 187006
Nick Kledzik [Tue, 23 Jul 2013 23:42:17 +0000 (23:42 +0000)]
Add lit magic so that lld unittests are run as part of lld test suite
llvm-svn: 187005
Fariborz Jahanian [Tue, 23 Jul 2013 23:34:42 +0000 (23:34 +0000)]
ObjectiveC migrator: start migrating to
instancetype methods.
llvm-svn: 187004
Manman Ren [Tue, 23 Jul 2013 23:10:00 +0000 (23:10 +0000)]
Debug Info: improve the Finder.
Improve the Finder to handle context of a DIVariable.
If Scope is a DICompileUnit, add it to the list of CUs.
llvm-svn: 187003
Manman Ren [Tue, 23 Jul 2013 23:07:38 +0000 (23:07 +0000)]
Debug Info: clean up.
llvm-svn: 187002
Eric Christopher [Tue, 23 Jul 2013 22:50:42 +0000 (22:50 +0000)]
Remove unused function.
llvm-svn: 187001
Fariborz Jahanian [Tue, 23 Jul 2013 22:42:28 +0000 (22:42 +0000)]
ObjC migrator: more knobs toward doing
instancetype migration.
llvm-svn: 187000
Quentin Colombet [Tue, 23 Jul 2013 22:34:47 +0000 (22:34 +0000)]
[ARM][ISel] Improve the lowering of vector loads.
When vectors are built from a single value, the ARM lowering issues a
scalar_to_vector node.
This node is then always morphed into a move from the general purpose unit to
the vector unit.
When the value comes from a load, this can be simplified into a vector load to
the right lane.
This patch changes the lowering of insert_vector_elt to expose a vector
friendly pattern in this situation.
This is a step toward fixing <rdar://problem/
14170854>.
llvm-svn: 186999
Eric Christopher [Tue, 23 Jul 2013 22:29:19 +0000 (22:29 +0000)]
Keep similar classes near each other. No functional change.
llvm-svn: 186998
Matt Arsenault [Tue, 23 Jul 2013 22:20:57 +0000 (22:20 +0000)]
Fix spelling
llvm-svn: 186997
Nick Kledzik [Tue, 23 Jul 2013 22:17:47 +0000 (22:17 +0000)]
fix typo in error string
llvm-svn: 186996
Eric Christopher [Tue, 23 Jul 2013 22:16:44 +0000 (22:16 +0000)]
80-column.
llvm-svn: 186995
Eric Christopher [Tue, 23 Jul 2013 22:16:41 +0000 (22:16 +0000)]
Reformat options.
llvm-svn: 186994
Bill Schmidt [Tue, 23 Jul 2013 22:15:57 +0000 (22:15 +0000)]
[PowerPC64] Fix passing of single-vector-member structs to match ABI.
The 64-bit PowerPC ELF ABI requires a struct that contains a single
vector member to be passed in a vector register as though the wrapping
struct were not present. Instead we were passing this as a byval
struct.
The same logic was already present for floating-point arguments, so
this patch just extends the logic to handle vector types. The new
test case verifies that clang coerces the parameter and annotates it
as inreg.
Thanks,
Bill
llvm-svn: 186993
Matt Kopec [Tue, 23 Jul 2013 22:08:15 +0000 (22:08 +0000)]
Fix rvalue test makefile.
llvm-svn: 186992
Howard Hinnant [Tue, 23 Jul 2013 22:01:58 +0000 (22:01 +0000)]
Debug mode for unordered_set. I believe this to be fairly complete for
unordered_set, however it is not complete yet for unordered_multiset,
unordered_map or unordered_multimap. There has been a lot of work done
for these other three containers, however that work was done just to
keep all of the tests passing.
You can try this out with -D_LIBCPP_DEBUG2. You will have to link to a
libc++.dylib that has been compiled with src/debug.cpp. So far, vector
(but not vector<bool>), list, and unordered_set are treated. I hope to
get the other three unordered containers up fairly quickly now that
unordered_set is done.
The flag _LIBCPP_DEBUG2 will eventually be changed to _LIBCPP_DEBUG, but
not today. This is my second effort at getting debug mode going for
libc++, and I'm not quite yet ready to throw all of the work under the
first attempt away.
The basic design is that all of the debug information is kept in a
central database, instead of in the containers. This has been done as
an attempt to have debug mode and non-debug mode be ABI compatible with
each other. There are some circumstances where if you construct a
container in an environment without debug mode and pass it into debug
mode, the checking will get confused and let you know with a readable
error message. Passing containers the other way: from debug mode out to
a non-debugging mode container should be 100% safe (at least that is the
goal).
llvm-svn: 186991
Stefanus Du Toit [Tue, 23 Jul 2013 21:34:03 +0000 (21:34 +0000)]
Remove builtin attribute from calls whose targets we replace
If we are replacing a function with the nobuiltin attribute, it may be called
with the builtin attribute on call sites. Remove any such attributes since it's
illegal to have a builtin call to something other than a nobuiltin function.
This fixes the current buildbot breakage (where LLDB crashes on
"expression new foo(42)").
llvm-svn: 186990
Hans Wennborg [Tue, 23 Jul 2013 21:17:14 +0000 (21:17 +0000)]
Remove HelpText for -fno-diagnostics-show-note-include-stack
The help text was wrong, and we already provide help text on the
option that actually changes anything, i.e. -fdiagnostics-show-note-include-stack.
llvm-svn: 186989
Richard Trieu [Tue, 23 Jul 2013 21:06:45 +0000 (21:06 +0000)]
Changed "an macro" to "a macro" in diagnostic note.
llvm-svn: 186988