platform/upstream/llvm.git
8 years ago[RegionInfo] Fix typo
Michael Kruse [Mon, 10 Aug 2015 13:26:09 +0000 (13:26 +0000)]
[RegionInfo] Fix typo

llvm-svn: 244445

8 years ago[RegionInfo] Add debug-time region viewer functions
Michael Kruse [Mon, 10 Aug 2015 13:21:59 +0000 (13:21 +0000)]
[RegionInfo] Add debug-time region viewer functions

Summary:
Analogously to Function::viewCFG(), RegionInfo::view() and RegionInfo::viewOnly() are meant to be called in debugging sessions. They open a viewer to show how RegionInfo currently understands the region hierarchy.

The functions viewRegion(Function*) and viewRegionOnly(Function*) invoke a fresh region analysis of the function in contrast to viewRegion(RegionInfo*) and viewRegionOnly(RegionInfo*) which show the current analysis result.

Reviewers: grosser

Subscribers: llvm-commits

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

llvm-svn: 244444

8 years ago[Polly] Refactor buildScop
Michael Kruse [Mon, 10 Aug 2015 13:01:57 +0000 (13:01 +0000)]
[Polly] Refactor buildScop

Summary: The extracted function buildBBScopStmt will be needed later to be invoked individually on the region's exit block.

Reviewers: grosser, jdoerfert

Subscribers: jdoerfert, llvm-commits, pollydev

Projects: #polly

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

llvm-svn: 244443

8 years ago[RegionInfo] Use RegionInfo* instead of RegionInfoPass* as graph type
Michael Kruse [Mon, 10 Aug 2015 12:57:23 +0000 (12:57 +0000)]
[RegionInfo] Use RegionInfo* instead of RegionInfoPass* as graph type

This allows printing region graphs when only the RegionInfo (e.g. Region::getRegionInfo()), but no RegionInfoPass object is available.

Specifically, we will use this to print RegionInfo graphs in the debugger.

Differential version: http://reviews.llvm.org/D11874

Reviewed-by: grosser
llvm-svn: 244442

8 years ago[RegionInfo] Update old-style comments
Michael Kruse [Mon, 10 Aug 2015 12:40:41 +0000 (12:40 +0000)]
[RegionInfo] Update old-style comments

Authorized-by: grosser
llvm-svn: 244441

8 years ago[RegionInfo] More descriptive error messages in verifier
Michael Kruse [Mon, 10 Aug 2015 12:28:52 +0000 (12:28 +0000)]
[RegionInfo] More descriptive error messages in verifier

llvm-svn: 244440

8 years agoTrace copies when checking for rematerializability in spill weight calculation
Robert Lougher [Mon, 10 Aug 2015 11:59:44 +0000 (11:59 +0000)]
Trace copies when checking for rematerializability in spill weight calculation

PR24139 contains an analysis of poor register allocation. One of the findings
was that when calculating the spill weight, a rematerializable interval once
split is no longer rematerializable. This is because the isRematerializable
check in CalcSpillWeights.cpp does not follow the copies introduced by live
range splitting (after splitting, the live interval register definition is a
copy which is not rematerializable).

Reviewers: qcolombet

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

llvm-svn: 244439

8 years agoTest commit to verify commit access
Marina Yatsina [Mon, 10 Aug 2015 11:33:10 +0000 (11:33 +0000)]
Test commit to verify commit access

llvm-svn: 244438

8 years ago[Driver] Fix handling of -fbuiltin/-fcommon when combined with -mkernel
John Brawn [Mon, 10 Aug 2015 11:11:28 +0000 (11:11 +0000)]
[Driver] Fix handling of -fbuiltin/-fcommon when combined with -mkernel

-mkernel enables -fno-builtin and -fno-common by default, but allows -fbuiltin
and -fcommon to override that. However "-fbuiltin -fno-builtin" is treated the
same as "-fbuiltin" which is wrong, so fix that. Also fixes similar behaviour
when -fno-common is default.

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

llvm-svn: 244437

8 years agoFeedback from Jim: Change the "optimized code" warning to be entirely
Jason Molenda [Mon, 10 Aug 2015 07:55:25 +0000 (07:55 +0000)]
Feedback from Jim: Change the "optimized code" warning to be entirely
contained within Process so that we won't be duplicating the warning
message if other parts of the code want to issue the message.  Change
Process::PrintWarning to be a protected method - the public method
will be the PrintWarningOptimization et al.  Also, Have
Thread::FunctionOptimizationWarning shortcut out if the warnings
have been disabled so that we don't (potentially) compute parts of
the SymbolContext unnecessarily.

