Sanjoy Das [Fri, 29 Jan 2016 16:54:49 +0000 (16:54 +0000)]
[RS4GC] Remove unnecessary const_cast; NFC
GCRelocateInst::getDerivedPtr already returns a non-const llvm::Value
pointer.
llvm-svn: 259209
Sanjoy Das [Fri, 29 Jan 2016 16:50:34 +0000 (16:50 +0000)]
[RS4GC] Minor local cleanup to StabilizeOrder; NFC
- Locally declare struct, and call it BaseDerivedPair
- Use a lambda to compare, instead of a singleton with uninitialized
fields
- Add a constructor to BaseDerivedPair and use SmallVector::emplace_back
llvm-svn: 259208
Reid Kleckner [Fri, 29 Jan 2016 16:39:04 +0000 (16:39 +0000)]
[CodeView] Fix dumping the is_stmt bit from the line table
Bug pointed out by George Rimar.
llvm-svn: 259205
Sanjoy Das [Fri, 29 Jan 2016 16:32:30 +0000 (16:32 +0000)]
[RS4GC] Remove unnecessary redirections from tests; NFC
llvm-svn: 259204
Sanjoy Das [Fri, 29 Jan 2016 16:32:25 +0000 (16:32 +0000)]
[RS4GC] Add some missing tests and CHECK: lines
I missed porting these in rL259129.
llvm-svn: 259203
Zoran Jovanovic [Fri, 29 Jan 2016 16:18:34 +0000 (16:18 +0000)]
[mips] Absolute value macro expansion
Author: obucina
Reviewers: dsanders
Differential Revision: http://reviews.llvm.org/D16323
llvm-svn: 259202
Jonas Paulsson [Fri, 29 Jan 2016 16:11:18 +0000 (16:11 +0000)]
[ScheduleDAGInstrs::buildSchedGraph()] Handling of memory dependecies rewritten.
The buildSchedGraph() was in need of reworking as the AA features had been
added on top of earlier code. It was very difficult to understand, and buggy.
There had been found cases where scheduling dependencies had actually been
missed (see r228686).
AliasChain, RejectMemNodes, adjustChainDeps() and iterateChainSucc() have
been removed. There are instead now just the four maps from Value to SUs, which
have been renamed to Stores, Loads, NonAliasStores and NonAliasLoads.
An unknown store used to become the AliasChain, but now becomes a store mapped
to 'unknownValue' (in Stores). What used to be PendingLoads is instead the
list of SUs mapped to 'unknownValue' in Loads.
RejectMemNodes and adjustChainDeps() used to be a safety-net for everything.
The SU maps were sometimes cleared and SUs were put in RejectMemNodes, where
adjustChainDeps() would look. Instead of this, a more straight forward approach
is used in maintaining the SU maps without clearing them and simply letting
them grow over time. Instead of the cutt-off in adjustChainDeps() search, a
reduction of maps will be done if needed (see below).
Each SUnit either becomes the BarrierChain, or is put into one of the maps. For
each SUnit encountered, all the information about previous ones are still
available until a new BarrierChain is set, at which point the maps are cleared.
For huge regions, the algorithm becomes slow, therefore the maps will get
reduced at a threshold (current default is 1000 nodes), by a fraction (default 1/2).
These values can be tuned by use of CL options in case some test case shows that
they need to be changed (-dag-maps-huge-region and -dag-maps-reduction-size).
There has not been any considerable change observed in output quality or compile
time. There may now be more DAG edges inserted than before (i.e. if A->B->C,
then A->C is not needed). However, in a comparison run there were fewer total
calls to AA, and a somewhat improved compile time, which means this seems to
be not a problem.
http://reviews.llvm.org/D8705
Reviewers: Hal Finkel, Andy Trick.
llvm-svn: 259201
Alexander Kornienko [Fri, 29 Jan 2016 15:54:26 +0000 (15:54 +0000)]
[clang-tidy] ForRangeCopyCheck that warns on and fixes unnecessary copies of loop variables.
Patch by Felix Berger!
Differential revision: http://reviews.llvm.org/D13849
llvm-svn: 259199
Alexander Kornienko [Fri, 29 Jan 2016 15:22:20 +0000 (15:22 +0000)]
[clang-tidy] Fix minor style issues. NFC
llvm-svn: 259198
Alexander Kornienko [Fri, 29 Jan 2016 15:22:10 +0000 (15:22 +0000)]
Fixed function params comparison. Updated docs and tests.
Summary: "checkParamTypes" may fail if the the type of some parameter is not canonical. Fixed it by comparing canonical types. And added "getCanonicalType()" and "getCanonicalDecl()" on more places to prevent potential fail.
Reviewers: alexfh
Subscribers: cfe-commits
Patch by Cong Liu!
Differential Revision: http://reviews.llvm.org/D16587
llvm-svn: 259197
Alexander Kornienko [Fri, 29 Jan 2016 15:21:43 +0000 (15:21 +0000)]
[clang-tidy] Fix style issues. NFC
llvm-svn: 259196
Alexander Kornienko [Fri, 29 Jan 2016 15:21:32 +0000 (15:21 +0000)]
[clang-tidy] Move implicit-cast-in-loop check to upstream.
Summary: This is implemented originally by Alex Pilkiewicz (pilki@google.com).
Reviewers: alexfh
Subscribers: cfe-commits
Patch by Haojian Wu!
Differential Revision: http://reviews.llvm.org/D16721
llvm-svn: 259195
Aaron Ballman [Fri, 29 Jan 2016 13:53:26 +0000 (13:53 +0000)]
Removing unnecessary casts; NFC.
llvm-svn: 259194
Ben Craig [Fri, 29 Jan 2016 13:53:23 +0000 (13:53 +0000)]
[libcxx] Whitelist inclusion of sysctl.h instead of blacklisting
Instead of excluding all known operating systems that are not derived from BSD,
I now include all operating systems that claim to be derived from BSD.
Hopefully, that will make it so that this check doesn't need to change for
every new operating system that comes along.
http://reviews.llvm.org/D16634
llvm-svn: 259193
Yaron Keren [Fri, 29 Jan 2016 13:46:15 +0000 (13:46 +0000)]
Implement TemplateArgument::dump() method for debugging, patterned after TemplateName::dump().
llvm-svn: 259192
Benjamin Kramer [Fri, 29 Jan 2016 12:47:05 +0000 (12:47 +0000)]
[IR] Move definitions of users of Use::set to Value.h
Still ugly, but at least Use.h is self-contained again.
llvm-svn: 259191
Benjamin Kramer [Fri, 29 Jan 2016 12:47:01 +0000 (12:47 +0000)]
[IR] Shuffle the code for getSequentialElementType to type.h to avoid circular header dependencies.
llvm-svn: 259190
Eugene Leviant [Fri, 29 Jan 2016 12:17:09 +0000 (12:17 +0000)]
Fix crash in lldb-mi when stack variable name is nullptr. This always happens when execution stops in try scope with unnamed catch clause
llvm-svn: 259189
Pavel Labath [Fri, 29 Jan 2016 11:59:57 +0000 (11:59 +0000)]
Fix linking of lldb-server with BUILD_SHARED_LIBS
Summary:
The BUILD_SHARED_LIBS branch of lldb-server link flags was hopelessly broken, at least since we
started restricting the symbols exported by liblldb. lldb-server depends on symbols from the
lldb_private namespace, so it cannot link to the public interface of liblldb. Instead I make it
link to the individual libraries constituting liblldb, just like it does in the
!BUILD_SHARED_LIBS case.
This does not make the BUILD_SHARED_LIBS build of lldb fully functional yet, due to the way
liblldb dependencies are managed, but it's a step in that direction.
Reviewers: zturner, tfiala
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D16678
llvm-svn: 259188
Benjamin Kramer [Fri, 29 Jan 2016 11:29:02 +0000 (11:29 +0000)]
Add an optional ToolName argument to runToolOnCodeWithArgs/buildASTFromCodeWithArgs.
This can be used as a way to modify argv[0] for a clang tool.
Differential Revision: http://reviews.llvm.org/D16718
llvm-svn: 259187
George Rimar [Fri, 29 Jan 2016 10:52:52 +0000 (10:52 +0000)]
Replace StringRef with std::string in LinkerDriver::addLibrary(StringRef Name) because std::string is destroyed after assigning what fills the buffer with garbage and StringRef is no more valid.
That fixes few failing tests under windows+msvs2015(debug).
llvm-svn: 259186
Eugene Leviant [Fri, 29 Jan 2016 10:48:11 +0000 (10:48 +0000)]
Ignore breakpoints by default in SBFrame::EvaluateExpression
llvm-svn: 259185
Ulrich Weigand [Fri, 29 Jan 2016 10:45:23 +0000 (10:45 +0000)]
Add target triple to CodeGenOpenCL/pipe_types.cl test case
The test is failing on SystemZ since different IR is being
generated due to platform ABI differences. Add a target triple.
Fix suggested by Anastasia Stulova.
llvm-svn: 259183
Alexandros Lamprineas [Fri, 29 Jan 2016 10:23:32 +0000 (10:23 +0000)]
[ARM] Emit trap instruction using .inst directive
The trap instruction is emitted as a data-in-text rather
than an instruction. This patch uses the .inst directive
for emitting trap.
Differential Revision: http://reviews.llvm.org/D16684
llvm-svn: 259182
Ewan Crawford [Fri, 29 Jan 2016 10:11:03 +0000 (10:11 +0000)]
[RenderScript] Remove unused RS command
Patch deletes the 'language renderscript module probe' command.
This command was present in the initial commit to help debug the plugin.
However we haven't used it recently and it's functionality is unclear, so can be removed entirely.
Also add back 'kernel coordinate' command, removed by accident in clang format patch r259056.
llvm-svn: 259181
Matt Arsenault [Fri, 29 Jan 2016 10:05:16 +0000 (10:05 +0000)]
AMDGPU: Remove 24-bit intrinsics
The known bit matching code seems to work reasonably well,
so these shouldn't really be needed.
llvm-svn: 259180
George Burgess IV [Fri, 29 Jan 2016 07:51:15 +0000 (07:51 +0000)]
Minor bugfix in AAResults::getModRefInfo.
Also removed a few redundant `else`s.
Bug was found by a test I wrote for MemorySSA (in review at
http://reviews.llvm.org/D7864; shiny update coming soon). So, assuming
that lands at some point, this should be covered by that. If anyone
feels this deserves its own explicit test case, please let me know.
I'll write one.
llvm-svn: 259179
Eric Christopher [Fri, 29 Jan 2016 07:20:30 +0000 (07:20 +0000)]
Refactor common code for PPC fast isel load immediate selection.
llvm-svn: 259178
Eric Christopher [Fri, 29 Jan 2016 07:20:01 +0000 (07:20 +0000)]
Since LI/LIS sign extend the constant passed into the instruction we should
check that the sign extended constant fits into 16-bits if we want a
zero extended value, otherwise go ahead and put it together piecemeal.
Fixes PR26356.
llvm-svn: 259177
Eric Christopher [Fri, 29 Jan 2016 07:19:49 +0000 (07:19 +0000)]
Fix up conditional formatting.
llvm-svn: 259176
Akira Hatanaka [Fri, 29 Jan 2016 05:55:09 +0000 (05:55 +0000)]
[llvm-bcanalyzer] Dump bitcode wrapper header
This patch enables llvm-bcanalyzer to print the bitcode wrapper header
if the file has one, which is needed to test the changes made in
r258627 (bitcode-wrapper-header-armv7m.ll is the test case for r258627).
Differential Revision: http://reviews.llvm.org/D16642
llvm-svn: 259162
David Majnemer [Fri, 29 Jan 2016 05:33:15 +0000 (05:33 +0000)]
[WinEH] Don't perform state stores in cleanups
Our cleanups do not support true lexical nesting of funclets which
obviates the need to perform state stores.
This fixes PR26361.
llvm-svn: 259161
Nathan Wilson [Fri, 29 Jan 2016 04:43:59 +0000 (04:43 +0000)]
[Concepts] Implement a portion of Concepts TS[dcl.spec.concept]p5 and p6:
Diagnose if the return type of a function concept or declaration type of a
variable concept is not bool.
Reviewers: hubert.reinterpretcast
Differential Revision: http://reviews.llvm.org/D16163
llvm-svn: 259159
Rui Ueyama [Fri, 29 Jan 2016 04:15:02 +0000 (04:15 +0000)]
Remove a parameter from Target::writePlt.
llvm-svn: 259158
Rui Ueyama [Fri, 29 Jan 2016 04:05:09 +0000 (04:05 +0000)]
ELF: Provide default implemenatations for simple functions.
llvm-svn: 259157
Craig Topper [Fri, 29 Jan 2016 04:01:09 +0000 (04:01 +0000)]
Remove unnecessary forward declaration. NFC
llvm-svn: 259156
Rui Ueyama [Fri, 29 Jan 2016 03:51:51 +0000 (03:51 +0000)]
Define stub functions instead of pure virtual functions.
To remove empty functions.
llvm-svn: 259155
Rui Ueyama [Fri, 29 Jan 2016 03:51:49 +0000 (03:51 +0000)]
ELF: Do not pass addresses that can be obtained using Out.
llvm-svn: 259154
Chaoren Lin [Fri, 29 Jan 2016 03:48:08 +0000 (03:48 +0000)]
Fix TestDataFormatterScript for Linux.
Summary:
m_function_name will contain a dummy name for the auto-generated function from
the python script on Linux. Check for script name first.
Reviewers: granata.enrico
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D16703
llvm-svn: 259153
Matthias Braun [Fri, 29 Jan 2016 03:34:36 +0000 (03:34 +0000)]
SmallPtrSetTest: More checks for the swap() testing
llvm-svn: 259152
Matthias Braun [Fri, 29 Jan 2016 03:34:34 +0000 (03:34 +0000)]
SmallPtrSetTest: Check that iterators are still valid after erase()
llvm-svn: 259151
Rui Ueyama [Fri, 29 Jan 2016 03:00:32 +0000 (03:00 +0000)]
Rename PltZeroEntrySize -> PltZeroSize.
This patch also fixes parameter name. They points to the beginning
of PLT or GOT tables, so GotAddr or PltAddr are better.)
llvm-svn: 259150
Rui Ueyama [Fri, 29 Jan 2016 03:00:30 +0000 (03:00 +0000)]
Add a comment.
llvm-svn: 259149
David Majnemer [Fri, 29 Jan 2016 02:43:22 +0000 (02:43 +0000)]
Revert "Reapply commit r258404 with fix"
This reverts commit r258929, it caused PR26364.
llvm-svn: 259148
Rui Ueyama [Fri, 29 Jan 2016 02:33:45 +0000 (02:33 +0000)]
ELF: Make Target's member function names shorter.
llvm-svn: 259147
David Blaikie [Fri, 29 Jan 2016 02:23:13 +0000 (02:23 +0000)]
Fix some -Wstring-conversion warnings
I don't seem to see these locally, maybe just need to update my
compiler, or we haven't turned them on for LLVM's build and we should...
llvm-svn: 259146
Philip Reames [Fri, 29 Jan 2016 02:23:10 +0000 (02:23 +0000)]
[GVN] Add clarifying assert [NFCI]
Just adding an assert which makes invariants between AnalyzeLoadsFromClobberingLoads and GetLoadValueForLoad slightly more clear.
llvm-svn: 259145
Rui Ueyama [Fri, 29 Jan 2016 02:17:01 +0000 (02:17 +0000)]
Rename includeInDynamicSymtab -> includeInDynsym.
llvm-svn: 259144
Rui Ueyama [Fri, 29 Jan 2016 01:54:52 +0000 (01:54 +0000)]
ELF: Report multiple errors from the driver.
This patch let the driver keep going until it parses all
command line options.
http://reviews.llvm.org/D16645
llvm-svn: 259143
Rui Ueyama [Fri, 29 Jan 2016 01:49:33 +0000 (01:49 +0000)]
Rename DynamicSymbolTableIndex -> DynsymIndex.
This is the index in .dynsym, so the new name should make sense.
llvm-svn: 259142
Rui Ueyama [Fri, 29 Jan 2016 01:49:32 +0000 (01:49 +0000)]
ELF: Remove accessors from Target.
These accessors do not provide values. We can simply make the variables public.
llvm-svn: 259141
Rui Ueyama [Fri, 29 Jan 2016 01:49:29 +0000 (01:49 +0000)]
Remove unused variable.
llvm-svn: 259140
Junmo Park [Fri, 29 Jan 2016 01:39:39 +0000 (01:39 +0000)]
Minor code cleanup. NFC.
llvm-svn: 259139
Eric Christopher [Fri, 29 Jan 2016 01:35:55 +0000 (01:35 +0000)]
Add the clang debug info test directory to .gitignore as it's managed separately.
llvm-svn: 259138
Eric Christopher [Fri, 29 Jan 2016 01:35:53 +0000 (01:35 +0000)]
Use a consistent spelling for vtables.
llvm-svn: 259137
Rafael Espindola [Fri, 29 Jan 2016 01:24:25 +0000 (01:24 +0000)]
Merge identical strings.
This avoids the need to have reserve and addString in sync.
We avoid hashing the global symbols again. This means that we don't
merge a global symbol that has the same name as some other string, but
that doesn't seem very common. The string table size is the same in
clang an scylladb with or without hashing global symbols again.
llvm-svn: 259136
Enrico Granata [Fri, 29 Jan 2016 01:12:13 +0000 (01:12 +0000)]
Fix a bug where type <formatter> list would ignore the -w argument
rdar://
24379879
llvm-svn: 259135
Ahmed Bougacha [Fri, 29 Jan 2016 01:08:41 +0000 (01:08 +0000)]
[AArch64] Fix i64 nontemporal high-half extraction.
Since we only have pair - not single - nontemporal store instructions,
we have to extract the high part into a separate register to be able
to use them.
When the initial nontemporal codegen support was added, I wrote the
extract using the nonsensical UBFX [0,32[.
Use the correct LSR form instead.
llvm-svn: 259134
Sanjoy Das [Fri, 29 Jan 2016 01:03:20 +0000 (01:03 +0000)]
[RS4GC] Minor cleanups enabled by the previous change; NFC
llvm-svn: 259133
Sanjoy Das [Fri, 29 Jan 2016 01:03:17 +0000 (01:03 +0000)]
[RS4GC] Delete code that is dead due to r259129; NFC
llvm-svn: 259132
Enrico Granata [Fri, 29 Jan 2016 00:56:52 +0000 (00:56 +0000)]
Fix a bug where LLDB would not print the name of the function that a scripted summary is bound to
rdar://
24380076
llvm-svn: 259131
Reid Kleckner [Fri, 29 Jan 2016 00:49:42 +0000 (00:49 +0000)]
Reland "[CodeView] Use assembler directives for line tables"
This reverts commit r259126 and relands r259117.
This time with updated library dependencies.
llvm-svn: 259130
Sanjoy Das [Fri, 29 Jan 2016 00:28:57 +0000 (00:28 +0000)]
[RS4GC] Clamp UseDeoptBundles to true and update tests
The full diff for the test directory may be hard to read because of the
filename clash; so here's all that happened as far as the tests are
concerned:
```
cd test/Transforms/RewriteStatepointsForGC
git rm *ll
git mv deopt-bundles/* ./
rmdir deopt-bundles
find . -name '*.ll' | xargs gsed -i 's/-rs4gc-use-deopt-bundles //g'
```
llvm-svn: 259129
Rui Ueyama [Fri, 29 Jan 2016 00:20:12 +0000 (00:20 +0000)]
Rename isTlsOptimized -> canRelaxTls.
This function is a predicate that a given relocation can be relaxed.
The previous name implied that it returns true if a given relocation
has already been optimized away.
llvm-svn: 259128
Rui Ueyama [Fri, 29 Jan 2016 00:20:09 +0000 (00:20 +0000)]
Update comments.
llvm-svn: 259127
Reid Kleckner [Fri, 29 Jan 2016 00:13:28 +0000 (00:13 +0000)]
Revert "[CodeView] Use assembler directives for line tables"
This reverts commit r259117.
The LineInfo constructor is defined in the codeview library and we have
to link against it now. Doing that isn't trivial, so reverting for now.
llvm-svn: 259126
Sanjoy Das [Fri, 29 Jan 2016 00:13:26 +0000 (00:13 +0000)]
[RS4GC] Port three tests to the deopt bundles directory
two-invokes-one-landingpad.ll was only moved (and not "ported"), but
having everything in the `deopt-bundles` directory will make later
changes more obvious.
llvm-svn: 259125
Reid Kleckner [Fri, 29 Jan 2016 00:03:34 +0000 (00:03 +0000)]
Add missing raw_ostream include
Prior to r259115 this was coming via LTOModule.h and MCContext.h.
Apparently this target is not built by 'check'. =(
llvm-svn: 259124
Reid Kleckner [Thu, 28 Jan 2016 23:59:35 +0000 (23:59 +0000)]
Silence gcc warning about ternary and enumerations
llvm-svn: 259123
Justin Lebar [Thu, 28 Jan 2016 23:58:28 +0000 (23:58 +0000)]
[CUDA] Generate CUDA's printf alloca in its function's entry block.
Summary:
This is necessary to prevent llvm from generating stacksave intrinsics
around this alloca. NVVM doesn't have a stack, and we don't handle said
intrinsics.
Reviewers: rnk, echristo
Subscribers: cfe-commits, jhen, tra
Differential Revision: http://reviews.llvm.org/D16664
llvm-svn: 259122
Sanjoy Das [Thu, 28 Jan 2016 23:49:27 +0000 (23:49 +0000)]
[PlaceSafepoints] Use DEBUG() instead of TraceLSP
DEBUG() is the more idiomatic LLVM style.
llvm-svn: 259121
Easwaran Raman [Thu, 28 Jan 2016 23:44:41 +0000 (23:44 +0000)]
Lower inlining threshold when the caller has minsize attribute.
When the caller has optsize attribute, we reduce the inlinining threshold
to OptSizeThreshold (=75) if it is not already lower than that. We don't do
the same for minsize and I suspect it was not intentional. This also addresses
a FIXME regarding checking optsize attribute explicitly instead of using the
right wrapper.
Differential Revision: http://reviews.llvm.org/D16493
llvm-svn: 259120
Manman Ren [Thu, 28 Jan 2016 23:36:05 +0000 (23:36 +0000)]
Class Property: change PropertyMap to include isClassProperty.
PropertyMap used to map IdentifierInfo (name of the property) to
ObjcPropertyDecl *. Now that a class property can have the same name as
an instance property, we change PropertyMap to map a pair <IdentifierInfo *,
unsigned> to ObjcPropertyDecl *.
Also update a few places from iterating over instance_properties to
iterating over all properties.
rdar://
23891898
llvm-svn: 259119
Devin Coughlin [Thu, 28 Jan 2016 23:34:13 +0000 (23:34 +0000)]
[analyzer] NullabilityChecker: Remove unused isReturnSelf() function.
Remove the now-unused isReturnSelf() function so we don't get a compiler
warning. Apologies for not doing this in r259099.
llvm-svn: 259118
Reid Kleckner [Thu, 28 Jan 2016 23:31:52 +0000 (23:31 +0000)]
[CodeView] Use assembler directives for line tables
Adds a new family of .cv_* directives to LLVM's variant of GAS syntax:
- .cv_file: Similar to DWARF .file directives
- .cv_loc: Similar to the DWARF .loc directive, but starts with a
function id. CodeView line tables are emitted by function instead of
by compilation unit, so we needed an extra field to communicate this.
Rather than overloading the .loc direction further, we decided it was
better to have our own directive.
- .cv_stringtable: Emits the codeview string table at the current
position. Currently this just contains the filenames as
null-terminated strings.
- .cv_filechecksums: Emits the file checksum table for all files used
with .cv_file so far. There is currently no support for emitting
actual checksums, just filenames.
This moves the line table emission code down into the assembler. This
is in preparation for implementing the inlined call site line table
format. The inline line table format encoding algorithm requires knowing
the absolute code offsets, so it must run after the assembler has laid
out the code.
David Majnemer collaborated on this patch.
llvm-svn: 259117
Manman Ren [Thu, 28 Jan 2016 23:29:02 +0000 (23:29 +0000)]
Check for frontend errors after releasing the Builder.
Frontend can emit errors when releaseing the Builder. If there are errors before
or when releasing the Builder, we reset the module to stop here before invoking
the backend.
Before this commit, clang will continue to invoke the backend and backend can
crash.
Differential Revision: http://reviews.llvm.org/D16564
llvm-svn: 259116
Reid Kleckner [Thu, 28 Jan 2016 23:21:12 +0000 (23:21 +0000)]
Remove unused MC includes from LTOModule.h
llvm-svn: 259115
Todd Fiala [Thu, 28 Jan 2016 23:17:53 +0000 (23:17 +0000)]
fix up missing header from change r259084.
llvm-svn: 259114
Jonathan Peyton [Thu, 28 Jan 2016 23:10:44 +0000 (23:10 +0000)]
Fix task dependency performance problem
In: http://lists.llvm.org/pipermail/openmp-dev/2015-August/000858.html, a
performance issue was found with libomp's task dependencies. The task
dependencies hash table has an issue with collisions. The current table size is
a power of two. This combined with the current hash function causes a large
number of collisions to occurr. Also, the current size (64) is too small for
larger applications so the table size is increased.
This patch creates a two level hash table approach for task dependencies. The
implicit task is considered the "master" or "top-level" task which has a large
static sized hash table (997), and nested tasks will have smaller hash
tables (97). Prime numbers were chosen to help reduce collisions.
Differential Revision: http://reviews.llvm.org/D16640
llvm-svn: 259113
Sanjoy Das [Thu, 28 Jan 2016 23:03:19 +0000 (23:03 +0000)]
[PlaceSafepoints] Misc. minor cleanups; NFC
These changes are aimed at bringing PlaceSafepoints up to code with the
LLVM coding guidelines:
- Fix variable naming
- Use DenseSet instead of std::set
- Remove dead code
- Minor local code simplifications
llvm-svn: 259112
Sanjoy Das [Thu, 28 Jan 2016 23:03:17 +0000 (23:03 +0000)]
[PlaceSafepoints] Remvoe unused headers, and sort #includes; NFC
llvm-svn: 259111
Sanjoy Das [Thu, 28 Jan 2016 23:03:14 +0000 (23:03 +0000)]
[PlaceSafepoints] Eliminate dead code; NFC
Now that NoStatepoints is a constant `true`, we can get rid of a bunch
of dead code.
llvm-svn: 259110
Rafael Espindola [Thu, 28 Jan 2016 22:56:41 +0000 (22:56 +0000)]
Update for llvm change.
llvm-svn: 259108
Rui Ueyama [Thu, 28 Jan 2016 22:56:29 +0000 (22:56 +0000)]
ELF: Report more than one undefined symbols if exist.
http://reviews.llvm.org/D16643
llvm-svn: 259107
Rafael Espindola [Thu, 28 Jan 2016 22:55:45 +0000 (22:55 +0000)]
Don't mention a command line option in an error.
The program using this code may not have it.
Patch by Wilfred Hughes.
llvm-svn: 259106
Lang Hames [Thu, 28 Jan 2016 22:35:48 +0000 (22:35 +0000)]
[RuntimeDyld][MachO] Fix handling of empty eh-frame sections.
This patch switches from an unguarded to a guarded loop for eh-frame record
fixups. In the unguarded version we would always make at least one call to
processFDE, which would then crash trying to fix up a frame that didn't exist.
Fixes <rdar://problem/
24301582>
llvm-svn: 259103
Todd Fiala [Thu, 28 Jan 2016 22:34:36 +0000 (22:34 +0000)]
add back an Xcode-specific Makefile for header installation
llvm-svn: 259102
Simon Pilgrim [Thu, 28 Jan 2016 22:29:51 +0000 (22:29 +0000)]
[X86][AVX] Added more thorough 256-bit vector consecutive load tests.
llvm-svn: 259100
Devin Coughlin [Thu, 28 Jan 2016 22:23:34 +0000 (22:23 +0000)]
[analyzer] Suppress nullability warnings in copy, mutableCopy, and init families.
There are multiple, common idioms of defensive nil-checks in copy,
mutableCopy, and init methods in ObjC. The analyzer doesn't currently have the
capability to distinguish these idioms from true positives, so suppress all
warnings about returns in those families. This is a pretty blunt suppression
that we should improve later.
rdar://problem/
24395811
llvm-svn: 259099
Eugene Zelenko [Thu, 28 Jan 2016 22:05:24 +0000 (22:05 +0000)]
Remove autoconf support from source directories.
Differential revision: http://reviews.llvm.org/D16662
llvm-svn: 259098
Sanjoy Das [Thu, 28 Jan 2016 21:51:21 +0000 (21:51 +0000)]
[RS4GC] Change opt %s to opt < %s; NFC
This is as per http://llvm.org/docs/TestingGuide.html#fragile-tests. I
didn't touch the tests outside deopt-bundles/ since they'll be gone
soon.
llvm-svn: 259097
Sanjoy Das [Thu, 28 Jan 2016 21:51:14 +0000 (21:51 +0000)]
[PlaceSafepoints] Clamp NoStatepoints to true
This change permanently clamps -spp-no-statepoints to true (the code
deletion will come later). Tests that specifically tested
PlaceSafepoint's ability to wrap calls in gc.statepoint have been moved
to RS4GC's test suite.
llvm-svn: 259096
Sunil Srivastava [Thu, 28 Jan 2016 21:36:31 +0000 (21:36 +0000)]
Implementation of PS4 ABI, Round 1
Added a test to safeguard linux ABI.
Differential Revision: http://reviews.llvm.org/D16607
llvm-svn: 259095
Daniel Sanders [Thu, 28 Jan 2016 21:09:50 +0000 (21:09 +0000)]
Bring back the test-suite export in test-release without bringing back the build failures.
Summary:
r257791 disabled the test-suite export since the addition of CMakeLists.txt was
causing build failures. This patch exports the test-suite again but does so
outside the source tree so that it isn't included in the Phase[123] builds.
Reviewers: hans
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16679
llvm-svn: 259094
Eugene Zelenko [Thu, 28 Jan 2016 21:00:21 +0000 (21:00 +0000)]
Remove autoconf support.
Differential revision: http://reviews.llvm.org/D16651
llvm-svn: 259091
Matt Arsenault [Thu, 28 Jan 2016 20:53:48 +0000 (20:53 +0000)]
AMDGPU: Match fmed3 patterns with legacy fmin/fmax
llvm-svn: 259090
Matt Arsenault [Thu, 28 Jan 2016 20:53:42 +0000 (20:53 +0000)]
AMDGPU: Match some med3 patterns
llvm-svn: 259089
Matt Arsenault [Thu, 28 Jan 2016 20:53:35 +0000 (20:53 +0000)]
AMDGPU: Set DX10Clamp bit
llvm-svn: 259088
Elena Demikhovsky [Thu, 28 Jan 2016 20:36:46 +0000 (20:36 +0000)]
Fixed compilation issue.
llvm-svn: 259087
Chaoren Lin [Thu, 28 Jan 2016 20:25:46 +0000 (20:25 +0000)]
Fix build after rL259070.
llvm-svn: 259086