platform/upstream/llvm.git
10 years agoFix build since r202052
Tom Stellard [Mon, 24 Feb 2014 21:31:56 +0000 (21:31 +0000)]
Fix build since r202052

sys::fs_F_Binary has been replaced with sys::fs_F_Text

llvm-svn: 202081

10 years agoFix unused variable
Matt Arsenault [Mon, 24 Feb 2014 21:16:50 +0000 (21:16 +0000)]
Fix unused variable

llvm-svn: 202080

10 years ago[lld] Include reference kind in cycle detector debug output
Nico Rieck [Mon, 24 Feb 2014 21:14:37 +0000 (21:14 +0000)]
[lld] Include reference kind in cycle detector debug output

This restores the debug output to how it was before r197727 broke it. This
went undetected because the corresponding test was never run due to broken
feature detection.

llvm-svn: 202079

10 years agoFix feature detection in lld's lit.cfg
Nico Rieck [Mon, 24 Feb 2014 21:13:53 +0000 (21:13 +0000)]
Fix feature detection in lld's lit.cfg

llvm-svn: 202078

10 years agoR600/SI - Add new CI arithmetic instructions.
Matt Arsenault [Mon, 24 Feb 2014 21:01:28 +0000 (21:01 +0000)]
R600/SI - Add new CI arithmetic instructions.

Does not yet include larger part required
to match v_mad_i64_i32 / v_mad_u64_u32.

llvm-svn: 202077

10 years agoR600: Make check clearer.
Matt Arsenault [Mon, 24 Feb 2014 21:01:23 +0000 (21:01 +0000)]
R600: Make check clearer.

The check is clearer as southern islands or later,
rather than checking for later than northern islands.

llvm-svn: 202076

10 years agoFix DOT4 missing from getTargetOpcodeName
Matt Arsenault [Mon, 24 Feb 2014 21:01:21 +0000 (21:01 +0000)]
Fix DOT4 missing from getTargetOpcodeName

llvm-svn: 202075

10 years agoAdd missing const
Matt Arsenault [Mon, 24 Feb 2014 21:01:18 +0000 (21:01 +0000)]
Add missing const

llvm-svn: 202074

10 years agoTrivial code simplification
Matt Arsenault [Mon, 24 Feb 2014 21:01:15 +0000 (21:01 +0000)]
Trivial code simplification

llvm-svn: 202073

10 years agoPass through context for DiagHandler in VFS
Ben Langmuir [Mon, 24 Feb 2014 20:56:37 +0000 (20:56 +0000)]
Pass through context for DiagHandler in VFS

This allows the unit tests to not use global state when checking
diagnostics.

llvm-svn: 202072

10 years agoIf preprocessing results in a token with leading whitespace that was expanded
Richard Smith [Mon, 24 Feb 2014 20:50:36 +0000 (20:50 +0000)]
If preprocessing results in a token with leading whitespace that was expanded
from a macro in column 0, ensure that we print whitespace before it in the -E
output. Patch by Harald van Dijk!

llvm-svn: 202070

10 years agoFollow up to r201927: remove the Sema::InFunctionDeclarator field.
Peter Collingbourne [Mon, 24 Feb 2014 20:45:14 +0000 (20:45 +0000)]
Follow up to r201927: remove the Sema::InFunctionDeclarator field.

llvm-svn: 202069

10 years agoIf the first token in a macro that appears at the start of a line expands to
Richard Smith [Mon, 24 Feb 2014 20:45:00 +0000 (20:45 +0000)]
If the first token in a macro that appears at the start of a line expands to
nothing, be sure to inform the *next* token expanded from the macro that it is
now at the start of a line. Patch by Harald van Dijk!

llvm-svn: 202068

10 years agoSLPVectorizer: Try vectorizing 'splat' stores
Arnold Schwaighofer [Mon, 24 Feb 2014 19:52:29 +0000 (19:52 +0000)]
SLPVectorizer: Try vectorizing 'splat' stores

Vectorize sequential stores of a broadcasted value.
5% on eon.

radar://16124699

llvm-svn: 202067

