Rafael Espindola [Thu, 4 Jul 2013 17:21:01 +0000 (17:21 +0000)]
Add 'not' in front of a command that is expected to fail.
llvm-svn: 185659
Rafael Espindola [Thu, 4 Jul 2013 17:08:11 +0000 (17:08 +0000)]
Add 'not' to command lines that are expected to fail.
llvm-svn: 185658
Rafael Espindola [Thu, 4 Jul 2013 17:06:04 +0000 (17:06 +0000)]
Don't pass llvm::errs() all over the place. Diagnostics always go to stderr.
llvm-svn: 185657
Aaron Ballman [Thu, 4 Jul 2013 17:05:21 +0000 (17:05 +0000)]
Changing long to int for consistency.
llvm-svn: 185656
Rafael Espindola [Thu, 4 Jul 2013 16:50:47 +0000 (16:50 +0000)]
Return 0 when processing --help. This matches gnu ld and gold.
llvm-svn: 185655
Rafael Espindola [Thu, 4 Jul 2013 16:28:28 +0000 (16:28 +0000)]
Add 'not' to commands that are expected to fail.
llvm-svn: 185654
Rafael Espindola [Thu, 4 Jul 2013 16:23:44 +0000 (16:23 +0000)]
Require a shell for this test.
Some versions of python will expand the glob used in the test, others wont,
causing the test to fail when run with LIT_USE_INTERNAL_SHELL=1.
llvm-svn: 185653
Rafael Espindola [Thu, 4 Jul 2013 16:16:58 +0000 (16:16 +0000)]
Add 'not' to commands that are expected to fail.
This is at least good documentation, but also opens the possibility of
using pipefail.
llvm-svn: 185652
Joey Gouly [Thu, 4 Jul 2013 15:58:38 +0000 (15:58 +0000)]
Remove an unneeded call to 'UpdateThumbVFPPredicate', spotted by Amaury.
llvm-svn: 185651
Rafael Espindola [Thu, 4 Jul 2013 15:29:20 +0000 (15:29 +0000)]
Looks like {{.*}} doesn't match the empty string. Fix test.
llvm-svn: 185650
Rafael Espindola [Thu, 4 Jul 2013 15:25:05 +0000 (15:25 +0000)]
Relax pattern to accept a signext on ppc64.
llvm-svn: 185649
Rafael Espindola [Thu, 4 Jul 2013 15:22:16 +0000 (15:22 +0000)]
Replace 'grep foo | count 0' with 'not grep foo'.
This avoids depending on pipefail not being used.
llvm-svn: 185648
Rafael Espindola [Thu, 4 Jul 2013 15:14:31 +0000 (15:14 +0000)]
Remove test for the old debug format which was XFAILed since 2009.
llvm-svn: 185647
Joerg Sonnenberger [Thu, 4 Jul 2013 15:11:10 +0000 (15:11 +0000)]
Fix bashism.
llvm-svn: 185646
Rafael Espindola [Thu, 4 Jul 2013 15:08:20 +0000 (15:08 +0000)]
Convert test to FileCheck.
llvm-svn: 185645
Rafael Espindola [Thu, 4 Jul 2013 15:04:25 +0000 (15:04 +0000)]
Add missing expected-warning.
llvm-svn: 185644
Rafael Espindola [Thu, 4 Jul 2013 14:58:42 +0000 (14:58 +0000)]
Remove more unused uses of -verify.
llvm-svn: 185643
Joey Gouly [Thu, 4 Jul 2013 14:57:20 +0000 (14:57 +0000)]
Add support for MC assembling and disassembling of vsel{ge, gt, eq, vs} instructions.
This adds a new decoder table/namespace 'VFPV8', as these instructions have their
top 4 bits as 0b1111, while other Thumb instructions have 0b1110.
llvm-svn: 185642
Rafael Espindola [Thu, 4 Jul 2013 14:51:11 +0000 (14:51 +0000)]
Remove unused -verify.
llvm-svn: 185641
Alexander Kornienko [Thu, 4 Jul 2013 14:47:51 +0000 (14:47 +0000)]
Fixed typo: NoneComment -> NonComment, no other changes.
llvm-svn: 185640
Rafael Espindola [Thu, 4 Jul 2013 14:42:44 +0000 (14:42 +0000)]
clang -cc1 has no -fno-unit-at-a-time or -funit-at-a-time. Fix test.
llvm-svn: 185639
Ulrich Weigand [Thu, 4 Jul 2013 14:40:12 +0000 (14:40 +0000)]
[PowerPC] Add all trap mnemonics
This adds support for all basic and extended variants
of the trap instructions to the asm parser.
llvm-svn: 185638
Rafael Espindola [Thu, 4 Jul 2013 14:36:22 +0000 (14:36 +0000)]
Use a clang -cc1 option instead of -m32 and remove tcl quotes.
llvm-svn: 185637
Rafael Espindola [Thu, 4 Jul 2013 14:30:41 +0000 (14:30 +0000)]
Remove tcl quotes.
llvm-svn: 185636
Rafael Espindola [Thu, 4 Jul 2013 14:28:33 +0000 (14:28 +0000)]
Convert test to FileCheck.
llvm-svn: 185635
Rafael Espindola [Thu, 4 Jul 2013 14:25:25 +0000 (14:25 +0000)]
Replace void with int to make this a valid C++ file.
The test was passing because clang would still print the ast before exiting
with an error. Since that didn't seem to be the intent of the test, I change
the test instead of adding 'not' to the command line.
llvm-svn: 185634
Ulrich Weigand [Thu, 4 Jul 2013 14:24:00 +0000 (14:24 +0000)]
[PowerPC] Add asm parser support for CR expressions
This adds support for specifying condition registers and
condition register fields via expressions using the symbols
defined by the PowerISA, like "4*cr2+eq".
llvm-svn: 185633
Benjamin Kramer [Thu, 4 Jul 2013 14:22:02 +0000 (14:22 +0000)]
SimplifyCFG: Teach switch generation some patterns that instcombine forms.
This allows us to create switches even if instcombine has munged two of the
incombing compares into one and some bit twiddling. This was motivated by enum
compares that are common in clang.
llvm-svn: 185632
Alexander Potapenko [Thu, 4 Jul 2013 14:21:49 +0000 (14:21 +0000)]
[ASan] Close stderr before launching atos in asan_symbolize.py
llvm-svn: 185631
Rafael Espindola [Thu, 4 Jul 2013 14:20:52 +0000 (14:20 +0000)]
Remove old test.
It was trivially passing because of the tcl quotes and we have better datalayout
tests.
llvm-svn: 185630
Rafael Espindola [Thu, 4 Jul 2013 14:18:32 +0000 (14:18 +0000)]
Remove old test.
It was not clear what was being tested and the test was trivially passing
by getting grep confused with tcl quotes.
llvm-svn: 185629
Rafael Espindola [Thu, 4 Jul 2013 14:13:53 +0000 (14:13 +0000)]
Clang has no nested function support. Delete this test.
llvm-svn: 185628
Aaron Ballman [Thu, 4 Jul 2013 14:12:25 +0000 (14:12 +0000)]
Supporting ssize_t on WIN64 with its proper size. Patch thanks to David Cournapeau!
llvm-svn: 185627
Evgeniy Stepanov [Thu, 4 Jul 2013 14:03:31 +0000 (14:03 +0000)]
[sanitizer] Intercept tcgetattr.
llvm-svn: 185626
Jakob Stoklund Olesen [Thu, 4 Jul 2013 13:54:20 +0000 (13:54 +0000)]
Remove the EXCEPTIONADDR, EHSELECTION, and LSDAADDR ISD opcodes.
These exception-related opcodes are not used any longer.
llvm-svn: 185625
Evgeniy Stepanov [Thu, 4 Jul 2013 13:19:41 +0000 (13:19 +0000)]
[sanitizer] More interceptors.
bcopy
strtoimax, strtoumax
mbstowcs, mbsrtowcs, mbsnrtowcs
wcstombs, wcsrtombs, wcsnrtombs
llvm-svn: 185624
Craig Topper [Thu, 4 Jul 2013 13:11:33 +0000 (13:11 +0000)]
Use SmallVectorImpl::const_iterator instead of SmallVector to avoid specifying the vector size.
llvm-svn: 185623
Alexander Kornienko [Thu, 4 Jul 2013 12:02:44 +0000 (12:02 +0000)]
Added AlwaysBreakBeforeMultilineStrings option.
Summary:
Always breaking before multiline strings can help format complex
expressions containing multiline strings more consistently, and avoid consuming
too much horizontal space.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D1097
llvm-svn: 185622
Alexander Potapenko [Thu, 4 Jul 2013 10:16:12 +0000 (10:16 +0000)]
[ASan] Do not protect the malloc zone created by malloc_zone_create() on Snow Leopard and earlier systems.
Fixes https://code.google.com/p/address-sanitizer/issues/detail?id=208
llvm-svn: 185621
Joey Gouly [Thu, 4 Jul 2013 10:04:08 +0000 (10:04 +0000)]
Add a V8FP instruction 'vcvt{b,t}' to convert between half and double precision.
llvm-svn: 185620
Rui Ueyama [Thu, 4 Jul 2013 09:29:47 +0000 (09:29 +0000)]
Try to guard a test that requires DEBUG().
This is a follow-up patch for r185524. Being assert enabled does not mean
that DEBUG() is enabled, so we need to check the existence of DEBUG() itself.
llvm-svn: 185619
Jakob Stoklund Olesen [Thu, 4 Jul 2013 04:53:49 +0000 (04:53 +0000)]
Typo.
llvm-svn: 185618
Jakob Stoklund Olesen [Thu, 4 Jul 2013 04:53:45 +0000 (04:53 +0000)]
Simplify landing pad lowering.
Stop using the ISD::EXCEPTIONADDR and ISD::EHSELECTION when lowering
landing pad arguments. These nodes were previously legalized into
CopyFromReg nodes, but that never worked properly because the
CopyFromReg node weren't guaranteed to be scheduled at the top of the
basic block.
This meant the exception pointer and selector registers could be
clobbered before being copied to a virtual register.
This patch copies the two physical registers to virtual registers at
the beginning of the basic block, and lowers the landingpad instruction
directly to two CopyFromReg nodes reading the *virtual* registers. This
is safe because virtual registers don't get clobbered.
A future patch will remove the ISD::EXCEPTIONADDR and ISD::EHSELECTION
nodes.
llvm-svn: 185617
Jakob Stoklund Olesen [Thu, 4 Jul 2013 04:32:39 +0000 (04:32 +0000)]
FastISel can only apend to basic blocks.
Compute the insertion point from the end of the basic block instead of
skipping labels from the front.
This caused failures in landing pads when live-in copies where inserted
before instruction selection.
llvm-svn: 185616
Jakob Stoklund Olesen [Thu, 4 Jul 2013 04:32:35 +0000 (04:32 +0000)]
Live-in copies go *after* EH_LABELs.
This will soon be tested by exception handling working at all.
llvm-svn: 185615
Richard Smith [Thu, 4 Jul 2013 04:10:46 +0000 (04:10 +0000)]
Add test for PR4997. This has been fixed for a while.
llvm-svn: 185614
Richard Smith [Thu, 4 Jul 2013 04:04:20 +0000 (04:04 +0000)]
Testcase for PR14130, which was probably fixed by r183859.
llvm-svn: 185613
Nick Lewycky [Thu, 4 Jul 2013 03:51:53 +0000 (03:51 +0000)]
Tabs to spaces. No functionality change.
llvm-svn: 185612
Craig Topper [Thu, 4 Jul 2013 03:15:42 +0000 (03:15 +0000)]
Add a space between closing template '>' to unbreak build.
llvm-svn: 185611
Craig Topper [Thu, 4 Jul 2013 03:08:24 +0000 (03:08 +0000)]
Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily.
llvm-svn: 185610
Anna Zaks [Thu, 4 Jul 2013 02:38:10 +0000 (02:38 +0000)]
[analyzer] Suppress reports reported in std::list
The motivation is to suppresses false use-after-free reports that occur when calling
std::list::pop_front() or std::list::pop_back() twice. The analyzer does not
reason about the internal invariants of the list implementation, so just do not report
any of warnings in std::list.
Fixes radar://
14317928.
llvm-svn: 185609
Anna Zaks [Thu, 4 Jul 2013 02:38:06 +0000 (02:38 +0000)]
[analyzer] Make sure that inlined defensive checks work on div by zero.
This suppresses a false positive in std::hash_map.
Fixes radar://
14255587.
llvm-svn: 185608
Craig Topper [Thu, 4 Jul 2013 01:43:17 +0000 (01:43 +0000)]
Add a space between closing template '>' to unbreak build.
llvm-svn: 185607
Craig Topper [Thu, 4 Jul 2013 01:31:24 +0000 (01:31 +0000)]
Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size.
llvm-svn: 185606
Eric Christopher [Thu, 4 Jul 2013 01:10:38 +0000 (01:10 +0000)]
Reapply r185601 with a fix for the cmake build.
llvm-svn: 185605
Richard Smith [Thu, 4 Jul 2013 01:01:24 +0000 (01:01 +0000)]
Part of PR15673: If a function template has a default argument in which
substitution failed, report that as a substitution failure rather than
pretending that there was no default argument.
The test cases in PR15673 have exposed some pre-existing poor diagnostics here.
llvm-svn: 185604
Eric Christopher [Thu, 4 Jul 2013 00:51:26 +0000 (00:51 +0000)]
Temporarily revert 185601 as it caused cmake build regressions.
llvm-svn: 185603
Richard Trieu [Thu, 4 Jul 2013 00:50:18 +0000 (00:50 +0000)]
Improve -Wlogical-not-parentheses to catch when the not is applied to an enum.
llvm-svn: 185602
Eric Christopher [Thu, 4 Jul 2013 00:47:09 +0000 (00:47 +0000)]
Add support for futimens for platforms that don't support futimes.
Patch by pashev.igor.
llvm-svn: 185601
Jakob Stoklund Olesen [Thu, 4 Jul 2013 00:26:30 +0000 (00:26 +0000)]
Revert r185595-185596 which broke buildbots.
Revert "Simplify landing pad lowering."
Revert "Remove the EXCEPTIONADDR, EHSELECTION, and LSDAADDR ISD opcodes."
llvm-svn: 185600
Fariborz Jahanian [Thu, 4 Jul 2013 00:24:32 +0000 (00:24 +0000)]
[ObjectiveC migrator] relax the rules for setter/getter
types when deciding on validity of a property
inclusion. // rdar://
14345082
llvm-svn: 185599
Richard Smith [Thu, 4 Jul 2013 00:13:48 +0000 (00:13 +0000)]
PR16480: Reimplement token-caching for constructor initializer lists. This
previously didn't work if a mem-initializer-id had a template argument which
contained parentheses or braces.
We now implement a simple rule: just look for a ') {' or '} {' that is not
nested. The '{' is assumed to start the function-body. There are still two
cases which we misparse, where the ') {' comes from a compound literal or
from a lambda. The former case is not valid C++, and the latter will probably
not be valid C++ once DR1607 is resolved, so these seem to be of low value,
and we do not regress on them with this change. EDG and g++ also misparse
both of these cases.
llvm-svn: 185598
Marshall Clow [Thu, 4 Jul 2013 00:10:01 +0000 (00:10 +0000)]
Patch for N3655 (Transformation type traits) with Howard's additions
llvm-svn: 185597
Jakob Stoklund Olesen [Wed, 3 Jul 2013 23:56:31 +0000 (23:56 +0000)]
Remove the EXCEPTIONADDR, EHSELECTION, and LSDAADDR ISD opcodes.
These exception-related opcodes are not used any longer.
llvm-svn: 185596
Jakob Stoklund Olesen [Wed, 3 Jul 2013 23:56:24 +0000 (23:56 +0000)]
Simplify landing pad lowering.
Stop using the ISD::EXCEPTIONADDR and ISD::EHSELECTION when lowering
landing pad arguments. These nodes were previously legalized into
CopyFromReg nodes, but that never worked properly because the
CopyFromReg node weren't guaranteed to be scheduled at the top of the
basic block.
This meant the exception pointer and selector registers could be
clobbered before being copied to a virtual register.
This patch copies the two physical registers to virtual registers at
the beginning of the basic block, and lowers the landingpad instruction
directly to two CopyFromReg nodes reading the *virtual* registers. This
is safe because virtual registers don't get clobbered.
A future patch will remove the ISD::EXCEPTIONADDR and ISD::EHSELECTION
nodes.
llvm-svn: 185595
Jakob Stoklund Olesen [Wed, 3 Jul 2013 23:56:20 +0000 (23:56 +0000)]
Add MachineBasicBlock::addLiveIn().
This function adds a live-in physical register to an MBB and ensures
that it is copied to a virtual register immediately.
llvm-svn: 185594
Fariborz Jahanian [Wed, 3 Jul 2013 23:44:11 +0000 (23:44 +0000)]
Minor refactoring of my last patch.
llvm-svn: 185593
Stephen Lin [Wed, 3 Jul 2013 23:39:13 +0000 (23:39 +0000)]
Have ARMBaseRegisterInfo::getCallPreservedMask return the 'correct' mask for the GHC calling convention.
This is purely academic because GHC calls are always tail calls so the register mask will never be used; however, this change makes the code clearer and brings the ARM implementation of the GHC calling convention in line with the X86 implementation. Also, it might save someone else some time trying to figuring out what is happening...
llvm-svn: 185592
Fariborz Jahanian [Wed, 3 Jul 2013 23:05:00 +0000 (23:05 +0000)]
[ObjectiveC Migration]: Provide knobs for
migrating setter/getter methods to an eventual
property declaraiton. This is wip.
// rdar://
14345082
llvm-svn: 185591
Sebastian Pop [Wed, 3 Jul 2013 22:50:36 +0000 (22:50 +0000)]
scop detection: early return
to reduce indentation level
No functionality changed.
llvm-svn: 185590
Eric Christopher [Wed, 3 Jul 2013 22:40:21 +0000 (22:40 +0000)]
Hoist all of the Entry.getLoc() calls int a single variable.
llvm-svn: 185589
Eric Christopher [Wed, 3 Jul 2013 22:40:18 +0000 (22:40 +0000)]
Make DotDebugLocEntry a class, reorder the members along with comments
for them and update all uses.
llvm-svn: 185588
Quentin Colombet [Wed, 3 Jul 2013 21:42:57 +0000 (21:42 +0000)]
[ARM] Improve the instruction selection of vector loads.
In the ARM back-end, build_vector nodes are lowered to a target specific
build_vector that uses floating point type.
This works well, unless the inserted bitcasts survive until instruction
selection. In that case, they incur moves between integer unit and floating
point unit that may result in inefficient code.
In other words, this conversion may introduce artificial dependencies when the
code leading to the build vector cannot be completed with a floating point type.
In particular, this happens when loads are not aligned.
Before this patch, in that case, the compiler generates general purpose loads
and creates the floating point vector from them, instead of directly using the
vector unit.
The patch uses a vector friendly sequence of code when the inserted bitcasts to
floating point survived DAGCombine.
This is done by a target specific DAGCombine that changes the target specific
build_vector into a sequence of insert_vector_elt that get rid of the bitcasts.
<rdar://problem/
14170854>
llvm-svn: 185587
Eric Christopher [Wed, 3 Jul 2013 21:37:03 +0000 (21:37 +0000)]
Elaborate on comment.
llvm-svn: 185586
Eric Christopher [Wed, 3 Jul 2013 21:23:59 +0000 (21:23 +0000)]
Add names to the header file since they help in documenting the API
(and for consistency).
llvm-svn: 185585
Roman Divacky [Wed, 3 Jul 2013 21:08:41 +0000 (21:08 +0000)]
Check LongDoubleFormat instead of just Width as this is PowerPC specific.
llvm-svn: 185584
Bill Schmidt [Wed, 3 Jul 2013 21:03:35 +0000 (21:03 +0000)]
[PowerPC] FreeBSD does not require f128 in its data layout string.
Long double is 64 bits on FreeBSD PPC, so the f128 entry is superfluous.
llvm-svn: 185583
Bill Schmidt [Wed, 3 Jul 2013 21:03:06 +0000 (21:03 +0000)]
[PowerPC] FreeBSD does not require f128 in its data layout string.
Long double is 64 bits on FreeBSD PPC, so the f128 entry is superfluous.
llvm-svn: 185582
Renato Golin [Wed, 3 Jul 2013 20:56:33 +0000 (20:56 +0000)]
Add platform specific tests doc
llvm-svn: 185581
Bill Schmidt [Wed, 3 Jul 2013 20:54:09 +0000 (20:54 +0000)]
"bool" should be a context-sensitive keyword in Altivec mode.
PR16456 reported that Clang implements a hybrid between AltiVec's
"Keyword and Predefine Method" and its "Context Sensitive Keyword
Method," where "bool" is always a keyword, but "vector" and "pixel"
are context-sensitive keywords. This isn't permitted by the AltiVec
spec. For consistency with gcc, this patch implements the Context
Sensitive Keyword Method for bool, and stops treating true and false
as keywords in Altivec mode.
The patch removes KEYALTIVEC as a trigger for defining these keywords
in include/clang/Basic/TokenKinds.def, and adds logic for "vector
bool" that mirrors the existing logic for "vector pixel." The test
case is taken from the bug report.
llvm-svn: 185580
Daniel Malea [Wed, 3 Jul 2013 20:51:44 +0000 (20:51 +0000)]
Remove @expectedFailureGcc from TestInlineStepping as function prologue bug is not reproducible anymore.
llvm-svn: 185579
Roman Divacky [Wed, 3 Jul 2013 20:48:06 +0000 (20:48 +0000)]
Add support for TF/TC modes available on eg. PowerPC64.
llvm-svn: 185578
Manman Ren [Wed, 3 Jul 2013 20:45:07 +0000 (20:45 +0000)]
Update testing cases to check dwarf-2 for Darwin.
llvm-svn: 185577
Daniel Malea [Wed, 3 Jul 2013 20:44:40 +0000 (20:44 +0000)]
Skip Test-rdar-9974002 with Clang 3.4 (due to llvm.org/pr16214)
- should resolve remaining failures on clang buildbot
llvm-svn: 185576
Tilmann Scheller [Wed, 3 Jul 2013 20:38:01 +0000 (20:38 +0000)]
ARM: Prevent ARMAsmParser::shouldOmitCCOutOperand() from misidentifying certain Thumb2 add immediate T3 encodings.
Before the fix Thumb2 instructions of type "add rD, rN, #imm" (T3 encoding, see ARM ARM A8.8.4) with rD and rN both being low registers (r0-r7) were classified as having the T4 encoding.
The T4 encoding doesn't have a cc_out operand so for above instructions the operand gets erroneously removed, corrupting the token stream and leading to parse errors later in the process.
This bug prevented "add r1, r7, #0xcbcbcbcb" from being assembled correctly.
Fixes <rdar://problem/
14224440>.
llvm-svn: 185575
Chad Rosier [Wed, 3 Jul 2013 20:37:50 +0000 (20:37 +0000)]
Revert r185557 as it was a bit (a lot) premature.
llvm-svn: 185574
Eric Christopher [Wed, 3 Jul 2013 20:36:36 +0000 (20:36 +0000)]
Move typedefs inside the class that they belong to.
llvm-svn: 185573
Roman Divacky [Wed, 3 Jul 2013 19:45:54 +0000 (19:45 +0000)]
Dont define __LONG_DOUBLE_128__ unless LongDoubleWidth is really 128bits width.
It's not the case on ie. FreeBSD.
llvm-svn: 185572
Daniel Malea [Wed, 3 Jul 2013 19:34:25 +0000 (19:34 +0000)]
Add missing -std=c99 flag to appease GCC 4.6
- this issue was detected on recent GCC buildbot runs
llvm-svn: 185571
Daniel Malea [Wed, 3 Jul 2013 19:29:46 +0000 (19:29 +0000)]
Re-apply TestHelp.py fix
llvm-svn: 185570
Marshall Clow [Wed, 3 Jul 2013 19:20:30 +0000 (19:20 +0000)]
Commit patch for integer sequences. Suggested by Richard, reworked by Howard, and annotated by me
llvm-svn: 185569
Eli Bendersky [Wed, 3 Jul 2013 19:19:12 +0000 (19:19 +0000)]
Add target hook CodeGen queries when generating builtin pow*.
Without fmath-errno, Clang currently generates calls to @llvm.pow.* intrinsics
when it sees pow*(). This may not be suitable for all targets (for
example le32/PNaCl), so the attached patch adds a target hook that CodeGen
queries. The target can state its preference for having or not having the
intrinsic generated. Non-PNaCl behavior remains unchanged;
PNaCl-specific test added.
llvm-svn: 185568
Daniel Malea [Wed, 3 Jul 2013 18:50:03 +0000 (18:50 +0000)]
Fix python 2.6 compatibility issue introduced by r184615
- argparse_compat library does not support reading environment variables
- should unblock Linux GCC buildbot from running tests again
llvm-svn: 185567
Chad Rosier [Wed, 3 Jul 2013 18:38:08 +0000 (18:38 +0000)]
Use an RWMutex instead of a Mutex in PassRegistry.
Patch by Alex Crichton <alex@crichton.co>. Approved by Chris Lattner.
llvm-svn: 185566
Richard Smith [Wed, 3 Jul 2013 18:35:53 +0000 (18:35 +0000)]
Enable -ffreestanding for this test, to avoid #include_next'ing the system's
<stdint.h> (which might not exist or might not work).
llvm-svn: 185565
Ulrich Weigand [Wed, 3 Jul 2013 18:29:47 +0000 (18:29 +0000)]
[PowerPC] Support lmw/stmw in the asm parser
This adds support for the load/store multiple instructions,
currently used by the asm parser only.
llvm-svn: 185564
Bill Schmidt [Wed, 3 Jul 2013 18:21:12 +0000 (18:21 +0000)]
Provide test case for commit r185544.
Verify that assembling an empty file does not auto-include altivec.h.
llvm-svn: 185563
Eli Friedman [Wed, 3 Jul 2013 18:06:11 +0000 (18:06 +0000)]
Add file suffix for assembler-with-cpp.
Fixes crash when trying to recover from a crash on an assembler-with-cpp
file. (Not sure how to write a testcase.)
llvm-svn: 185562
Ulrich Weigand [Wed, 3 Jul 2013 17:59:07 +0000 (17:59 +0000)]
[PowerPC] Use mtocrf when available
Just as with mfocrf, it is also preferable to use mtocrf instead of
mtcrf when only a single CR register is to be written.
Current code however always emits mtcrf. This probably does not matter
when using an external assembler, since the GNU assembler will in fact
automatically replace mtcrf with mtocrf when possible. It does create
inefficient code with the integrated assembler, however.
To fix this, this patch adds MTOCRF/MTOCRF8 instruction patterns and
uses those instead of MTCRF/MTCRF8 everything. Just as done in the
MFOCRF patch committed as 185556, these patterns will be converted
back to MTCRF if MTOCRF is not available on the machine.
As a side effect, this allows to modify the MTCRF pattern to accept
the full range of mask operands for the benefit of the asm parser.
llvm-svn: 185561
Daniel Malea [Wed, 3 Jul 2013 17:58:31 +0000 (17:58 +0000)]
Revert commits that cause broken builds on GCC buildbots
- build fails due to PyCallable template definition inside an extern "C" scope
This commit reverts 185240, 184893 and 184608.
llvm-svn: 185560