platform/upstream/llvm.git
8 years agoDocs: update clang-cl command-line documentation
Hans Wennborg [Wed, 12 Aug 2015 19:35:01 +0000 (19:35 +0000)]
Docs: update clang-cl command-line documentation

llvm-svn: 244794

8 years ago[clang-tidy] Make FileOptionsProvider fields protected to make extending it easier
Alexander Kornienko [Wed, 12 Aug 2015 19:29:57 +0000 (19:29 +0000)]
[clang-tidy] Make FileOptionsProvider fields protected to make extending it easier

llvm-svn: 244793

8 years agoRangRangify some more for loops; NFC.
Aaron Ballman [Wed, 12 Aug 2015 19:00:39 +0000 (19:00 +0000)]
RangRangify some more for loops; NFC.

llvm-svn: 244792

8 years agoDon't compare getArchName() to "tce" as a string. NFC.
Douglas Katzman [Wed, 12 Aug 2015 18:36:12 +0000 (18:36 +0000)]
Don't compare getArchName() to "tce" as a string. NFC.

llvm-svn: 244791

8 years agoDocs: keep copyright years up-to-date.
Hans Wennborg [Wed, 12 Aug 2015 18:27:23 +0000 (18:27 +0000)]
Docs: keep copyright years up-to-date.

llvm-svn: 244789

8 years agoStop printing macro backtraces that don't help diagnostics.
Richard Trieu [Wed, 12 Aug 2015 18:24:59 +0000 (18:24 +0000)]
Stop printing macro backtraces that don't help diagnostics.

When displaying the macro backtrace, ignore some of the backtraces that do not
provide extra information to the diagnostic.  Typically, if the problem is
entirely contained within a macro argument, the macro expansion is often not
needed.  Also take into account SourceRange's attached to the diagnostic when
selecting which backtraces to ignore.  Two previous test cases have also been
updated.

Patch by Zhengkai Wu, with minor formatting fixes.

Differential Revision: http://reviews.llvm.org/D11778

llvm-svn: 244788

8 years ago[PM/AA] Add missing static dependency edges from DSE and memdep to TLI.
Chandler Carruth [Wed, 12 Aug 2015 18:10:45 +0000 (18:10 +0000)]
[PM/AA] Add missing static dependency edges from DSE and memdep to TLI.

I forgot to add these in r244780 and r244778. Sorry about that.

Also order the static dependencies in a lexicographical order.

llvm-svn: 244787

8 years agoTry to fix the MSVC build now that we use /Zc:inline.
Rafael Espindola [Wed, 12 Aug 2015 18:09:44 +0000 (18:09 +0000)]
Try to fix the MSVC build now that we use /Zc:inline.

Thanks to Majnemer for the help.

llvm-svn: 244786

8 years ago[PM/AA] Explicitly depend on TLI rather than getting it out of the
Chandler Carruth [Wed, 12 Aug 2015 18:06:08 +0000 (18:06 +0000)]
[PM/AA] Explicitly depend on TLI rather than getting it out of the
AliasAnalysis.

Same as the other commits, the TLI access from an alias analysis is
going away and isn't very clean -- it is better to explicitly mark the
dependencies.

llvm-svn: 244785

8 years agoMake dosep.py PEP8 compliant. NFC.
Chaoren Lin [Wed, 12 Aug 2015 18:02:54 +0000 (18:02 +0000)]
Make dosep.py PEP8 compliant. NFC.

Reviewers: zturner, clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11846

llvm-svn: 244784

8 years agoRefactor dosep to use list comprehension. NFC.
Chaoren Lin [Wed, 12 Aug 2015 18:02:53 +0000 (18:02 +0000)]
Refactor dosep to use list comprehension. NFC.

Reviewers: zturner

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11910

llvm-svn: 244783

8 years agoDon't print number of failures and percentage if no tests ran.
Chaoren Lin [Wed, 12 Aug 2015 18:02:51 +0000 (18:02 +0000)]
Don't print number of failures and percentage if no tests ran.

Reviewers: zturner

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11909

llvm-svn: 244782

8 years agoMake dosep output status by overwriting the same line.
Chaoren Lin [Wed, 12 Aug 2015 18:02:49 +0000 (18:02 +0000)]
Make dosep output status by overwriting the same line.

Summary: Update to D11816.

Reviewers: zturner

Subscribers: zturner, lldb-commits

Differential Revision: http://reviews.llvm.org/D11843

llvm-svn: 244781

8 years ago[PM/AA] Stop getting the TargetLibraryInfo out of the AliasAnalysis and
Chandler Carruth [Wed, 12 Aug 2015 18:01:44 +0000 (18:01 +0000)]
[PM/AA] Stop getting the TargetLibraryInfo out of the AliasAnalysis and
just depend on it directly.

This was particularly frustrating because there was a really wide
mixture of using a member variable and re-extracting it from the AA that
happened to be around. I think the result is much more clear.