10 years agoDon’t process the stop reply packet as a generic signal if we already figured out...
Jim Ingham [Mon, 24 Feb 2014 19:49:46 +0000 (19:49 +0000)]
Don’t process the stop reply packet as a generic signal if we already figured out what it was from other data in the packet.

llvm-svn: 202066

10 years ago[X86][SchedModel] Add missing scheduling model for SSE related instructions.
Quentin Colombet [Mon, 24 Feb 2014 19:33:51 +0000 (19:33 +0000)]
[X86][SchedModel] Add missing scheduling model for SSE related instructions.

The patch defines new or refines existing generic scheduling classes to match
the behavior of the SSE instructions.
It also maps those scheduling classes on the related SSE instructions.

<rdar://problem/15607571>

llvm-svn: 202065

10 years agoAdd a test for r202059.
Roman Divacky [Mon, 24 Feb 2014 19:24:15 +0000 (19:24 +0000)]
Add a test for r202059.

llvm-svn: 202064

10 years agoObjective-C. Remove an assertion which asserts
Fariborz Jahanian [Mon, 24 Feb 2014 19:10:37 +0000 (19:10 +0000)]
Objective-C. Remove an assertion which asserts
on correctly handled block layout IRGen.
// rdar://16111839

llvm-svn: 202063

10 years agoFix handling of gdbserver binary packets with escape characters.
Steve Pucci [Mon, 24 Feb 2014 19:07:29 +0000 (19:07 +0000)]
Fix handling of gdbserver binary packets with escape characters.

We were not properly handling the escape character 0x7d ('}') in responses
from gdbserver which used the binary protocol.

llvm-svn: 202062

10 years agoLLDB now handles DW_TAG_unspecified_parameters nested inside function prototypes...
Greg Clayton [Mon, 24 Feb 2014 18:53:11 +0000 (18:53 +0000)]
LLDB now handles DW_TAG_unspecified_parameters nested inside function prototypes and we now mark the function prototypes as being variadic.

<rdar://problem/16149526>

llvm-svn: 202061

10 years agoImplement getDwarfEHStackPointer() and initDwarfEHRegSizeTable() for sparcv9.
Roman Divacky [Mon, 24 Feb 2014 18:46:27 +0000 (18:46 +0000)]
Implement getDwarfEHStackPointer() and initDwarfEHRegSizeTable() for sparcv9.

llvm-svn: 202059

10 years agoImplement -fno-short-wchar
Richard Barton [Mon, 24 Feb 2014 18:43:28 +0000 (18:43 +0000)]
Implement -fno-short-wchar

llvm-svn: 202058

10 years agoAdd a dwarf number to the Y register.
Roman Divacky [Mon, 24 Feb 2014 18:41:31 +0000 (18:41 +0000)]
Add a dwarf number to the Y register.

llvm-svn: 202057

10 years agoUpdate for llvm api change.
Rafael Espindola [Mon, 24 Feb 2014 18:21:12 +0000 (18:21 +0000)]
Update for llvm api change.

llvm-svn: 202056

10 years agoUpdate for llvm api change.
Rafael Espindola [Mon, 24 Feb 2014 18:21:04 +0000 (18:21 +0000)]
Update for llvm api change.

llvm-svn: 202055

10 years agoUpdate for LLVM api change.
Rafael Espindola [Mon, 24 Feb 2014 18:20:36 +0000 (18:20 +0000)]
Update for LLVM api change.

llvm-svn: 202054

10 years agoUpdate for llvm api change.
Rafael Espindola [Mon, 24 Feb 2014 18:20:21 +0000 (18:20 +0000)]
Update for llvm api change.

llvm-svn: 202053

10 years agoReplace the F_Binary flag with a F_Text one.
Rafael Espindola [Mon, 24 Feb 2014 18:20:12 +0000 (18:20 +0000)]
Replace the F_Binary flag with a F_Text one.

After this I will set the default back to F_None. The advantage is that
before this patch forgetting to set F_Binary would corrupt a file on windows.
Forgetting to set F_Text produces one that cannot be read in notepad, which
is a better failure mode :-)

llvm-svn: 202052

10 years agoLTO: Add the loop vectorizer to the LTO pipeline.
Arnold Schwaighofer [Mon, 24 Feb 2014 18:19:31 +0000 (18:19 +0000)]
LTO: Add the loop vectorizer to the LTO pipeline.