llvm-svn: 244436

8 years ago[Static Analyzer] Warn when inner and outer conditions are identical. The inner condi...
Daniel Marjamaki [Mon, 10 Aug 2015 07:18:29 +0000 (07:18 +0000)]
[Static Analyzer] Warn when inner and outer conditions are identical. The inner condition is always true.

Reviewed in http://reviews.llvm.org/D10892.

llvm-svn: 244435

8 years agoRangify for loop, NFC.
Yaron Keren [Mon, 10 Aug 2015 07:04:29 +0000 (07:04 +0000)]
Rangify for loop, NFC.

llvm-svn: 244434

8 years ago[tests] Remove calls to grep
Filipe Cabecinhas [Mon, 10 Aug 2015 07:01:11 +0000 (07:01 +0000)]
[tests] Remove calls to grep

llvm-svn: 244433

8 years agoReformat headers in ADT and Support partially.
NAKAMURA Takumi [Mon, 10 Aug 2015 04:22:36 +0000 (04:22 +0000)]
Reformat headers in ADT and Support partially.

Note, I didn't reformat entirely, but partially where I touched in previous commits.

llvm-svn: 244432

8 years agoWhitespace.
NAKAMURA Takumi [Mon, 10 Aug 2015 04:22:09 +0000 (04:22 +0000)]
Whitespace.

llvm-svn: 244431

8 years agoReformat linebreaks.
NAKAMURA Takumi [Mon, 10 Aug 2015 04:21:43 +0000 (04:21 +0000)]
Reformat linebreaks.

llvm-svn: 244430

8 years agollvm/include/llvm/Support/Memory.h: Fix comment header.
NAKAMURA Takumi [Mon, 10 Aug 2015 04:21:19 +0000 (04:21 +0000)]
llvm/include/llvm/Support/Memory.h: Fix comment header.

llvm-svn: 244429

8 years ago[MSVC] Crash fix: assigning of overloaded member function pointer caused assertion
Alexey Bataev [Mon, 10 Aug 2015 04:07:49 +0000 (04:07 +0000)]
[MSVC] Crash fix: assigning of overloaded member function pointer caused assertion

Original class was not marked with inheritance attribute and it causes a crash on codegen.
Differential Revision: http://reviews.llvm.org/D11828

llvm-svn: 244428

8 years agoclang/test/Modules: Satisfy win32 hosts due to dospath issue.
NAKAMURA Takumi [Sun, 9 Aug 2015 22:55:50 +0000 (22:55 +0000)]
clang/test/Modules: Satisfy win32 hosts due to dospath issue.

llvm-svn: 244427

8 years ago[TableGen] Make StringInit constructor take a StringRef instead of const std::string...
Craig Topper [Sun, 9 Aug 2015 22:03:04 +0000 (22:03 +0000)]
[TableGen] Make StringInit constructor take a StringRef instead of const std::string&. NFC.

llvm-svn: 244426

8 years agoCOFF: Define symbols for MSVC 2015 Control Flow Protection.
Rui Ueyama [Sun, 9 Aug 2015 21:01:06 +0000 (21:01 +0000)]
COFF: Define symbols for MSVC 2015 Control Flow Protection.

MSVC 2015's load configuration object (__load_config_used) contains
references to these symbols. I don't fully understand how it works,
but looks like these symbols are linker-defined ones. So I define them
here in the Driver. With this patch, LLD can self-host with MSVC 2015.

This patch is to link MSVC 2015-produced object files. It does not
implement Control Flow Protection. If I understand correctly, the
linker has to create a bitmap of function entry point addresses for
the CFG runtime. We don't do that yet. Produced executables will not
be protected by CFG.

llvm-svn: 244425

8 years agoCOFF: Do not fall through if /lib is processed.
Rui Ueyama [Sun, 9 Aug 2015 20:45:17 +0000 (20:45 +0000)]
COFF: Do not fall through if /lib is processed.

llvm-svn: 244424

8 years agoX86: remove a dead store (NFC)
Saleem Abdulrasool [Sun, 9 Aug 2015 20:39:09 +0000 (20:39 +0000)]
X86: remove a dead store (NFC)

The SP was always unconditionally assigned to later, but initialised early.
This delays the initialisation, and avoids the dead store.  Identified by
clang static analysis.  No functional change intended.

llvm-svn: 244423

8 years agoRemove unused `using`.
Rui Ueyama [Sun, 9 Aug 2015 20:38:58 +0000 (20:38 +0000)]
Remove unused `using`.

llvm-svn: 244422

