platform/upstream/llvm.git
11 years agoRegPressure: Order the "pressure sets" by number of regunits per set.
Andrew Trick [Thu, 25 Jul 2013 07:26:29 +0000 (07:26 +0000)]
RegPressure: Order the "pressure sets" by number of regunits per set.

This lets heuristics easily pick the most important set to follow.

llvm-svn: 187108

11 years agoDump LIS before regalloc. MI sched changes them.
Andrew Trick [Thu, 25 Jul 2013 07:26:26 +0000 (07:26 +0000)]
Dump LIS before regalloc. MI sched changes them.

llvm-svn: 187107

11 years agoDebug Info: improve the verifier to check field types.
Manman Ren [Thu, 25 Jul 2013 06:43:01 +0000 (06:43 +0000)]
Debug Info: improve the verifier to check field types.

Make sure the context and type fields are MDNodes. We will generate
verification errors if those fields are non-empty strings.
Fix testing cases to make them pass the verifier.

llvm-svn: 187106

11 years agoFix incorrect documentation generation for type matchers.
Manuel Klimek [Thu, 25 Jul 2013 06:05:50 +0000 (06:05 +0000)]
Fix incorrect documentation generation for type matchers.

llvm-svn: 187104

11 years agoRespect llvm.used in Internalize.
Rafael Espindola [Thu, 25 Jul 2013 03:23:25 +0000 (03:23 +0000)]
Respect llvm.used in Internalize.

The language reference says that:

"If a symbol appears in the @llvm.used list, then the compiler,
assembler, and linker are required to treat the symbol as if there is
a reference to the symbol that it cannot see"

Since even the linker cannot see the reference, we must assume that
the reference can be using the symbol table. For example, a user can add
__attribute__((used)) to a debug helper function like dump and use it from
a debugger.

llvm-svn: 187103

11 years agoScopDetect: Only track detection failures if actually needed.
Tobias Grosser [Thu, 25 Jul 2013 03:02:29 +0000 (03:02 +0000)]
ScopDetect: Only track detection failures if actually needed.

String operations resulted by raw_string_ostream in the INVALID macro can lead
to significant compile-time overhead when compiling large size source code.
This is because raw_string_ostream relies on TypeFinder class, whose
compile-time cost increases as the size of the module increases. This patch
targets to ensure that it only track detection failures if actually needed.
In this way, we can avoid expensive string operations in normal execution.

With this patch file, the relative compile-time cost of Polly-detect pass does
not increase even when compiling very large size source code.

Contributed-by: Star Tan <tanmx_star@yeah.net>
llvm-svn: 187102

11 years agoConvert line endings to unix style
Tobias Grosser [Thu, 25 Jul 2013 03:02:26 +0000 (03:02 +0000)]
Convert line endings to unix style

llvm-svn: 187101

11 years ago[PECOFF][Driver] Allow multiple /include options.
Rui Ueyama [Thu, 25 Jul 2013 02:57:39 +0000 (02:57 +0000)]
[PECOFF][Driver] Allow multiple /include options.

llvm-svn: 187100

11 years agoCheck that TD isn't NULL before dereferencing it down this path.
Nick Lewycky [Thu, 25 Jul 2013 02:55:14 +0000 (02:55 +0000)]
Check that TD isn't NULL before dereferencing it down this path.

llvm-svn: 187099

11 years agoMake these methods const correct.
Rafael Espindola [Thu, 25 Jul 2013 02:50:08 +0000 (02:50 +0000)]
Make these methods const correct.

Thanks to Nick Lewycky for noticing it.

llvm-svn: 187098

11 years agoAvoid recursions when the parser finds out that it has too many brackets.
Rafael Espindola [Thu, 25 Jul 2013 02:11:20 +0000 (02:11 +0000)]
Avoid recursions when the parser finds out that it has too many brackets.