During the LTO phase LICM will move loop invariant global variables out of loops
(informed by GlobalModRef). This makes more loops countable presenting
opportunity for the loop vectorizer.

Adding the loop vectorizer improves some TSVC benchmarks and twolf/ref dataset
(5%) on x86-64.

radar://15970632

llvm-svn: 202051

10 years agoFix windows unittest I missed in the raw_fd_ostream constructor change.
Rafael Espindola [Mon, 24 Feb 2014 16:40:34 +0000 (16:40 +0000)]
Fix windows unittest I missed in the raw_fd_ostream constructor change.

llvm-svn: 202050

10 years agoFor lcov tests, don't Xfail mips littl endian (mipsel-... and mip64el-...)
Reed Kotler [Mon, 24 Feb 2014 16:33:56 +0000 (16:33 +0000)]
For lcov tests, don't Xfail mips littl endian (mipsel-... and mip64el-...)
targets. Just big endian (mips-... and mips64-...)

llvm-svn: 202049

10 years agoUpdate for llvm API change.
Rafael Espindola [Mon, 24 Feb 2014 16:26:33 +0000 (16:26 +0000)]
Update for llvm API change.

llvm-svn: 202048

10 years ago[Win32 ABI] Defer operator delete checks until vtable is marked used
Hans Wennborg [Mon, 24 Feb 2014 15:58:24 +0000 (15:58 +0000)]
[Win32 ABI] Defer operator delete checks until vtable is marked used

We were previously checking at every destructor declaration, but that was a bit
excessive. Since the deleting destructor is emitted with the vtable, do the
check when the vtable is marked used.

Differential Revision: http://llvm-reviews.chandlerc.com/D2851

llvm-svn: 202046

10 years agoUpdate for llvm api change.
Rafael Espindola [Mon, 24 Feb 2014 15:41:44 +0000 (15:41 +0000)]
Update for llvm api change.

llvm-svn: 202045

10 years agoRemove TestConnectRemote decorator for FreeBSD
Ed Maste [Mon, 24 Feb 2014 15:10:00 +0000 (15:10 +0000)]
Remove TestConnectRemote decorator for FreeBSD

Failure is not reproducible on ToT LLDB locally or on the buildbot.

llvm.org/pr18313

llvm-svn: 202043

10 years agoDon't make F_None the default.
Rafael Espindola [Mon, 24 Feb 2014 15:07:20 +0000 (15:07 +0000)]
Don't make F_None the default.

This will make it easier to switch the default to being binary files.

llvm-svn: 202042

10 years ago[CMake] Remove dependency on non-existing profile_rt-shared. Patch by Brad King.
Alexey Samsonov [Mon, 24 Feb 2014 15:07:06 +0000 (15:07 +0000)]
[CMake] Remove dependency on non-existing profile_rt-shared. Patch by Brad King.

llvm-svn: 202041

10 years agoDon't assume that F_None is the default. It is about to change.
Rafael Espindola [Mon, 24 Feb 2014 15:06:52 +0000 (15:06 +0000)]
Don't assume that F_None is the default. It is about to change.

llvm-svn: 202040

10 years agoDon't assume that F_None is the default. It is about to change.
Rafael Espindola [Mon, 24 Feb 2014 15:06:34 +0000 (15:06 +0000)]
Don't assume that F_None is the default. It is about to change.

llvm-svn: 202039

10 years ago[asan] Add a test for interceptors in shared libraries.
Evgeniy Stepanov [Mon, 24 Feb 2014 14:31:28 +0000 (14:31 +0000)]
[asan] Add a test for interceptors in shared libraries.

llvm-svn: 202037

10 years agoFix ptrace log on i386 and include return value
Ed Maste [Mon, 24 Feb 2014 14:07:45 +0000 (14:07 +0000)]
Fix ptrace log on i386 and include return value

Patch by Matthew Gardiner

llvm-svn: 202036

10 years agoClarifying the wording for the noduplicate attribute.
Aaron Ballman [Mon, 24 Feb 2014 13:46:15 +0000 (13:46 +0000)]
Clarifying the wording for the noduplicate attribute.

Patch by Marcello Maggioni!