8 years ago[LAA] Remove unused pointer partition argument from needsChecking(), NFC
Adam Nemet [Sun, 9 Aug 2015 20:06:08 +0000 (20:06 +0000)]
[LAA] Remove unused pointer partition argument from needsChecking(), NFC

This is no longer used in any of the callers.  Also remove the logic of
handling this argument.

llvm-svn: 244421

8 years ago[LAA] Remove unused pointer partition argument from generateChecks, NFC
Adam Nemet [Sun, 9 Aug 2015 20:06:06 +0000 (20:06 +0000)]
[LAA] Remove unused pointer partition argument from generateChecks, NFC

LoopDistribution does its own filtering now.

llvm-svn: 244420

8 years agoFix for build errors on arm-linux-gnueabi-gcc
Omair Javaid [Sun, 9 Aug 2015 19:04:41 +0000 (19:04 +0000)]
Fix for build errors on arm-linux-gnueabi-gcc
http://reviews.llvm.org/D11256

llvm-svn: 244419

8 years ago[PHITransAddr] Don't assume that instruction operands are translatable
David Majnemer [Sun, 9 Aug 2015 15:43:02 +0000 (15:43 +0000)]
[PHITransAddr] Don't assume that instruction operands are translatable

We can only PHI translate instructions.  In our attempt to PHI translate
a bitcast, we attempt to translate its operand; however, the operand
might be an argument or a global instead of an instruction.  Benignly
bail out when this happens.

This fixes PR24397.

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

llvm-svn: 244418

8 years ago[modules] Remove now-dead code for lazy loading of files specified by -fmodule-file=.
Richard Smith [Sun, 9 Aug 2015 08:58:36 +0000 (08:58 +0000)]
[modules] Remove now-dead code for lazy loading of files specified by -fmodule-file=.

llvm-svn: 244417

8 years ago[modules] PR22534: Load files specified by -fmodule-file= eagerly. In particular...
Richard Smith [Sun, 9 Aug 2015 08:48:41 +0000 (08:48 +0000)]
[modules] PR22534: Load files specified by -fmodule-file= eagerly. In particular, this avoids the need to re-parse module map files when using such a module.

llvm-svn: 244416

8 years agoUnrevert r244412 (reverted in r244414), and delete the bogus line left behind
Richard Smith [Sun, 9 Aug 2015 06:03:55 +0000 (06:03 +0000)]
Unrevert r244412 (reverted in r244414), and delete the bogus line left behind
in the unit test that was checking a file the test no longer creates.

llvm-svn: 244415

8 years agoRevert "[modules] Don't leak -M flags for dependency file generation into the module"
Justin Bogner [Sun, 9 Aug 2015 05:40:38 +0000 (05:40 +0000)]
Revert "[modules] Don't leak -M flags for dependency file generation into the module"

This was failing tests on a bunch of bots:

http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/29919/steps/check-all
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/29627/steps/check-all
http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/9959/
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/5591/

This reverts r244412

llvm-svn: 244414

8 years ago[modules] When building a dependency file, include module maps parsed in the
Richard Smith [Sun, 9 Aug 2015 04:46:57 +0000 (04:46 +0000)]
[modules] When building a dependency file, include module maps parsed in the
current compilation, not just those from imported modules.

llvm-svn: 244413

8 years ago[modules] Don't leak -M flags for dependency file generation into the module
Richard Smith [Sun, 9 Aug 2015 02:44:20 +0000 (02:44 +0000)]
[modules] Don't leak -M flags for dependency file generation into the module
build process when we implicitly build a module. Previously, we'd create the
specified .d file once for each implicitly-built module and then finally
overwrite it with the correct contents after the requested build completes.
(This fails if you use stdout as a dependency file, which is what the provided
testcase does, and is how I discovered this brokenness.)

llvm-svn: 244412

8 years ago[modules] Attach dependency listeners to the module manager once when it's
Richard Smith [Sun, 9 Aug 2015 02:28:42 +0000 (02:28 +0000)]
[modules] Attach dependency listeners to the module manager once when it's
created, rather than creating and attaching a new listener each time we load a
module file (yes, the old ones were kept around too!). No functionality change
intended, but a bit more sanity.

llvm-svn: 244411

8 years agoAdd file missed from r244409.
Richard Smith [Sun, 9 Aug 2015 01:50:14 +0000 (01:50 +0000)]
Add file missed from r244409.

llvm-svn: 244410