BalancedDelimiterTracker::diagnoseOverflow calls P.SkipUntil, and before this
patch P.SkipUnti is recursive, causing problems on systems with small stacks.
This patch fixes it by making P.SkipUnti non recursive when just looking for
eof.

llvm-svn: 187097

11 years agoAdd another C++14 constexpr test case.
Richard Smith [Thu, 25 Jul 2013 01:53:54 +0000 (01:53 +0000)]
Add another C++14 constexpr test case.

llvm-svn: 187096

11 years ago[PECOFF] Add /failifmismatch option.
Rui Ueyama [Thu, 25 Jul 2013 01:23:50 +0000 (01:23 +0000)]
[PECOFF] Add /failifmismatch option.

llvm-svn: 187095

11 years agoHandle the case where we are stepping through code with no symbols, so we can't reall...
Jim Ingham [Thu, 25 Jul 2013 00:59:01 +0000 (00:59 +0000)]
Handle the case where we are stepping through code with no symbols, so we can't really find the function start PC
and so the StackID changes with every step.  Do so by checking the parent frame ID, and if it hasn't changed,
then we haven't stepped in.

rdar://problem/14516227

llvm-svn: 187094

11 years agoReplace the "NoFramePointerElimNonLeaf" target option with a function attribute.
Bill Wendling [Thu, 25 Jul 2013 00:34:29 +0000 (00:34 +0000)]
Replace the "NoFramePointerElimNonLeaf" target option with a function attribute.