llvm-svn: 202035

10 years ago[asan] remove test that should have been removed in r202033
Kostya Serebryany [Mon, 24 Feb 2014 13:44:24 +0000 (13:44 +0000)]
[asan] remove test that should have been removed in r202033

llvm-svn: 202034

10 years ago[asan] simplify the code that compute the shadow offset; get rid of two internal...
Kostya Serebryany [Mon, 24 Feb 2014 13:40:24 +0000 (13:40 +0000)]
[asan] simplify the code that compute the shadow offset; get rid of two internal flags that allowed to override it. The tests pass, but still this change might break asan on some platform not covered by tests. If you see this, please submit a fix with a test.

llvm-svn: 202033

10 years agoFix linking and get the build working on OS X
Alp Toker [Mon, 24 Feb 2014 12:29:14 +0000 (12:29 +0000)]
Fix linking and get the build working on OS X

No version of clang installed by XCode, ToT or otherwise recognizes the flag
'-no-intel-extensions' and more recent versions error out on it.

Prospectively conditionalize the flag behind "icc" to fix the mainline build
with clang.

llvm-svn: 202030

10 years agoFix clang compiler detection on OS X
Alp Toker [Mon, 24 Feb 2014 12:29:09 +0000 (12:29 +0000)]
Fix clang compiler detection on OS X

check-tools.pl was hard-wired to expect the Apple compiler version string which
doesn't make much sense, especially for a LLVM project.

The correctness and value of these compiler version checks still isn't clear
following this build fix but they are retained for now.

llvm-svn: 202029

10 years agoPatch for fixing the handling of hardware breakpoints.
Deepak Panickal [Mon, 24 Feb 2014 11:50:46 +0000 (11:50 +0000)]
Patch for fixing the handling of hardware breakpoints.
Differential Revision: http://llvm-reviews.chandlerc.com/D2826

llvm-svn: 202028

10 years agoclang build fix: don't check for gnu tools by default
Alp Toker [Mon, 24 Feb 2014 11:47:00 +0000 (11:47 +0000)]
clang build fix: don't check for gnu tools by default

gcc/g++ don't exist on modern OS X development environments so the failed
checks for gcc were causing the build to break even with 'make compiler=clang'.

(The rationale for the check refers to a file 'touch-test.c' which no longer
exists in the codebase.)

llvm-svn: 202027

10 years ago[tsan] one more test for deadlock detector
Kostya Serebryany [Mon, 24 Feb 2014 11:45:47 +0000 (11:45 +0000)]
[tsan] one more test for deadlock detector

llvm-svn: 202026

10 years ago[asan] A test was reverted, but not "svn rm"-ed in r202016.
Evgeniy Stepanov [Mon, 24 Feb 2014 11:43:47 +0000 (11:43 +0000)]
[asan] A test was reverted, but not "svn rm"-ed in r202016.

llvm-svn: 202025

10 years agoAdd AArch64 big endian Target (aarch64_be)
Christian Pirker [Mon, 24 Feb 2014 11:34:50 +0000 (11:34 +0000)]
Add AArch64 big endian Target (aarch64_be)

llvm-svn: 202024

10 years ago[CMake] Better support for COMPILER_RT_ENABLE_WERROR. Make sure compiler-rt libraries...
Alexey Samsonov [Mon, 24 Feb 2014 11:32:49 +0000 (11:32 +0000)]
[CMake] Better support for COMPILER_RT_ENABLE_WERROR. Make sure compiler-rt libraries are build by 'make all' command

llvm-svn: 202023

10 years agotsan: fix SIGRTMAX handling
Dmitry Vyukov [Mon, 24 Feb 2014 11:28:59 +0000 (11:28 +0000)]
tsan: fix SIGRTMAX handling

llvm-svn: 202022

10 years ago[CMake] Introduce COMPILER_RT_ENABLE_WERROR option
Alexey Samsonov [Mon, 24 Feb 2014 11:22:39 +0000 (11:22 +0000)]
[CMake] Introduce COMPILER_RT_ENABLE_WERROR option

llvm-svn: 202021

10 years agoFix AST matcher documentation for overloaded matchers.
Manuel Klimek [Mon, 24 Feb 2014 10:40:22 +0000 (10:40 +0000)]
Fix AST matcher documentation for overloaded matchers.