8 years ago[modules] When loading a template specialization, re-canonicalize its template
Richard Smith [Sun, 9 Aug 2015 01:05:31 +0000 (01:05 +0000)]
[modules] When loading a template specialization, re-canonicalize its template
arguments because the reloaded form might have become non-canonical across the
serialization/deserialization step (this particularly happens when the
canonical form of the type involves an expression).

llvm-svn: 244409

8 years ago[IR] Remove unused declaration
David Majnemer [Sun, 9 Aug 2015 00:32:18 +0000 (00:32 +0000)]
[IR] Remove unused declaration

CatchReturnInst::init is never referenced, remove it.
No functionality change is intended.

llvm-svn: 244408

8 years agoTeach mingw toolchain driver to properly emit static or dynamic linking of ligcc.
Yaron Keren [Sun, 9 Aug 2015 00:24:07 +0000 (00:24 +0000)]
Teach mingw toolchain driver to properly emit static or dynamic linking of ligcc.
Implemented in MinGW::Linker::AddLibGCC since AddLibgcc is a logic puzzle even
before adding one more boolean. A first step towards simplification of AddLibgcc
would be to factor out the Android AddLibgcc code into its own routine.

llvm-svn: 244407

8 years agocmake: Error on invalid CMAKE_BUILD_TYPE
Justin Bogner [Sat, 8 Aug 2015 21:04:45 +0000 (21:04 +0000)]
cmake: Error on invalid CMAKE_BUILD_TYPE

Apparently if you make a typo in the argument to CMAKE_BUILD_TYPE,
cmake silently accepts this but doesn't apply any particular build
type to your build. This means you get a build that doesn't really
make any sense - it's sort of a debug build with asserts disabled.

Error out instead.

llvm-svn: 244406

8 years agoFix dangling reference in DwarfLinker.cpp. The original code
Yaron Keren [Sat, 8 Aug 2015 21:03:19 +0000 (21:03 +0000)]
Fix dangling reference in DwarfLinker.cpp. The original code

  Seq.emplace_back(Seq.back());

does not work as planned, since Seq.back() may become a dangling reference
when emplace_back is called and possibly reallocates vector. To avoid this,
the vector allocation should be reserved first and only then used.

This broke test/tools/dsymutil/X86/custom-line-table.test with Visual C++ 2013.

llvm-svn: 244405

8 years ago[Polly] Remove dead code in IndependentBlocks
Michael Kruse [Sat, 8 Aug 2015 20:31:20 +0000 (20:31 +0000)]
[Polly] Remove dead code in IndependentBlocks

Summary: The splitExitBlock function is never called. Going to replace its functionality in successive patches that do not modify the IR.

Reviewers: grosser

Subscribers: pollydev

Projects: #polly

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

llvm-svn: 244404

8 years ago[x86] enable machine combiner reassociations for 128-bit vector single/double adds
Sanjay Patel [Sat, 8 Aug 2015 19:08:20 +0000 (19:08 +0000)]
[x86] enable machine combiner reassociations for 128-bit vector single/double adds

llvm-svn: 244403

8 years agoFix some comment typos.
Benjamin Kramer [Sat, 8 Aug 2015 18:27:36 +0000 (18:27 +0000)]
Fix some comment typos.

llvm-svn: 244402

8 years agoAdd an assertion
Michael Kruse [Sat, 8 Aug 2015 18:10:54 +0000 (18:10 +0000)]
Add an assertion

Check whether a block is a direct predecessor.

llvm-svn: 244401

8 years ago[Static Analyzer] Add --analyzer-target option to scan-build.
Ted Kremenek [Sat, 8 Aug 2015 17:58:47 +0000 (17:58 +0000)]
[Static Analyzer] Add --analyzer-target option to scan-build.

When interposing on a compiler doing cross-compilation, scan-build
does not infer the target triple needed to pass to clang for
doing static analysis.  The --analyzer-target option allows one
to manually specify the target triple used during static analysis
(and only static analysis) for such cases.

Patch by Honggyu Kim!

Reviewed in http://reviews.llvm.org/D10356.

llvm-svn: 244400

8 years ago[IR] Cleanup some formatting issues in the EH instructions
David Majnemer [Sat, 8 Aug 2015 17:41:21 +0000 (17:41 +0000)]
[IR] Cleanup some formatting issues in the EH instructions

No functionality change is intended.

llvm-svn: 244399

8 years ago[ASAN/AArch64] Disable forkpty tests until we can fix them
Renato Golin [Sat, 8 Aug 2015 15:47:17 +0000 (15:47 +0000)]
[ASAN/AArch64] Disable forkpty tests until we can fix them

Reported in PR24400. Disable until it works, so we can keep the rest
tested and green.

llvm-svn: 244398