I've also deleted all of the pointless null checks and used references
across the APIs where I could to make it explicit that this cannot be
null in a useful fashion.

llvm-svn: 244780

8 years agoWebAssembly: floating-point comparisons
JF Bastien [Wed, 12 Aug 2015 17:53:29 +0000 (17:53 +0000)]
WebAssembly: floating-point comparisons

Summary:
D11924 implemented part of the floating-point comparisons, this patch implements the rest:
 * Tell ISelLowering that all booleans are either 0 or 1.
 * Expand the eq/ne/lt/le/gt/ge floating-point comparisons to the canonical ones (similar to what Mips32r6InstrInfo.td does).
 * Add tests for ord/uno.
 * Add tests for ueq/one/ult/ule/ugt/uge.
 * Fix existing comparison tests to remove the (res & 1) code, which setBooleanContents stops from generating.

Reviewers: sunfish

Subscribers: llvm-commits, jfb

Differential Revision: http://reviews.llvm.org/D11970

llvm-svn: 244779

8 years ago[PM/AA] Have memdep explicitly get and use TargetLibraryInfo rather than
Chandler Carruth [Wed, 12 Aug 2015 17:47:44 +0000 (17:47 +0000)]
[PM/AA] Have memdep explicitly get and use TargetLibraryInfo rather than
relying on sneaking it out of its AliasAnalysis.

This abuse of AA (to shuffle TLI around rather than explicitly depending
on it) is going away with my refactor of AA.

llvm-svn: 244778

8 years agoUse /Zc:inline when building with MSVC.
Rafael Espindola [Wed, 12 Aug 2015 17:09:25 +0000 (17:09 +0000)]
Use /Zc:inline when building with MSVC.

This reduces the total .obj size when building llvm from
496,690,342 to 219,334,936 bytes.

llvm-svn: 244767

8 years agoCleaned up test. NFCI.
Simon Pilgrim [Wed, 12 Aug 2015 17:00:50 +0000 (17:00 +0000)]
Cleaned up test. NFCI.

llvm-svn: 244765

8 years ago[LoopVer] Optionally allow using memchecks from LAA
Adam Nemet [Wed, 12 Aug 2015 16:51:19 +0000 (16:51 +0000)]
[LoopVer] Optionally allow using memchecks from LAA

r243382 changed the behavior to always require a set of memchecks to be
passed to LoopVer.  This change restores the prior behavior as an
alternative to the new behavior.  This allows the checks to be
implicitly taken from the LAA object.

Patch by Ashutosh Nema!

llvm-svn: 244763

8 years agoReleaseNotes: Small version nbr fix
Hans Wennborg [Wed, 12 Aug 2015 16:40:42 +0000 (16:40 +0000)]
ReleaseNotes: Small version nbr fix

llvm-svn: 244761

8 years agoThe alias.c test now requires arm-registered-target
John Brawn [Wed, 12 Aug 2015 15:55:55 +0000 (15:55 +0000)]
The alias.c test now requires arm-registered-target

This should fix a buildbot failure

llvm-svn: 244760

8 years agoRemove printf most likely left from some debugging section
Tamas Berghammer [Wed, 12 Aug 2015 15:55:04 +0000 (15:55 +0000)]
Remove printf most likely left from some debugging section

llvm-svn: 244759

8 years agoMake sure we increment the reference counter when passing out the isl_pw_aff
Tobias Grosser [Wed, 12 Aug 2015 15:45:41 +0000 (15:45 +0000)]
Make sure we increment the reference counter when passing out the isl_pw_aff

llvm-svn: 244758

8 years agoMake the dimension sizes of in ScopArrayInfo available as isl_pw_affs
Tobias Grosser [Wed, 12 Aug 2015 15:27:16 +0000 (15:27 +0000)]
Make the dimension sizes of in ScopArrayInfo available as isl_pw_affs

This makes it easier to reason about the size of an array dimension with isl.

llvm-svn: 244757

8 years agoAdd test for PR24379
John Brawn [Wed, 12 Aug 2015 15:15:27 +0000 (15:15 +0000)]
Add test for PR24379

The fix for this is in LLVM but it depends on how clang handles the alias
attribute, so add a test to the clang tests to make sure everything works
together as expected.

Differential Revision: http://reviews.llvm.org/D11980

llvm-svn: 244756

8 years ago80-cols; NFC
Sanjay Patel [Wed, 12 Aug 2015 15:12:25 +0000 (15:12 +0000)]
80-cols; NFC

llvm-svn: 244755

8 years ago[ValueTracking] Tweak a comment slightly
James Molloy [Wed, 12 Aug 2015 15:11:43 +0000 (15:11 +0000)]
[ValueTracking] Tweak a comment slightly

Hal asked for this change in D11146, but I missed it when I committed originally.

llvm-svn: 244754