Before this patch we would only use the fist occurance of a matcher
function in the documentation, for example leaving out
hasType(Matcher<QualType>).

llvm-svn: 202019

10 years agoFix typos
Alp Toker [Mon, 24 Feb 2014 10:40:15 +0000 (10:40 +0000)]
Fix typos

llvm-svn: 202018

10 years agoFix docs generation for the AST matchers:
Manuel Klimek [Mon, 24 Feb 2014 10:28:36 +0000 (10:28 +0000)]
Fix docs generation for the AST matchers:

1. Move internal functions into ASTMatchersInternal.
2. Adapt dump_ast_matchers.py to the new VariadicOperatorMatcherFunc
   signature.
3. Update the actual docs with the updated tool / code.

llvm-svn: 202017

10 years agoRevert r202014.
Evgeniy Stepanov [Mon, 24 Feb 2014 10:21:44 +0000 (10:21 +0000)]
Revert r202014.

Failing on the bots for an unknown reason.

llvm-svn: 202016

10 years agoAVX-512: Fixed encoding of VPCMPEQ and VPCMPGT
Elena Demikhovsky [Mon, 24 Feb 2014 10:08:30 +0000 (10:08 +0000)]
AVX-512: Fixed encoding of VPCMPEQ and VPCMPGT

llvm-svn: 202015

10 years ago[asan] Add a test for interceptors in shared libraries.
Evgeniy Stepanov [Mon, 24 Feb 2014 10:04:42 +0000 (10:04 +0000)]
[asan] Add a test for interceptors in shared libraries.

llvm-svn: 202014

10 years ago[asan] Avoid hardcoding library path in test binary.
Evgeniy Stepanov [Mon, 24 Feb 2014 10:03:33 +0000 (10:03 +0000)]
[asan] Avoid hardcoding library path in test binary.

llvm-svn: 202013

10 years agoASTMatchers: added CXXMethodDecl matcher isPure()
Dmitri Gribenko [Mon, 24 Feb 2014 09:27:46 +0000 (09:27 +0000)]
ASTMatchers: added CXXMethodDecl matcher isPure()

The isPure() CXXMethodDecl matcher matches pure method declaration like "A::x"
in this example:

class A {
  virtual void x() = 0;
}

Patch by Konrad Kleine.

llvm-svn: 202012

10 years agoAdjustStackSizeLinux() is used in Lsan, Tsan and Msan non-Linux-specific code so...
Kostya Serebryany [Mon, 24 Feb 2014 08:53:26 +0000 (08:53 +0000)]
AdjustStackSizeLinux() is used in Lsan, Tsan and Msan non-Linux-specific code so it seems it should have more generic name and moved to a common scope.
Renamed to AdjustStackSize.
Patch by Viktor Kutuzov.

llvm-svn: 202011

10 years agoDead code elimination: Schedule another approximative step before actual DCE
Tobias Grosser [Mon, 24 Feb 2014 08:52:20 +0000 (08:52 +0000)]
Dead code elimination: Schedule another approximative step before actual DCE

In 'obsequi' we have a scop in which the current dead code elimination works,
but the generated code is way too complex. To avoid this trouble (and to not
disable the DCE entirely) we add an additional approximative step before
the actual dead code elimination. This should fix one of the two current
nightly-test issues.

Polly could be improved to handle 'obsequi' by teaching it to introduce only a
single parameter for (%1 and zext %1) which halves the number of parameters and
allows polly to derive a simpler representation for the set of live iterations.
However, this needs some time to investigate.

I will commit a test case as soon as we have a reduced one.

llvm-svn: 202010

10 years ago[sanitizer] Interception macros for sanitizers on FreeBSD; patch by Viktor Kutuzov
Kostya Serebryany [Mon, 24 Feb 2014 08:37:41 +0000 (08:37 +0000)]
[sanitizer] Interception macros for sanitizers on FreeBSD; patch by Viktor Kutuzov

llvm-svn: 202009

10 years agotsan: fix compiler warning
Dmitry Vyukov [Mon, 24 Feb 2014 08:19:53 +0000 (08:19 +0000)]
tsan: fix compiler warning
error: address of array 'tctx->name' will always evaluate to 'true'