8 years agoReturn early on error. Should fix the asan bots.
Rafael Espindola [Sat, 8 Aug 2015 14:54:09 +0000 (14:54 +0000)]
Return early on error. Should fix the asan bots.

llvm-svn: 244397

8 years ago[X86] Add ADX and RDSEED to Skylake processor.
Craig Topper [Sat, 8 Aug 2015 07:31:15 +0000 (07:31 +0000)]
[X86] Add ADX and RDSEED to Skylake processor.

llvm-svn: 244396

8 years agoAdd SlowBTMem to Sandy Bridge and newer Intel CPUs. Reading through Agner Fog's table...
Craig Topper [Sat, 8 Aug 2015 07:20:04 +0000 (07:20 +0000)]
Add SlowBTMem to Sandy Bridge and newer Intel CPUs. Reading through Agner Fog's table suggests there have been no improvements to these processors relative to Westmere for bit test instructions.

llvm-svn: 244395

8 years agoRevert "[analyzer] Add checkers for OS X / iOS localizability issues"
Anna Zaks [Sat, 8 Aug 2015 04:53:04 +0000 (04:53 +0000)]
Revert "[analyzer] Add checkers for OS X / iOS localizability issues"

This reverts commit fc885033a30b6e30ccf82398ae7c30e646727b10.

Revert all localization checker commits until the proper fix is implemented.

llvm-svn: 244394

8 years agoRevert "[analyzer] Fixup to r244389 to make this build on windows."
Anna Zaks [Sat, 8 Aug 2015 04:52:59 +0000 (04:52 +0000)]
Revert "[analyzer] Fixup to r244389 to make this build on windows."

This reverts commit 57a46a75b408245cf4154a838fe13ad702065745.

Revert all localization checker commits until the proper fix is implemented.

llvm-svn: 244393

8 years ago[InstCombine] Don't try to sink EH pad instructions
David Majnemer [Sat, 8 Aug 2015 03:51:49 +0000 (03:51 +0000)]
[InstCombine] Don't try to sink EH pad instructions

Found by inspection, this change should not effect the existing
landingpad behavior.

llvm-svn: 244391

8 years ago[analyzer] Fixup to r244389 to make this build on windows.
Anna Zaks [Sat, 8 Aug 2015 02:26:07 +0000 (02:26 +0000)]
[analyzer] Fixup to r244389 to make this build on windows.

llvm-svn: 244390

8 years ago[analyzer] Add checkers for OS X / iOS localizability issues
Anna Zaks [Sat, 8 Aug 2015 01:49:26 +0000 (01:49 +0000)]
[analyzer] Add checkers for OS X / iOS localizability issues

Add checkers that detect code-level localizability issues for OS X / iOS:
 - A path sensitive checker that warns about uses of non-localized
 NSStrings passed to UI methods expecting localized strings.
 - A syntax checker that warns against not including a comment in
 NSLocalizedString macros.

A patch by Kulpreet Chilana!

llvm-svn: 244389

8 years ago244368: Fix a comment line introduced in r244368. [-Wdocumentation]
NAKAMURA Takumi [Sat, 8 Aug 2015 01:34:20 +0000 (01:34 +0000)]
244368: Fix a comment line introduced in r244368. [-Wdocumentation]

llvm-svn: 244388

8 years ago[IR] Stop hacking around a bug in GCC 4.5
David Majnemer [Sat, 8 Aug 2015 01:33:30 +0000 (01:33 +0000)]
[IR] Stop hacking around a bug in GCC 4.5

GCC 4.5 miscompiled this aspect of LLVM.  We support a minimum version
of 4.7.

llvm-svn: 244387

8 years ago[analyzer] Don't issue alarm in ObjCSuperCallChecker for the super class itself.
Devin Coughlin [Sat, 8 Aug 2015 01:31:51 +0000 (01:31 +0000)]
[analyzer] Don't issue alarm in ObjCSuperCallChecker for the super class itself.

The ObjCSuperCallChecker issues alarms for various Objective-C APIs that require
a subclass to call to its superclass's version of a method when overriding it.
So, for example, it raises an alarm when the -viewDidLoad method in a subclass
of UIViewController does not call [super viewDidLoad].

This patch fixes a false alarm where the analyzer erroneously required the
implementation of the superclass itself (e.g., UIViewController) to call
super.

rdar://problem/18416944

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

llvm-svn: 244386

8 years agoAdd model numbers for Skylake CPUs and an additional Broadwell model.
Craig Topper [Sat, 8 Aug 2015 01:29:15 +0000 (01:29 +0000)]
Add model numbers for Skylake CPUs and an additional Broadwell model.