8 years agofix typo; NFC
Sanjay Patel [Wed, 12 Aug 2015 15:09:09 +0000 (15:09 +0000)]
fix typo; NFC

llvm-svn: 244753

8 years agoRedo "Make global aliases have symbol size equal to their type"
John Brawn [Wed, 12 Aug 2015 15:05:39 +0000 (15:05 +0000)]
Redo "Make global aliases have symbol size equal to their type"

r242520 was reverted in r244313 as the expected behaviour of the alias
attribute in C is that the alias has the same size as the aliasee. However
we can re-introduce adding the size on the alias when the aliasee does not,
from a source code or object perspective, exist as a discrete entity. This
happens when the aliasee is not a symbol, or when that symbol is private.

Differential Revision: http://reviews.llvm.org/D11943

llvm-svn: 244752

8 years agoThe version of libxml2 required by c-index-test must be at least 2.5.3. Considering...
Aaron Ballman [Wed, 12 Aug 2015 15:01:15 +0000 (15:01 +0000)]
The version of libxml2 required by c-index-test must be at least 2.5.3. Considering that this version was released in 2003, you might think the check a bit ridiculous. Unfortunately, GnuWin32 ships with libxml2 2.4.12, which was released in 2001.

This allows us to have GnuWin32 on the PATH on Windows without causing compilation errors.

llvm-svn: 244751

8 years agoFix AArch64 watchpoint handlers in NativeRegisterContextLinux_arm64
Omair Javaid [Wed, 12 Aug 2015 13:42:24 +0000 (13:42 +0000)]
Fix AArch64 watchpoint handlers in NativeRegisterContextLinux_arm64

http://reviews.llvm.org/D11899

llvm-svn: 244750

8 years agoRangify some for loops; NFC.
Aaron Ballman [Wed, 12 Aug 2015 13:38:59 +0000 (13:38 +0000)]
Rangify some for loops; NFC.

llvm-svn: 244749

8 years ago[GlobalMerge] Only emit aliases for internal linkage variables for non-Mach-O
John Brawn [Wed, 12 Aug 2015 13:36:48 +0000 (13:36 +0000)]
[GlobalMerge] Only emit aliases for internal linkage variables for non-Mach-O

On Mach-O emitting aliases for the variables that make up a MergedGlobals
variable can cause problems when linking with dead stripping enabled so don't
do that, except for external variables where we must emit an alias.

llvm-svn: 244748

8 years ago[ELF] Remove TargetLayout::getCustomSegments methods
Denis Protivensky [Wed, 12 Aug 2015 13:27:27 +0000 (13:27 +0000)]
[ELF] Remove TargetLayout::getCustomSegments methods

llvm-svn: 244747

8 years agoLazily initialize HeaderFilter in ClangTidyDiagnosticConsumer. This
Daniel Jasper [Wed, 12 Aug 2015 13:16:41 +0000 (13:16 +0000)]
Lazily initialize HeaderFilter in ClangTidyDiagnosticConsumer. This
removes a corner case in tests that don't set the diagnostic consumer.
In tests, it is good, not to set the diagnostic consumer so that Clang's
parsing diagnostics are still displayed in the test output and only
ClangTidy's output is analyzed differently.

llvm-svn: 244745

8 years ago[mips][microMIPS] Create microMIPS64r6 subtarget and implement DALIGN, DAUI, DAHI...
Zoran Jovanovic [Wed, 12 Aug 2015 12:45:16 +0000 (12:45 +0000)]
[mips][microMIPS] Create microMIPS64r6 subtarget and implement DALIGN, DAUI, DAHI, DATI, DEXT, DEXTM and DEXTU instructions
Differential Revision: http://reviews.llvm.org/D10923

llvm-svn: 244744

8 years ago[LinkerScript] Process program header in PHDRS command
Denis Protivensky [Wed, 12 Aug 2015 12:31:35 +0000 (12:31 +0000)]
[LinkerScript] Process program header in PHDRS command

Add PT_PHDR segment depending on its availability in linker script's
PHDRS command, fallback if no linker script is given.
Handle FILEHDR, PHDRS and FLAGS attributes of program header.

Differential Revision: http://reviews.llvm.org/D11589

llvm-svn: 244743

8 years agoFix read only watchpoints on x86_64
Tamas Berghammer [Wed, 12 Aug 2015 12:22:42 +0000 (12:22 +0000)]
Fix read only watchpoints on x86_64

On x86/x86_64 read only watchpoints aren't supported. Fall back
to read/write watchpoints in that case.

Note: Logic should be added to ignore the watchpoint hit when
occurred because of a write.

llvm-svn: 244742

8 years agoFix LLGS to enable read type watchpoints
Omair Javaid [Wed, 12 Aug 2015 11:30:21 +0000 (11:30 +0000)]
Fix LLGS to enable read type watchpoints
http://reviews.llvm.org/D11902

llvm-svn: 244741