llvm-svn: 202008

10 years agoAdd driver test for multiple preprocessor inputs
Alp Toker [Mon, 24 Feb 2014 08:17:02 +0000 (08:17 +0000)]
Add driver test for multiple preprocessor inputs

Fix an unintentional stdin read in the darwin-asan-nofortify.c test and replace
it with an explicit test for multiple -E inputs passed to the driver.

Noticed while working on the in-process driver patch.

llvm-svn: 202007

10 years agoUse a more conventional logical op instead of bitwise and
Alp Toker [Mon, 24 Feb 2014 04:35:58 +0000 (04:35 +0000)]
Use a more conventional logical op instead of bitwise and

llvm-svn: 202006

10 years agoShare a createUniqueEntity implementation between unix and windows.
Rafael Espindola [Mon, 24 Feb 2014 03:07:41 +0000 (03:07 +0000)]
Share a createUniqueEntity implementation between unix and windows.

The only extra bit of functionality that had to be exposed for this be be
implemented in Path.cpp is opening a file in rw mode.

llvm-svn: 202005

10 years ago[AArch64] Change int64_t from 'long long int' to 'long int' for AArch64 target.
Kevin Qin [Mon, 24 Feb 2014 02:45:03 +0000 (02:45 +0000)]
[AArch64] Change int64_t from 'long long int' to 'long int' for AArch64 target.

Most 64-bit targets define int64_t as long int, and AArch64 should
make same definition to follow LP64 model. In GNU tool chain, int64_t
is defined as long int for 64-bit target. So to get consistent with GNU,
it's better Changing int64_t from 'long long int' to 'long int',
otherwise clang will get different name mangling suffix compared with g++.

llvm-svn: 202004

10 years agoUpdate __cplusplus to match the value in the C++14 DIS preview (D3937).
Richard Smith [Mon, 24 Feb 2014 01:35:45 +0000 (01:35 +0000)]
Update __cplusplus to match the value in the C++14 DIS preview (D3937).

llvm-svn: 202003

10 years agoDo not put instrumentation counters before phis in ObjC for-in loops.
Bob Wilson [Mon, 24 Feb 2014 01:13:09 +0000 (01:13 +0000)]
Do not put instrumentation counters before phis in ObjC for-in loops.

We still don't use the PGO to set branch weights for these loops, but at
least this keeps the compiler from crashing. <rdar://problem/16137778>

llvm-svn: 202002

10 years agoDelete dead code.
Rafael Espindola [Mon, 24 Feb 2014 01:07:38 +0000 (01:07 +0000)]
Delete dead code.

llvm-svn: 202001

10 years agocodegen: Update LoopInfo correctly
Tobias Grosser [Mon, 24 Feb 2014 00:50:49 +0000 (00:50 +0000)]
codegen: Update LoopInfo correctly

Add the 'polly.start' basic block to the loop that surrounds the scop we just
codegenerate.

This fixes PR13441

llvm-svn: 202000

10 years agoAsm Parser: support .error directive
Saleem Abdulrasool [Sun, 23 Feb 2014 23:02:23 +0000 (23:02 +0000)]
Asm Parser: support .error directive

The .error directive is similar to .err in that it will halt assembly if it is
evaluated for assembly.  However, it permits a user supplied message to be
rendered.

llvm-svn: 201999

10 years agoAsmParser: support .ifeqs directive
Saleem Abdulrasool [Sun, 23 Feb 2014 23:02:18 +0000 (23:02 +0000)]
AsmParser: support .ifeqs directive

The .ifeqs directive assembles the following code if the quoted string
parameters are equal.  The strings must be quoted using double quotes.

llvm-svn: 201998

10 years agoCloog: Compute simple hulls during code generation
Tobias Grosser [Sun, 23 Feb 2014 22:39:37 +0000 (22:39 +0000)]
Cloog: Compute simple hulls during code generation

Sven suggested to use this simpler code generation strategy as the convex_hull
computation is apparently rather inefficient. We do not have a test case that
shows a difference, but, in case we find a test case where this makes a
difference, we can reconsider our decission.

llvm-svn: 201997