llvm-svn: 244385

8 years agoAdd Intel family 6 model 93 as Silvermont.
Craig Topper [Sat, 8 Aug 2015 01:16:05 +0000 (01:16 +0000)]
Add Intel family 6 model 93 as Silvermont.

llvm-svn: 244384

8 years agoAMDGPU/SI: Another attempt to fix Windows bots broken by r244372
Tom Stellard [Sat, 8 Aug 2015 01:11:07 +0000 (01:11 +0000)]
AMDGPU/SI: Another attempt to fix Windows bots broken by r244372

llvm-svn: 244383

8 years agoRemove unnecessary includes
Matt Arsenault [Sat, 8 Aug 2015 00:41:53 +0000 (00:41 +0000)]
Remove unnecessary includes

llvm-svn: 244382

8 years agoAMDGPU: Implement AMDGPUOperand::print()
Matt Arsenault [Sat, 8 Aug 2015 00:41:51 +0000 (00:41 +0000)]
AMDGPU: Implement AMDGPUOperand::print()

llvm-svn: 244381

8 years agoAMDGPU/SI: Remove VCCReg
Matt Arsenault [Sat, 8 Aug 2015 00:41:48 +0000 (00:41 +0000)]
AMDGPU/SI: Remove VCCReg

llvm-svn: 244380

8 years agoAMDGPU/SI: Remove source uses of VCCReg
Matt Arsenault [Sat, 8 Aug 2015 00:41:45 +0000 (00:41 +0000)]
AMDGPU/SI: Remove source uses of VCCReg

llvm-svn: 244379

8 years agoDelete dead code. NFC.
Rafael Espindola [Sat, 8 Aug 2015 00:25:57 +0000 (00:25 +0000)]
Delete dead code. NFC.

llvm-svn: 244378

8 years agoCOFF: Simplify.
Rui Ueyama [Sat, 8 Aug 2015 00:23:37 +0000 (00:23 +0000)]
COFF: Simplify.

SymbolTable::find(mangle(X)) is equivalent to SymbolTable::findUnderscore(X)
except that the latter is slightly efficient as that doesn't allocate a new
string.

llvm-svn: 244377

8 years agoAMDGPU/SI: Attempt to fix Windows bots broken by r244372
Tom Stellard [Sat, 8 Aug 2015 00:17:59 +0000 (00:17 +0000)]
AMDGPU/SI: Attempt to fix Windows bots broken by r244372

llvm-svn: 244376

8 years agoConvert getSymbolSection to return an ErrorOr.
Rafael Espindola [Fri, 7 Aug 2015 23:27:14 +0000 (23:27 +0000)]
Convert getSymbolSection to return an ErrorOr.

This function can actually fail since the symbol contains an index to the
section and that can be invalid.

llvm-svn: 244375

8 years agoAST: Implement mangling support for function types without a prototype.
Peter Collingbourne [Fri, 7 Aug 2015 23:25:47 +0000 (23:25 +0000)]
AST: Implement mangling support for function types without a prototype.

Function types without prototypes can arise when mangling a function type
within an overloadable function in C. We mangle these as the absence of
any parameter types (not even an empty parameter list).

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

llvm-svn: 244374

8 years agoadd a missing regression test for a DAGCombiner FDIV optimization
Sanjay Patel [Fri, 7 Aug 2015 23:19:41 +0000 (23:19 +0000)]
add a missing regression test for a DAGCombiner FDIV optimization

There's no test for this transform in any backend. Discovered
while debugging fast-math-flag propagation in the DAG (r244053).

llvm-svn: 244373

8 years agoAMDGPU: Add pass to lower OpenCL image and sampler arguments.
Tom Stellard [Fri, 7 Aug 2015 23:19:30 +0000 (23:19 +0000)]
AMDGPU: Add pass to lower OpenCL image and sampler arguments.

The pass adds new kernel arguments for image attributes, and
resolves calls to dummy attribute and resource id getter functions.

Patch by: Zoltan Gilian

llvm-svn: 244372

8 years ago[SPARC] Disable unsupported ExecutionEngine tests, and XFAIL a couple
James Y Knight [Fri, 7 Aug 2015 23:01:16 +0000 (23:01 +0000)]
[SPARC] Disable unsupported ExecutionEngine tests, and XFAIL a couple
of DebugInfo tests.

llvm-svn: 244371

8 years ago[Sparc] XFAIL CodeGen/atomic_ops test.
James Y Knight [Fri, 7 Aug 2015 22:52:34 +0000 (22:52 +0000)]
[Sparc] XFAIL CodeGen/atomic_ops test.