8 years ago[X86] Disable mul -> shl + lea combine when compiling for minsize
Michael Kuperstein [Wed, 12 Aug 2015 11:27:26 +0000 (11:27 +0000)]
[X86] Disable mul -> shl + lea combine when compiling for minsize

Differential Revision: http://reviews.llvm.org/D11904

llvm-svn: 244740

8 years agoImprove check for ASAN callbacks
Tamas Berghammer [Wed, 12 Aug 2015 11:13:11 +0000 (11:13 +0000)]
Improve check for ASAN callbacks

The ASAN callbacks are public symbols so we can search for them
with reading only the symbol table (not the debug info). Whit this
change the attach time for big executables with debug symbols
decreased by a factor of ~4.

Differential revision: http://reviews.llvm.org/D11384

llvm-svn: 244739

8 years agoDownload symbol file for .oat files on android
Tamas Berghammer [Wed, 12 Aug 2015 11:10:25 +0000 (11:10 +0000)]
Download symbol file for .oat files on android

On android .oat files (compiled java code) don't have symbol
information but on SDK 23+ it can be generated by the oatdump tool
(based on the dex information).

This CL adds logic to download this information and store it in the
module cache.

Differential revision: http://reviews.llvm.org/D11936

llvm-svn: 244738

8 years agoFetch SDK version from PlatformAndroid
Tamas Berghammer [Wed, 12 Aug 2015 11:10:19 +0000 (11:10 +0000)]
Fetch SDK version from PlatformAndroid

The SDK version implies the features supported by a given android
device. This version number will be used in future changes to execute
the right command on the device.

Differential revision: http://reviews.llvm.org/D11935

llvm-svn: 244737

8 years agoRemove identity operation from SCEVAffinator
Johannes Doerfert [Wed, 12 Aug 2015 10:58:01 +0000 (10:58 +0000)]
Remove identity operation from SCEVAffinator

llvm-svn: 244736

8 years agoRevert r244459 'Make StmtSet a list'
Johannes Doerfert [Wed, 12 Aug 2015 10:55:52 +0000 (10:55 +0000)]
Revert r244459 'Make StmtSet a list'

llvm-svn: 244735

8 years agoAdd caching to the SCEVAffinator
Johannes Doerfert [Wed, 12 Aug 2015 10:46:33 +0000 (10:46 +0000)]
Add caching to the SCEVAffinator

  While the compile time is not affected by this patch much it will
  allow us to look at all translated expressions after the SCoP is build
  in a convenient way. Additionally, bigger SCoPs or SCoPs with
  repeating complicated expressions might benefit from the cache later
  on.

Reviewers: grosser, Meinersbur

Subscribers: #polly

Differential Revision: http://reviews.llvm.org/D11975

llvm-svn: 244734

8 years ago[FIX] Typo
Johannes Doerfert [Wed, 12 Aug 2015 10:45:20 +0000 (10:45 +0000)]
[FIX] Typo

llvm-svn: 244733

8 years ago[MC] Convert the last test using macho-dump under X86/ to llvm-readobj.
Davide Italiano [Wed, 12 Aug 2015 10:36:16 +0000 (10:36 +0000)]
[MC] Convert the last test using macho-dump under X86/ to llvm-readobj.

llvm-svn: 244732