10 years agoSPARC: Implement TRAP lowering. Matches what GCC emits.
Benjamin Kramer [Sun, 23 Feb 2014 21:43:52 +0000 (21:43 +0000)]
SPARC: Implement TRAP lowering. Matches what GCC emits.

llvm-svn: 201994

10 years ago[Index] Make the USRs more stable.
Argyrios Kyrtzidis [Sun, 23 Feb 2014 18:23:29 +0000 (18:23 +0000)]
[Index] Make the USRs more stable.

- Only include offsets with local (in function scope) symbols, where we don't encode scoping
- Only include the filename with non-system symbols. Presumably the system headers will not provide conflicting definitions.

rdar://15976823

llvm-svn: 201990

10 years agoARMAsmParser: whitespace
Saleem Abdulrasool [Sun, 23 Feb 2014 17:45:36 +0000 (17:45 +0000)]
ARMAsmParser: whitespace

llvm-svn: 201989

10 years agoARM IAS: support .align without parameters
Saleem Abdulrasool [Sun, 23 Feb 2014 17:45:32 +0000 (17:45 +0000)]
ARM IAS: support .align without parameters

.align is handled specially on certain targets.  .align without any parameters
on ARM indicates a default alignment (4).  Handle the special case in the target
parser, but fall back to the generic parser for the normal version.

llvm-svn: 201988

10 years agoFixing the indentation of the RST content in the release notes. Fixes two warnings...
Aaron Ballman [Sun, 23 Feb 2014 16:27:21 +0000 (16:27 +0000)]
Fixing the indentation of the RST content in the release notes. Fixes two warnings when building the HTML content and improves the format of the resulting content.

llvm-svn: 201987

10 years agoMCAsmParser: support .ifne
Saleem Abdulrasool [Sun, 23 Feb 2014 15:53:41 +0000 (15:53 +0000)]
MCAsmParser: support .ifne

The .ifne directive assembles the following section of code if the argument
expression is non-zero.  Effectively, it is equivalent to if.

llvm-svn: 201986

10 years agoMCAsmParser: handle space properly for .ifc/.ifnc
Saleem Abdulrasool [Sun, 23 Feb 2014 15:53:36 +0000 (15:53 +0000)]
MCAsmParser: handle space properly for .ifc/.ifnc

If the strings are not quoted, the first string stops at the first comma, and
the second string stops at the end of the line.  Strings which contain
whitespace should be quoted.  Unquoted space is to be discarded.

llvm-svn: 201985

10 years agoMCAsmParser: add support for .err directive
Saleem Abdulrasool [Sun, 23 Feb 2014 15:53:30 +0000 (15:53 +0000)]
MCAsmParser: add support for .err directive

The .err directive produces an error whenever it is assembled.  This can be
useful for preventing assembly when an unexpected condition occurs.

llvm-svn: 201984

10 years agoUse static instead of an anonymous namespace.
Rafael Espindola [Sun, 23 Feb 2014 15:16:03 +0000 (15:16 +0000)]
Use static instead of an anonymous namespace.

llvm-svn: 201983

10 years agoDo not fail in case we do not have valid dependences
Tobias Grosser [Sun, 23 Feb 2014 15:15:44 +0000 (15:15 +0000)]
Do not fail in case we do not have valid dependences

In case we do not have valid dependences, we do not run dead code elimination or
the schedule optimizer. This fixes an infinite loop in the dead code
elimination (PR12110).

llvm-svn: 201982

10 years agoSema: Simplify away one-iteration loops.
Benjamin Kramer [Sun, 23 Feb 2014 14:34:50 +0000 (14:34 +0000)]
Sema: Simplify away one-iteration loops.

No functionality change.

llvm-svn: 201981

10 years agoAVX-512: Fixed encoding of VPTESTMQ
Elena Demikhovsky [Sun, 23 Feb 2014 14:28:35 +0000 (14:28 +0000)]
AVX-512: Fixed encoding of VPTESTMQ

llvm-svn: 201980

10 years agoSimplify remove, create_directory and create_directories.
Rafael Espindola [Sun, 23 Feb 2014 13:56:14 +0000 (13:56 +0000)]
Simplify remove, create_directory and create_directories.