llvm-svn: 244370

8 years ago[LAA] Remove unused pointer partition argument from getNumberOfChecks, NFC
Adam Nemet [Fri, 7 Aug 2015 22:44:21 +0000 (22:44 +0000)]
[LAA] Remove unused pointer partition argument from getNumberOfChecks, NFC

This is unused after filtering checks was moved to the clients.

As a result, we can just return the number of the checks in the
precomputed set.

llvm-svn: 244369

8 years ago[LAA] Make the set of runtime checks part of the state of LAA, NFC
Adam Nemet [Fri, 7 Aug 2015 22:44:15 +0000 (22:44 +0000)]
[LAA] Make the set of runtime checks part of the state of LAA, NFC

This is the full set of checks that clients can further filter. IOW,
it's client-agnostic.  This makes LAA complete in the sense that it now
provides the two main results of its analysis precomputed:

1. memory dependences via getDepChecker().getInsterestingDependences()
2. run-time checks via getRuntimePointerCheck().getChecks()

However, as a consequence we now compute this information pro-actively.
Thus if the client decides to skip the loop based on the dependences
we've computed the checks unnecessarily.  In order to see whether this
was a significant overhead I checked compile time on SPEC2k6 LTO bitcode
files.  The change was in the noise.

The checks are generated in canCheckPtrAtRT, at the same place where we
used to call groupChecks to merge checks.

llvm-svn: 244368

8 years agoCOFF: Handle _load_config_used in the same way as other special symbols.
Rui Ueyama [Fri, 7 Aug 2015 22:43:53 +0000 (22:43 +0000)]
COFF: Handle _load_config_used in the same way as other special symbols.

Handling the symbol this way is consistent with other symbols, such as
_tls_used. NFC.

llvm-svn: 244367

8 years ago[AArch64][LoadStoreOptimizer] Turn a test into an assert. NFC.
Quentin Colombet [Fri, 7 Aug 2015 22:40:51 +0000 (22:40 +0000)]
[AArch64][LoadStoreOptimizer] Turn a test into an assert. NFC.

At this point the given Opc must be valid, otherwise we should
not look for a matching pair to form paired load or store.

Thanks to Chad to point out this piece of code!

llvm-svn: 244366

8 years agoRemove unused variable.
Rui Ueyama [Fri, 7 Aug 2015 22:40:13 +0000 (22:40 +0000)]
Remove unused variable.

llvm-svn: 244365

8 years ago[asan] Try different values of the shadow gap start.
Evgeniy Stepanov [Fri, 7 Aug 2015 22:38:44 +0000 (22:38 +0000)]
[asan] Try different values of the shadow gap start.

The number of unaccessible pages at the beginning of the address
space can differ between processes on the same machine. Try different
values at runtime to protect as much memory as possible.

llvm-svn: 244364

8 years agoDo not use -fvisibility option with Visual C
Michael Kruse [Fri, 7 Aug 2015 22:16:44 +0000 (22:16 +0000)]
Do not use -fvisibility option with Visual C

It doesn't know the option and prints a warning.

llvm-svn: 244363

8 years agoAMDGPU/SI: Use InstAlias instead of MnemonicAlias for VOPC instructions
Tom Stellard [Fri, 7 Aug 2015 22:00:56 +0000 (22:00 +0000)]
AMDGPU/SI: Use InstAlias instead of MnemonicAlias for VOPC instructions

Summary:
With InstAlias, we don't need to print the _e32 portion of the mnemonic
when we print the $dst operand.  This change makes it possible to
include vcc in the asm string when we switch VOPC over to having
implicit vcc defs.

Reviewers: arsenm

Subscribers: llvm-commits

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

llvm-svn: 244362

8 years agoredo r244360 (tighten checks...) after specifying triple
Sanjay Patel [Fri, 7 Aug 2015 21:42:24 +0000 (21:42 +0000)]
redo r244360 (tighten checks...) after specifying triple

llvm-svn: 244361

8 years agotighten checks using update_llc_test_checks.py
Sanjay Patel [Fri, 7 Aug 2015 21:38:53 +0000 (21:38 +0000)]
tighten checks using update_llc_test_checks.py

llvm-svn: 244360

8 years ago[asan] Reduce shadow gap start on 32-bit Android.
Evgeniy Stepanov [Fri, 7 Aug 2015 21:17:46 +0000 (21:17 +0000)]
[asan] Reduce shadow gap start on 32-bit Android.

This fixes an internal assertion failure when running out of
the address space in the large allocator.