8 years agoExpose the SCEVAffinator and make it a member of a SCoP (cont'd)
Johannes Doerfert [Wed, 12 Aug 2015 10:28:45 +0000 (10:28 +0000)]
Expose the SCEVAffinator and make it a member of a SCoP (cont'd)

  Added missing documentation and linked to the correct revision.

Differential Revision: http://reviews.llvm.org/D11974

llvm-svn: 244731

8 years agoExpose the SCEVAffinator and make it a member of a SCoP.
Johannes Doerfert [Wed, 12 Aug 2015 10:19:50 +0000 (10:19 +0000)]
Expose the SCEVAffinator and make it a member of a SCoP.

  This change has three major advantages:
    - The ScopInfo becomes smaller.
    - It allows to use the SCEVAffinator from outside the ScopInfo.
    - A member object allows state which in turn allows e.g., caching.

Differential Revision: http://reviews.llvm.org/D9099

llvm-svn: 244730

8 years ago[X86] Allow x86 call frame optimization to fold more loads into pushes
Michael Kuperstein [Wed, 12 Aug 2015 10:14:58 +0000 (10:14 +0000)]
[X86] Allow x86 call frame optimization to fold more loads into pushes

This abstracts away the test for "when can we fold across a MachineInstruction"
into the the MI interface, and changes call-frame optimization use the same test
the peephole optimizer users.

Differential Revision: http://reviews.llvm.org/D11945

llvm-svn: 244729

8 years agoAMDGPU: Fix assert on dbg_value instructions
Matt Arsenault [Wed, 12 Aug 2015 09:04:44 +0000 (09:04 +0000)]
AMDGPU: Fix assert on dbg_value instructions

llvm-svn: 244728

8 years agoMake arc unit work with ninja builds
Johannes Doerfert [Wed, 12 Aug 2015 09:02:20 +0000 (09:02 +0000)]
Make arc unit work with ninja builds

  In order to find the llvm-obj directory it has to be (or a soft link
  to it) at one of the following locations:

    ${POLLY_SRC_DIR}/build
    ${POLLY_SRC_DIR}.build
    ${POLLY_SRC_DIR}-build
    s/${POLLY_SRC_DIR}/src/build

  Alternatively, the environment variable $POLLY_BIN_DIR can point to it.

llvm-svn: 244727

8 years agoAdjusted arc linter config for modern version of arcanist
Johannes Doerfert [Wed, 12 Aug 2015 09:01:16 +0000 (09:01 +0000)]
Adjusted arc linter config for modern version of arcanist

llvm-svn: 244726

8 years agounused variable warning fix.
Simon Pilgrim [Wed, 12 Aug 2015 08:23:36 +0000 (08:23 +0000)]
unused variable warning fix.

llvm-svn: 244725

8 years agoRevert "Revised test to pass under updated dtor callback implementation"
Daniel Jasper [Wed, 12 Aug 2015 08:13:39 +0000 (08:13 +0000)]
Revert "Revised test to pass under updated dtor callback implementation"

This breaks the buildbot:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/19656

llvm-svn: 244724

8 years ago[InstCombine] Move SSE/AVX vector blend folding to instcombiner
Simon Pilgrim [Wed, 12 Aug 2015 08:08:56 +0000 (08:08 +0000)]
[InstCombine] Move SSE/AVX vector blend folding to instcombiner

As discussed in D11886, this patch moves the SSE/AVX vector blend folding to instcombiner from PerformINTRINSIC_WO_CHAINCombine (which allows us to remove this completely).

InstCombiner already had partial support for this, I just had to add support for zero (ConstantAggregateZero) masks and also the case where both selection inputs were the same (allowing us to ignore the mask).

I also moved all the relevant combine tests into InstCombine/blend_x86.ll

Differential Revision: http://reviews.llvm.org/D11934

llvm-svn: 244723

8 years agoReinstantiate better diagnostic, this time with a fatal error so we don't add a depen...
Manuel Klimek [Wed, 12 Aug 2015 07:57:16 +0000 (07:57 +0000)]
Reinstantiate better diagnostic, this time with a fatal error so we don't add a dependency onto gtest from the header.

llvm-svn: 244722

8 years agoAlways model PHI nodes in scop (if not in same nonaffine subregion)
Tobias Grosser [Wed, 12 Aug 2015 07:48:54 +0000 (07:48 +0000)]
Always model PHI nodes in scop (if not in same nonaffine subregion)

Before we only modeled PHI nodes if at least one incoming basic block was itself
part of the region, now we always model them except if all of their operands are
part of a single non-affine subregion which we model as a black-box.

This change only affects PHI nodes in the entry block, that have exactly one
incoming edge. Before this change, we did not model them and as a result code
generation would not know how to code generate them. With this change, code
generation can code generate them like any other PHI node.

This issue was exposed by r244606. Before this change simplifyRegion would have
moved these PHI nodes out of the SCoP, so we would never have tried to code
generate them. We could implement this behavior again, but changing the IR
after the scop has been modeled and transformed always adds a risk of us
invalidating earlier analysis results. It seems more save and overall also more
consistent to just model and handle this one-entry-edge PHI nodes like any
other PHI node in the scop.

Solution proposed by:  Michael Kruse  <llvm@meinersbur.de>

llvm-svn: 244721

8 years agoAdd another test case with trival PHI in entry BB
Michael Kruse [Wed, 12 Aug 2015 07:34:55 +0000 (07:34 +0000)]
Add another test case with trival PHI in entry BB

This one was extracted from the test-suite's pifft and caused a
miscompilation because a scalar was not written to its alloca address.

llvm-svn: 244720

8 years ago[OPENMP] Fix for http://llvm.org/PR24430: clang hangs on invalid input with openmp...
Alexey Bataev [Wed, 12 Aug 2015 07:10:54 +0000 (07:10 +0000)]
[OPENMP] Fix for llvm.org/PR24430: clang hangs on invalid input with openmp directive

Add parsing of openmp directives inside structs/unions in C mode.

llvm-svn: 244719

8 years ago[TableGen] Remove unused constructor.
Craig Topper [Wed, 12 Aug 2015 06:43:10 +0000 (06:43 +0000)]
[TableGen] Remove unused constructor.

llvm-svn: 244718

8 years agoFix CMake error whet llvm-config reports a non-existent source directory.
Eric Fiselier [Wed, 12 Aug 2015 06:36:19 +0000 (06:36 +0000)]
Fix CMake error whet llvm-config reports a non-existent source directory.

llvm-svn: 244717

8 years agoHave debugserver send the OS version string plus
Jason Molenda [Wed, 12 Aug 2015 03:27:33 +0000 (03:27 +0000)]
Have debugserver send the OS version string plus
major, minor, and patchlevel in the qHostInfo reply.
Document that qHostInfo may report major/minor/patch
separately / in addition to the version: combination.

<rdar://problem/22125465>

llvm-svn: 244716

8 years agolibclang: Add period to typedef kind docblock
Saleem Abdulrasool [Wed, 12 Aug 2015 03:21:44 +0000 (03:21 +0000)]
libclang: Add period to typedef kind docblock

All of the other docblocks for the CXCursor_* cursor kind enum values
include documentation that ends with a period. Add a period to the end
of the CXCursor_TypedefDecl documentation to follow this convention.

Patch by Brian Gesiak!

llvm-svn: 244715

8 years ago[modules] Fix thread safety analysis to cope with merging of FieldDecls across modules.
Richard Smith [Wed, 12 Aug 2015 02:17:52 +0000 (02:17 +0000)]
[modules] Fix thread safety analysis to cope with merging of FieldDecls across modules.

llvm-svn: 244714

8 years agoX86: hoist a condition into a variable (NFC)
Saleem Abdulrasool [Wed, 12 Aug 2015 02:01:36 +0000 (02:01 +0000)]
X86: hoist a condition into a variable (NFC)

The same value is used multiple times through the function.  Hoist the condition
into a variable.  This should fix a silly static analysis warning where the
conditions flip around.  No functional change intended.

llvm-svn: 244713

8 years ago[libFuzzer] add two flags, -tbm_depth and -tbm_width to control how the trace-based...
Kostya Serebryany [Wed, 12 Aug 2015 01:55:37 +0000 (01:55 +0000)]
[libFuzzer] add two flags, -tbm_depth and -tbm_width to control how the trace-based-mutations are applied

llvm-svn: 244712

8 years agoFix the alignment of the section headers.
Rafael Espindola [Wed, 12 Aug 2015 01:45:28 +0000 (01:45 +0000)]
Fix the alignment of the section headers.

Thanks a lot to Rui for noticing it.

llvm-svn: 244711

8 years agoExport snprintf to avoid linking error with liblldb on Windows.
Chaoren Lin [Wed, 12 Aug 2015 01:22:24 +0000 (01:22 +0000)]
Export snprintf to avoid linking error with liblldb on Windows.

Reviewers: zturner, ovyalov

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11967

llvm-svn: 244710

8 years agoRevised test to pass under updated dtor callback implementation
Naomi Musgrave [Wed, 12 Aug 2015 01:15:28 +0000 (01:15 +0000)]
Revised test to pass under updated dtor callback implementation

Summary: New implementation for dtor sanitizer callback poisons only class members, and emits poisoning callback before base dtor invoked.

Reviewers: eugenis, kcc

Differential Revision: http://reviews.llvm.org/D11952

Explicit dtor invocation

llvm-svn: 244709

8 years ago[libFuzzer] add colons to the stats output to avoid confusion
Kostya Serebryany [Wed, 12 Aug 2015 01:04:27 +0000 (01:04 +0000)]
[libFuzzer] add colons to the stats output to avoid confusion

llvm-svn: 244708

8 years ago[libFuzzer] use raw C IO to reduce the risk of a deadlock in a signal handler.
Kostya Serebryany [Wed, 12 Aug 2015 00:55:09 +0000 (00:55 +0000)]
[libFuzzer] use raw C IO to reduce the risk of a deadlock in a signal handler.

llvm-svn: 244707

8 years agoDeleted old fixme ( ͡° ͜ʖ ͡°)
Piotr Padlewski [Wed, 12 Aug 2015 00:47:19 +0000 (00:47 +0000)]
Deleted old fixme ( ͡° ͜ʖ ͡°)

http://reviews.llvm.org/D11928

llvm-svn: 244706

8 years ago[x86] enable machine combiner reassociations for 256-bit vector FP mul/add
Sanjay Patel [Wed, 12 Aug 2015 00:29:10 +0000 (00:29 +0000)]
[x86] enable machine combiner reassociations for 256-bit vector FP mul/add

llvm-svn: 244705

8 years ago[LoopDist] Add test for missing coverage
Adam Nemet [Wed, 12 Aug 2015 00:21:59 +0000 (00:21 +0000)]
[LoopDist] Add test for missing coverage

Add a testcase to ensure that if we can't find bounds for a necessary
memcheck we don't distribute.

llvm-svn: 244703

8 years agoELF: Create a string table.
Rafael Espindola [Wed, 12 Aug 2015 00:00:24 +0000 (00:00 +0000)]
ELF: Create a string table.

For now only the sections are in it, but it already makes the output easier
to read and test.

llvm-svn: 244702

8 years agoELF2: Make Defined{Regular,Weak} ctors look the same as other SymbolBody ctors.
Rui Ueyama [Tue, 11 Aug 2015 23:37:25 +0000 (23:37 +0000)]
ELF2: Make Defined{Regular,Weak} ctors look the same as other SymbolBody ctors.

llvm-svn: 244701

8 years agoTemplate ELF's OutputSection.
Rafael Espindola [Tue, 11 Aug 2015 23:34:29 +0000 (23:34 +0000)]
Template ELF's OutputSection.

This removes what I think is the last hard coded ELF64 structure.

llvm-svn: 244700

8 years agoNFC. Fixing a red squiggly line in my editor.
Chris Bieneman [Tue, 11 Aug 2015 23:31:43 +0000 (23:31 +0000)]
NFC. Fixing a red squiggly line in my editor.

llvm-svn: 244699

8 years agoPseudoSourceValue: Transform the mips subclass to target independent subclasses
Alex Lorenz [Tue, 11 Aug 2015 23:23:17 +0000 (23:23 +0000)]
PseudoSourceValue: Transform the mips subclass to target independent subclasses

This commit transforms the mips-specific 'MipsCallEntry' subclass of the
'PseudoSourceValue' class into two, target-independent subclasses named
'GlobalValuePseudoSourceValue' and 'ExternalSymbolPseudoSourceValue'.

This change makes it easier to serialize the pseudo source values by removing
target-specific pseudo source values.

Reviewers: Akira Hatanaka
llvm-svn: 244698

8 years agoMove more code that is local to Writer.cpp to an anonymous namespace.
Rafael Espindola [Tue, 11 Aug 2015 23:22:24 +0000 (23:22 +0000)]
Move more code that is local to Writer.cpp to an anonymous namespace.

llvm-svn: 244697

8 years agoDelete dead code.
Rafael Espindola [Tue, 11 Aug 2015 23:19:06 +0000 (23:19 +0000)]
Delete dead code.

llvm-svn: 244696

8 years agoUntabify.
Eric Christopher [Tue, 11 Aug 2015 23:17:31 +0000 (23:17 +0000)]
Untabify.

llvm-svn: 244695

8 years agoBe a bit more consistent about using uintX_t for offsets and sizes. NFC.
Rafael Espindola [Tue, 11 Aug 2015 23:14:13 +0000 (23:14 +0000)]
Be a bit more consistent about using uintX_t for offsets and sizes. NFC.

llvm-svn: 244694

8 years agoPseudoSourceValue: Replace global manager with a manager in a machine function.
Alex Lorenz [Tue, 11 Aug 2015 23:09:45 +0000 (23:09 +0000)]
PseudoSourceValue: Replace global manager with a manager in a machine function.

This commit removes the global manager variable which is responsible for
storing and allocating pseudo source values and instead it introduces a new
manager class named 'PseudoSourceValueManager'. Machine functions now own an
instance of the pseudo source value manager class.

This commit also modifies the 'get...' methods in the 'MachinePointerInfo'
class to construct pseudo source values using the instance of the pseudo
source value manager object from the machine function.

This commit updates calls to the 'get...' methods from the 'MachinePointerInfo'
class in a lot of different files because those calls now need to pass in a
reference to a machine function to those methods.

This change will make it easier to serialize pseudo source values as it will
enable me to transform the mips specific MipsCallEntry PseudoSourceValue
subclass into two target independent subclasses.

Reviewers: Akira Hatanaka
llvm-svn: 244693

8 years agoAdd test case for entry node with trivial PHI
Michael Kruse [Tue, 11 Aug 2015 23:09:19 +0000 (23:09 +0000)]
Add test case for entry node with trivial PHI

This is a break-down from the test-suite's oggenc where Polly currently
crashes.

llvm-svn: 244692

8 years agoCOFF: Align sections to 512-byte boundaries on disk.
Rui Ueyama [Tue, 11 Aug 2015 23:09:00 +0000 (23:09 +0000)]
COFF: Align sections to 512-byte boundaries on disk.

Sections must start at page boundaries in memory, but they
can be aligned to sector boundaries (512-bytes) on disk.
We aligned them to 4096-byte boundaries even on disk, so we
wasted disk space a bit.

llvm-svn: 244691

8 years ago[LAA] Fix typo in test
Adam Nemet [Tue, 11 Aug 2015 23:03:09 +0000 (23:03 +0000)]
[LAA] Fix typo in test

llvm-svn: 244690

8 years agoClangASTType is now CompilerType.
Greg Clayton [Tue, 11 Aug 2015 22:53:00 +0000 (22:53 +0000)]
ClangASTType is now CompilerType.

This is more preparation for multiple different kinds of types from different compilers (clang, Pascal, Go, RenderScript, Swift, etc).

llvm-svn: 244689

8 years agoPseudoSourceValue: Introduce a 'PSVKind' enumerator.
Alex Lorenz [Tue, 11 Aug 2015 22:32:00 +0000 (22:32 +0000)]
PseudoSourceValue: Introduce a 'PSVKind' enumerator.

This commit introduces a new enumerator named 'PSVKind' in the
'PseudoSourceValue' class. This enumerator is now used to distinguish between
the various kinds of pseudo source values.

This change is done in preparation for the changes to the pseudo source value
object management and to the PseudoSourceValue's class hierarchy - the next two
PseudoSourceValue commits will get rid of the global variable that manages the
pseudo source values and the mips specific MipsCallEntry subclass.

Reviewers: Akira Hatanaka
llvm-svn: 244687

8 years agoPseudoSourceValue: Update comments and fix lowercase variable names. NFC.
Alex Lorenz [Tue, 11 Aug 2015 22:23:19 +0000 (22:23 +0000)]
PseudoSourceValue: Update comments and fix lowercase variable names. NFC.

This commit updates the documentation comments in PseudoSourceValue.cpp and
PseudoSourceValue.h based on the LLVM's documentation style. It also fixes
several instances of variable names that started with a lowercase letter.

This change is done in preparation for the changes to the pseudo source value
object management and to the PseudoSourceValue's class hierarchy.

llvm-svn: 244686

8 years agoReformat PseudoSourceValue.cpp and PseudoSourceValue.h. NFC.
Alex Lorenz [Tue, 11 Aug 2015 22:17:22 +0000 (22:17 +0000)]
Reformat PseudoSourceValue.cpp and PseudoSourceValue.h. NFC.

This commit reformats the files lib/CodeGen/PseudoSourceValue.cpp and
include/llvm/CodeGen/PseudoSourceValue.h using clang-format. This change is
done in preparation for the changes to the pseudo source value object
management and to the PseudoSourceValue's class hierarchy.

llvm-svn: 244685

8 years agoUse 32-bit divides instead of 64-bit divides where possible.
Mark Heffernan [Tue, 11 Aug 2015 22:16:34 +0000 (22:16 +0000)]
Use 32-bit divides instead of 64-bit divides where possible.

For NVPTX, try to use 32-bit division instead of 64-bit division when the dividend and divisor
fit in 32 bits. This speeds up some internal benchmarks significantly. The underlying reason
is that many index computations are carried out in 64-bits but never actually exceed the
capacity of a 32-bit word.

llvm-svn: 244684

8 years agoFix a infinite loop when killing a process that is in the middle of loading shared...
Greg Clayton [Tue, 11 Aug 2015 22:07:46 +0000 (22:07 +0000)]
Fix a infinite loop when killing a process that is in the middle of loading shared libraries.

The issue was we were sending a "qSymbol::" packet and it we were already disconnected were weren't exiting the while loop if we didn't successfully send the qSymbol packet.

<rdar://problem/22098746>

llvm-svn: 244683

8 years ago[modules] When instantiating the contents of an imported CXXRecordDecl, we can
Richard Smith [Tue, 11 Aug 2015 22:00:24 +0000 (22:00 +0000)]
[modules] When instantiating the contents of an imported CXXRecordDecl, we can
emit lexical contents for a declaration for another module. Track which module
those contents came from, and ensure that we only grab the lexical contents
from a single such instantiation.

llvm-svn: 244682

8 years agoAdded missing files from checking regarding:
Greg Clayton [Tue, 11 Aug 2015 21:49:32 +0000 (21:49 +0000)]
Added missing files from checking regarding:

http://reviews.llvm.org/D8712

llvm-svn: 244681

8 years agoELF2: Remove unused global variable.
Rui Ueyama [Tue, 11 Aug 2015 21:45:55 +0000 (21:45 +0000)]
ELF2: Remove unused global variable.

A global variable "Driver" is to re-entry to the driver to parse a
.drectve section. Because the need is COFF-specific, we don't need
this variable for ELF.

llvm-svn: 244680

8 years agoFirst step in getting LLDB ready to support multiple different type systems.
Greg Clayton [Tue, 11 Aug 2015 21:38:15 +0000 (21:38 +0000)]
First step in getting LLDB ready to support multiple different type systems.

This is the work done by Ryan Brown from http://reviews.llvm.org/D8712 that makes a TypeSystem class and abstracts types to be able to use a type system.

All tests pass on MacOSX and passed on linux the last time this was submitted.

llvm-svn: 244679

8 years agoMake DW_AT_[MIPS_]linkage_name optional, and off by default for SCE.
Paul Robinson [Tue, 11 Aug 2015 21:36:45 +0000 (21:36 +0000)]
Make DW_AT_[MIPS_]linkage_name optional, and off by default for SCE.

Mangled "linkage" names can be huge, and if the debugger (or other
tools) have no use for them, the size savings can be very impressive
(on the order of 40%).

Add one test for controlling behavior, and modify a number of tests to
either stop using linkage names, or make llc emit them (so these tests
will still run when the default triple is for PS4).

Differential Revision: http://reviews.llvm.org/D11374

llvm-svn: 244678