Before this patch they would take an boolean argument to say if the path
already existed. This was redundant with the returned error_code which is able
to represent that. This allowed for callers to incorrectly check only the
existed flag instead of first checking the error code.

Instead, pass in a boolean flag to say if the previous (non-)existence should be
an error or not.

Callers of the of the old simple versions are not affected. They still ignore
the previous (non-)existence as they did before.

llvm-svn: 201979

10 years ago[CMake] Resurrect mis-dropped dependency to ClangDriverOptions since r201842.
NAKAMURA Takumi [Sun, 23 Feb 2014 13:44:09 +0000 (13:44 +0000)]
[CMake] Resurrect mis-dropped dependency to ClangDriverOptions since r201842.

llvm-svn: 201978

10 years ago[CMake] Apply DEPENDS to clangTidy.
NAKAMURA Takumi [Sun, 23 Feb 2014 13:43:01 +0000 (13:43 +0000)]
[CMake] Apply DEPENDS to clangTidy.

llvm-svn: 201977

10 years agoUse simpler form of llvm::sys::fs::remove.
Rafael Espindola [Sun, 23 Feb 2014 13:37:37 +0000 (13:37 +0000)]
Use simpler form of llvm::sys::fs::remove.

llvm-svn: 201975

10 years agoLocalStackSlotAllocation: Turn one-iteration loop into if.
Benjamin Kramer [Sun, 23 Feb 2014 13:34:21 +0000 (13:34 +0000)]
LocalStackSlotAllocation: Turn one-iteration loop into if.

No functionality change.

llvm-svn: 201974

10 years ago[CMake] clang_tblgen: Use add_public_tablegen_target.
NAKAMURA Takumi [Sun, 23 Feb 2014 13:08:07 +0000 (13:08 +0000)]
[CMake] clang_tblgen: Use add_public_tablegen_target.

llvm-svn: 201973

10 years agoTableGen.cmake: Functionalize and reformat.
NAKAMURA Takumi [Sun, 23 Feb 2014 12:54:15 +0000 (12:54 +0000)]
TableGen.cmake: Functionalize and reformat.

llvm-svn: 201972

10 years ago[CMake] Deprecate clang_tablegen(DEPENDS).
NAKAMURA Takumi [Sun, 23 Feb 2014 12:53:45 +0000 (12:53 +0000)]
[CMake] Deprecate clang_tablegen(DEPENDS).

llvm-svn: 201971

10 years ago[PECOFF] Fix uninitialized variable
Nico Rieck [Sun, 23 Feb 2014 10:40:15 +0000 (10:40 +0000)]
[PECOFF] Fix uninitialized variable

llvm-svn: 201970

10 years agoSimplify linking to system libraries
NAKAMURA Takumi [Sun, 23 Feb 2014 06:27:04 +0000 (06:27 +0000)]
Simplify linking to system libraries

The LLVMSupport library implementation consolidates all dependencies on
system libraries.  Move the logic gathering system libraries out of
'cmake/modules/LLVM-Config.cmake' and into 'lib/Support/CMakeLists.txt'.
Use the target_link_libraries() command there to tell CMake about the
link dependencies of the LLVMSupport implementation.  CMake will
automatically propagate this to all targets that link LLVMSupport
directly or indirectly.

We still need to build knowledge of system library dependencies into
'llvm-config'.  Store the list of libraries needed in a property on
LLVMSupport and teach 'tools/llvm-config/CMakeLists.txt' to retrieve it
from there.

Drop all calls to 'link_system_libs' and 'get_system_libs' from our
CMake code.  Replace their implementations with a warning that explains
the calls are no longer necessary.  Also drop from 'LLVMConfig.cmake'
the HAVE_* and related variables that were published there only to allow
'get_system_libs' to run outside our build process.

Contributed by Brad King.

llvm-svn: 201969

10 years agoARM IAS: support .short and .hword
Saleem Abdulrasool [Sun, 23 Feb 2014 06:22:09 +0000 (06:22 +0000)]
ARM IAS: support .short and .hword

This adds support for the .short and its alias .hword for adding literal values
into the object file.  This is similar to the .word directive, however, rather
than inserting a value of 4 bytes, adds a 2-byte value.

llvm-svn: 201968