llvm-svn: 244359

8 years agoCOFF: Remove lld-link2 alias.
Rui Ueyama [Fri, 7 Aug 2015 21:02:36 +0000 (21:02 +0000)]
COFF: Remove lld-link2 alias.

llvm-svn: 244358

8 years agoMIR Serialization: Serialize the base alignment for the machine memory operands.
Alex Lorenz [Fri, 7 Aug 2015 20:48:30 +0000 (20:48 +0000)]
MIR Serialization: Serialize the base alignment for the machine memory operands.

llvm-svn: 244357

8 years agoMIR Serialization: Serialize the offsets for the machine memory operands.
Alex Lorenz [Fri, 7 Aug 2015 20:26:52 +0000 (20:26 +0000)]
MIR Serialization: Serialize the offsets for the machine memory operands.

llvm-svn: 244356

8 years agoMIR Parser: Extract the parsing of the operand's offset into a new method. NFC.
Alex Lorenz [Fri, 7 Aug 2015 20:21:00 +0000 (20:21 +0000)]
MIR Parser: Extract the parsing of the operand's offset into a new method. NFC.

This commit extract the code that parses the 64-bit offset from the method
'parseOperandsOffset' to a new method 'parseOffset' so that we can reuse it
when parsing the offset for the machine memory operands.

llvm-svn: 244355

8 years agoAMDGPU: Assume SMRD access for constant address space
Matt Arsenault [Fri, 7 Aug 2015 20:18:34 +0000 (20:18 +0000)]
AMDGPU: Assume SMRD access for constant address space

Since r243294 these are selected to SMRD and
moved later if required.

llvm-svn: 244354

8 years agoDon't look for a SHT_DYNSYM in the ELFFile's constructor.
Rafael Espindola [Fri, 7 Aug 2015 20:11:08 +0000 (20:11 +0000)]
Don't look for a SHT_DYNSYM in the ELFFile's constructor.

Yet another step in not having it scan every section.

llvm-svn: 244353

8 years agoAdd Intel family 6 model 90 as Silvermont. Fixes PR24392.
Craig Topper [Fri, 7 Aug 2015 20:09:42 +0000 (20:09 +0000)]
Add Intel family 6 model 90 as Silvermont. Fixes PR24392.

llvm-svn: 244352

8 years agoRemove the symbol iteration functions that don't take a symbol table.
Rafael Espindola [Fri, 7 Aug 2015 20:07:27 +0000 (20:07 +0000)]
Remove the symbol iteration functions that don't take a symbol table.

Another step in making ELFFile's constructor not iterate over all sections.

llvm-svn: 244351

8 years agoAvoid using getDotDynSymSec in lld. It is going away.
Rafael Espindola [Fri, 7 Aug 2015 20:01:24 +0000 (20:01 +0000)]
Avoid using getDotDynSymSec in lld. It is going away.

llvm-svn: 244350

8 years ago[LAA] Remove unused pointer partition argument from print(), NFC
Adam Nemet [Fri, 7 Aug 2015 19:44:48 +0000 (19:44 +0000)]
[LAA] Remove unused pointer partition argument from print(), NFC

This is now handled in the client.  No need for LAA to provide this
variant.

llvm-svn: 244349

8 years ago[ConstantFoldTerminator] Preserve make.implicit metadata when converting SwitchInst...
Chen Li [Fri, 7 Aug 2015 19:30:12 +0000 (19:30 +0000)]
[ConstantFoldTerminator] Preserve make.implicit metadata when converting SwitchInst to BranchInst

Summary: llvm::ConstantFoldTerminator function can convert SwitchInst with single case (and default) to a conditional BranchInst. This patch adds support to preserve make.implicit metadata on this conversion.

Reviewers: sanjoy, weimingz, chenli

Subscribers: mcrosier, llvm-commits

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

llvm-svn: 244348

8 years ago[MCDwarf] Use more idiomatic [u]int8_t types.
Frederic Riss [Fri, 7 Aug 2015 19:19:44 +0000 (19:19 +0000)]
[MCDwarf] Use more idiomatic [u]int8_t types.

llvm-svn: 244347

8 years agoUpdate a comment to be more descriptive.
Eric Christopher [Fri, 7 Aug 2015 19:07:08 +0000 (19:07 +0000)]
Update a comment to be more descriptive.

llvm-svn: 244346

8 years agoUse lowercase for local cmake variables.
Chaoren Lin [Fri, 7 Aug 2015 18:54:06 +0000 (18:54 +0000)]
Use lowercase for local cmake variables.

llvm-svn: 244345