There's no need to specify a flag to omit frame pointer elimination on non-leaf
nodes...(Honestly, I can't parse that option out.) Use the function attribute
stuff instead.

llvm-svn: 187093

11 years agoReplace the "NoFramePointerElimNonLeaf" target option with a function attribute.
Bill Wendling [Thu, 25 Jul 2013 00:32:41 +0000 (00:32 +0000)]
Replace the "NoFramePointerElimNonLeaf" target option with a function attribute.

llvm-svn: 187092

11 years ago[PECOFF][Driver] Simplify option definitions.
Rui Ueyama [Thu, 25 Jul 2013 00:32:19 +0000 (00:32 +0000)]
[PECOFF][Driver] Simplify option definitions.

It's still not as simple as it should be because of the many duplicated
lines, but it's at least better than before.

llvm-svn: 187091

11 years agoDebug Info: Fine-tune the simple return expression location handling to
Adrian Prantl [Thu, 25 Jul 2013 00:23:42 +0000 (00:23 +0000)]
Debug Info: Fine-tune the simple return expression location handling to
only affect functions without a separate return block. This fixes the
linetable for void functions with cleanups and multiple returns.

llvm-svn: 187090

11 years agotypo.
Adrian Prantl [Thu, 25 Jul 2013 00:23:37 +0000 (00:23 +0000)]
typo.

llvm-svn: 187089

11 years agoAdd helpful accessor methods to get the specified function attribute.
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

11 years agoUpdate link for the SysV x86_64 ABI standard doc; x86-64.org has
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

11 years ago[PECOFF] Use Windows style options instead of Unix style as primary options.
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

11 years agoDocumentation parsing: if typedef name is being declared
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

11 years ago[PECOFF] Add /include command line option.
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

11 years agoUpdate testing cases to pass debug info verifier.
Manman Ren [Wed, 24 Jul 2013 22:23:00 +0000 (22:23 +0000)]
Update testing cases to pass debug info verifier.

llvm-svn: 187083

11 years agoSimplify code - no functionality change.
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

11 years agoModify ProcessPOSIX to use the thread list mutex as needed
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

11 years agoFix test suite make so that -std=c++11 gets set properly for supported compilers...
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

11 years agoPartial revert of r185568.
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

11 years agoliteral suffixes for std::chrono
Marshall Clow [Wed, 24 Jul 2013 21:18:14 +0000 (21:18 +0000)]
literal suffixes for std::chrono

llvm-svn: 187078

11 years agotests: Mark expected FreeBSD failures due to pr16696
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

11 years agoSpeling.
Jakob Stoklund Olesen [Wed, 24 Jul 2013 20:47:57 +0000 (20:47 +0000)]
Speling.

llvm-svn: 187076

11 years agotypo.
Adrian Prantl [Wed, 24 Jul 2013 20:44:20 +0000 (20:44 +0000)]
typo.

llvm-svn: 187075

11 years agoDebug Info: Fix an oversight of r186553. Ensure that the function prologue
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

11 years agoadd radar number to testcase.
Adrian Prantl [Wed, 24 Jul 2013 20:34:34 +0000 (20:34 +0000)]
add radar number to testcase.

llvm-svn: 187073

11 years agotests: Mark expected FreeBSD failures due to pr16697
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

11 years agoFix a bug in IfConverter with nested predicates.
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

11 years agotest_iter_registers is expected to fail on FreeBSD
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

11 years agoAdd expectedFailureFreeBSD test wrapper
Ed Maste [Wed, 24 Jul 2013 19:47:08 +0000 (19:47 +0000)]
Add expectedFailureFreeBSD test wrapper

llvm-svn: 187069

11 years agoObjective-C migrator: some cleanup.
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

11 years agoFix doxygen warnings
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

11 years agoUpdate testing cases to pass debug info verifier.
Manman Ren [Wed, 24 Jul 2013 18:56:43 +0000 (18:56 +0000)]
Update testing cases to pass debug info verifier.

llvm-svn: 187066

11 years agoAdd not to a command that is expected to fail.
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

11 years agoadd -disable-debug-info-verifier to 3 test to fix tests with pipefail.
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

11 years ago[mips] Make MipsAsmParser::parseCCRRegs return NoMatch instead of ParseFail
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

11 years agoObjectiveC migration: Method candidates for
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

11 years agoPass -fno-math-builtin from the Clang driver to -cc1 for the l32 arch.
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

11 years ago<rdar://problem/14521548>
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

11 years agoAdded get_num_groups
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

11 years agoRename feature test for lambda init-captures from cxx_generalized_capture to
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

11 years agoDon't rely on C99 for loop initializers in test case
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

11 years agoUpdate old llc documentation.
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

11 years agoUpdate documentation to match current C++1y feature set.
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

11 years agoMake test pass in Release builds, IR names don't get emitted there.
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

11 years ago[mips] Remove XFAIL from test-ptr-reloc-remote.ll
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

11 years agoDebug Info: improve the Finder.
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

11 years agoUse ARM-style representation for C++ method pointers under PNaCl/Emscripten
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

11 years agoTRE: Move class into anonymous namespace.
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

11 years agoUpdate testing cases to pass debug info verifier.
Manman Ren [Wed, 24 Jul 2013 15:55:41 +0000 (15:55 +0000)]
Update testing cases to pass debug info verifier.

llvm-svn: 187049

11 years agocpp11-migrate: Fix build break on Windows introduced in r187041.
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

11 years agoSema: Minor const fixups and control flow tidying.
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

11 years agoAdd -disable-debug-info-verifier to a RUN line.
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

11 years agoUpdate www build instructions for FreeBSD
Ed Maste [Wed, 24 Jul 2013 14:53:48 +0000 (14:53 +0000)]
Update www build instructions for FreeBSD

llvm-svn: 187045

11 years agoAdd support for Adaptative matchers on the dynamic registry.
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

11 years agoAdd FreeBSD buildbots to build page
Ed Maste [Wed, 24 Jul 2013 14:44:09 +0000 (14:44 +0000)]
Add FreeBSD buildbots to build page

llvm-svn: 187043

11 years agoDon't leak when expanding response files.
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

11 years agocpp11-migrate: Register the transforms automatically using llvm::Registry
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

11 years agoelf-core: Document offset constants in FreeBSD prstatus parser
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

11 years agoDelete the buffer in createObjectFile if it fails.
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

11 years agotest commit
Guillaume Papin [Wed, 24 Jul 2013 13:58:28 +0000 (13:58 +0000)]
test commit

llvm-svn: 187038

11 years agoUpdate current state of FreeBSD port
Ed Maste [Wed, 24 Jul 2013 13:51:45 +0000 (13:51 +0000)]
Update current state of FreeBSD port

llvm-svn: 187037

11 years agoUpdated the LLDB status page to reflect recent work on Linux.
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

11 years agoUpdating tests that fail with ICC 13.1 because of the different mapping of assembly...
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

11 years agollvm-ar is far closer to being a regular ar implementation now. Update the docs.
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

11 years agoclang-format: Initial (incomplete) support for the WebKit coding style.
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

11 years ago[test commit] Minor comment change.
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

11 years agoFix a problem I introduced in r187029 where we would over-eagerly
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

11 years agoI'm starting to commit KNL backend. I'll push patches one-by-one. This patch includes...
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

11 years agoFix PR16687 where we were incorrectly promoting an alloca that had
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

11 years agoallow tests to run on powerpc-darwin8 again, checking for __ppc__
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

11 years agoSplit generated asm mnemonic matching table into a separate table for each asm variant.
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

11 years agoC++1y: track object lifetime during constexpr evaluation, and don't allow
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

11 years agoScopDetect: Add some test cases for sequential loops
Tobias Grosser [Wed, 24 Jul 2013 06:10:37 +0000 (06:10 +0000)]
ScopDetect: Add some test cases for sequential loops

llvm-svn: 187024

11 years agoScopInfo/IndependentBlocks: clang-format
Tobias Grosser [Wed, 24 Jul 2013 06:10:30 +0000 (06:10 +0000)]
ScopInfo/IndependentBlocks: clang-format

llvm-svn: 187023

11 years agoUpdate docs.
Manuel Klimek [Wed, 24 Jul 2013 05:46:07 +0000 (05:46 +0000)]
Update docs.

llvm-svn: 187022

11 years agoRevert accidental commit.
Craig Topper [Wed, 24 Jul 2013 04:52:55 +0000 (04:52 +0000)]
Revert accidental commit.

llvm-svn: 187021

11 years agoFix aliases for shrd/shld to handle Intel syntax properly. Also suppress them from...
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

11 years ago[mips] Use pristine object file while processing relocations.
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

11 years agoReplace with a "null" RAUW with an assert since we'd actually like
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

11 years agoRemove dead code.
Eric Christopher [Wed, 24 Jul 2013 01:38:05 +0000 (01:38 +0000)]
Remove dead code.

llvm-svn: 187017

11 years agoUpdate testing cases to make them pass debug info verification.
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

11 years agoRemove unnecessary constructors as the default conversions will handle
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

11 years agoMore constructor cleanup.
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

11 years agoCollapse logic and move and reword comment for clarity.
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

11 years agoAdd a fixme and reformat.
Eric Christopher [Wed, 24 Jul 2013 00:54:36 +0000 (00:54 +0000)]
Add a fixme and reformat.

llvm-svn: 187012

11 years agoRemove one more of these.
Eric Christopher [Wed, 24 Jul 2013 00:36:11 +0000 (00:36 +0000)]
Remove one more of these.

llvm-svn: 187011

11 years agoRemove more dead/weird/misleading code.
Eric Christopher [Wed, 24 Jul 2013 00:15:01 +0000 (00:15 +0000)]
Remove more dead/weird/misleading code.

llvm-svn: 187010

11 years agoRemove more seemingly unused code.
Eric Christopher [Wed, 24 Jul 2013 00:13:02 +0000 (00:13 +0000)]
Remove more seemingly unused code.

llvm-svn: 187009

11 years agoObjectiveC migration: more migration to
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

11 years agoDAGCombiner: Pass the correct type to TargetLowering::isF(Abs|Neg)Free
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