platform/upstream/llvm.git
9 years agoMove test that depends on x86 to the x86 directory.
Rafael Espindola [Thu, 4 Jun 2015 15:25:47 +0000 (15:25 +0000)]
Move test that depends on x86 to the x86 directory.

llvm-svn: 239043

9 years agoNo need to check the raw relocation bytes if checking the parsed dump.
Rafael Espindola [Thu, 4 Jun 2015 15:21:17 +0000 (15:21 +0000)]
No need to check the raw relocation bytes if checking the parsed dump.

llvm-svn: 239042

9 years agollvm-readobj can parse relocations, no need to check the raw bytes.x
Rafael Espindola [Thu, 4 Jun 2015 15:15:12 +0000 (15:15 +0000)]
llvm-readobj can parse relocations, no need to check the raw bytes.x

llvm-svn: 239041

9 years agoReplace custom fixed endian to raw_ostream emission with EndianStream.
Benjamin Kramer [Thu, 4 Jun 2015 15:03:02 +0000 (15:03 +0000)]
Replace custom fixed endian to raw_ostream emission with EndianStream.

Less code, clearer and more efficient. No functionality change intended.

llvm-svn: 239040

9 years agoDisassemble the start of sections even if there is no symbol there.
Rafael Espindola [Thu, 4 Jun 2015 15:01:05 +0000 (15:01 +0000)]
Disassemble the start of sections even if there is no symbol there.

We already handled a section with no symbols, extend that to also handle a
section with symbols that don't include the section start.

llvm-svn: 239039

9 years agoRemove extraneous qualifiers due to "using namespace". NFC
Douglas Katzman [Thu, 4 Jun 2015 14:40:44 +0000 (14:40 +0000)]
Remove extraneous qualifiers due to "using namespace". NFC

llvm-svn: 239038

9 years agoDon't create a MIN/MAX node if the underlying compare has more than one use.
James Molloy [Thu, 4 Jun 2015 13:48:23 +0000 (13:48 +0000)]
Don't create a MIN/MAX node if the underlying compare has more than one use.

If the compare in a select pattern has another use then it can't be removed, so we'd just
be creating repeated code if we created a min/max node.

Spotted by Matt Arsenault!

llvm-svn: 239037

9 years agoReplace string GNU Triples with llvm::Triple in MCAsmInfo subclasses and create*AsmIn...
Daniel Sanders [Thu, 4 Jun 2015 13:12:25 +0000 (13:12 +0000)]
Replace string GNU Triples with llvm::Triple in MCAsmInfo subclasses and create*AsmInfo(). NFC.

Summary:
This is the first of several patches to eliminate StringRef forms of GNU
triples from the internals of LLVM. After this is complete, GNU triples
will be replaced by a more authoratitive representation in the form of
an LLVM TargetTuple.

Reviewers: rengolin

Reviewed By: rengolin

Subscribers: ted, llvm-commits, rengolin, jholewinski

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

llvm-svn: 239036

9 years agoInclude BPF target in CMake builds.
Daniel Sanders [Thu, 4 Jun 2015 12:51:20 +0000 (12:51 +0000)]
Include BPF target in CMake builds.

llvm-svn: 239035

9 years agoTidy code in InstrProfiling.cpp. NFC.
Diego Novillo [Thu, 4 Jun 2015 11:45:32 +0000 (11:45 +0000)]
Tidy code in InstrProfiling.cpp. NFC.

Removed the redundant "llvm::" from class names in InstrProfiling.cpp
clang-format is ran on the changes.

Patch from Betul Buyukkurt.

llvm-svn: 239034

9 years agoStore comparison objects as objects, not pointers
Tobias Grosser [Thu, 4 Jun 2015 11:44:09 +0000 (11:44 +0000)]
Store comparison objects as objects, not pointers

This fixes a memory leak. If we store the actual objects we can not forget to
free them.

llvm-svn: 239033

9 years ago[C API] Add LLVMStructGetTypeAtIndex.
Peter Zotov [Thu, 4 Jun 2015 09:09:53 +0000 (09:09 +0000)]
[C API] Add LLVMStructGetTypeAtIndex.

Patch by deadalnix (Amaury SECHET).

llvm-svn: 239029

9 years agoUse the appropriate PIE level for OpenBSD/sparc.
Brad Smith [Thu, 4 Jun 2015 08:45:23 +0000 (08:45 +0000)]
Use the appropriate PIE level for OpenBSD/sparc.

llvm-svn: 239028

9 years ago[ASan] Fix Darwin and Windows builds.
Yury Gribov [Thu, 4 Jun 2015 07:56:19 +0000 (07:56 +0000)]
[ASan] Fix Darwin and Windows builds.

llvm-svn: 239027

9 years agoAVX-512: I brought back vector-shuffle-512-v8.ll test.
Elena Demikhovsky [Thu, 4 Jun 2015 07:49:56 +0000 (07:49 +0000)]
AVX-512: I brought back vector-shuffle-512-v8.ll test.
I re-generated it after all AVX-512 shuffle optimizations.

llvm-svn: 239026

9 years agoMark sdivs as 'exact' instead of lowering them ourselves
Tobias Grosser [Thu, 4 Jun 2015 07:45:09 +0000 (07:45 +0000)]
Mark sdivs as 'exact' instead of lowering them ourselves

LLVM's instcombine already translates power-of-two sdivs that are known to be
exact to fast ashr instructions. Hence, there is no need to add this logic
ourselves.

Pointed-out-by: Johannes Doerfert
llvm-svn: 239025

9 years agoEnsure memory access mappings are defined for full domain
Tobias Grosser [Thu, 4 Jun 2015 07:44:35 +0000 (07:44 +0000)]
Ensure memory access mappings are defined for full domain

We now verify that memory access functions imported via JSON are indeed defined
for the full iteration domain. Before this change we accidentally imported
memory mappings such as i -> i / 127, which only defined a mapped for values of
i that are evenly divisible by 127, but which did not define any mapping for the
remaining values, with the result that isl just generated an access expression
that had undefined behavior for all the unmapped values.

In the incorrect test cases, we now either use floor(i/127) or we use p/127 and
provide the information that p is indeed a multiple of 127.

llvm-svn: 239024

9 years ago[TableGen] Replace a couple if/else chains with a switch. NFC
Craig Topper [Thu, 4 Jun 2015 07:40:16 +0000 (07:40 +0000)]
[TableGen] Replace a couple if/else chains with a switch. NFC

llvm-svn: 239023

9 years ago[TableGen] Use range-based for loops. NFC
Craig Topper [Thu, 4 Jun 2015 07:40:14 +0000 (07:40 +0000)]
[TableGen] Use range-based for loops. NFC

llvm-svn: 239022

9 years ago[TableGen] Merge single prefix bit in RecordVal into PointerIntPair with Name to...
Craig Topper [Thu, 4 Jun 2015 07:40:12 +0000 (07:40 +0000)]
[TableGen] Merge single prefix bit in RecordVal into PointerIntPair with Name to reduce memory usage.

llvm-svn: 239021

9 years ago[ASan] Make binary name reader cross-platform.
Yury Gribov [Thu, 4 Jun 2015 07:29:43 +0000 (07:29 +0000)]
[ASan] Make binary name reader cross-platform.

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

llvm-svn: 239020

9 years agoTest commit
Igor Breger [Thu, 4 Jun 2015 07:23:38 +0000 (07:23 +0000)]
Test commit

llvm-svn: 239019

9 years ago[ASan] Move ASan runtime library self-checks to a more appropriate place.
Yury Gribov [Thu, 4 Jun 2015 07:23:09 +0000 (07:23 +0000)]
[ASan] Move ASan runtime library self-checks to a more appropriate place.

llvm-svn: 239018

9 years agoMake the test introduced in r239015 more targeted.
David Majnemer [Thu, 4 Jun 2015 07:21:42 +0000 (07:21 +0000)]
Make the test introduced in r239015 more targeted.

We don't need to go through LSR to trigger this bug.  Instead,
hand-craft a tricky GEP and get the constant folder to hack on it when
parsing the IR.

llvm-svn: 239017

9 years agoAVX-512: added all SKX forms of VPERMW/D/Q instructions.
Elena Demikhovsky [Thu, 4 Jun 2015 07:07:13 +0000 (07:07 +0000)]
AVX-512: added all SKX forms of VPERMW/D/Q instructions.
Added all forms of VPERMPS/PD instrcuctions.
Added encoding tests.

llvm-svn: 239016

9 years ago[ConstantFold] Don't skip the first gep index when folding geps
David Majnemer [Thu, 4 Jun 2015 07:01:56 +0000 (07:01 +0000)]
[ConstantFold] Don't skip the first gep index when folding geps

We neglected to check if the first index made the GEP ineligible for
'inbounds'.

This fixes PR23753.

llvm-svn: 239015

9 years agoRemoved {}, NFC.
Elena Demikhovsky [Thu, 4 Jun 2015 07:01:29 +0000 (07:01 +0000)]
Removed {}, NFC.

llvm-svn: 239014

9 years agoMake the function that parses the json packets in debugserver
Jason Molenda [Thu, 4 Jun 2015 06:03:03 +0000 (06:03 +0000)]
Make the function that parses the json packets in debugserver
a little more resilient to freely formatted json.  Greg's change
in r238279 made the json output from StructuredData unconditionally
pretty-printed and the spaces were confusing debugserver.

llvm-svn: 239013

9 years agoBring back r239006 with a fix.
Rafael Espindola [Thu, 4 Jun 2015 05:59:23 +0000 (05:59 +0000)]
Bring back r239006 with a fix.

The fix is just that getOther had not been updated for packing the st_other
values in fewer bits and could return spurious values:

-  unsigned Other = (getFlags() & (0x3f << ELF_STO_Shift)) >> ELF_STO_Shift;
+  unsigned Other = (getFlags() & (0x7 << ELF_STO_Shift)) >> ELF_STO_Shift;

Original message:

Pack the MCSymbolELF bit fields into MCSymbol's Flags.

This reduces MCSymolfELF from 64 bytes to 56 bytes on x86_64.

While at it, also make getOther/setOther easier to use by accepting unshifted
STO_* values.

llvm-svn: 239012

9 years agoAdd testcase that would crash before the previous revert.
Rafael Espindola [Thu, 4 Jun 2015 05:51:13 +0000 (05:51 +0000)]
Add testcase that would crash before the previous revert.

llvm-svn: 239011

9 years agoRevert "Pack the MCSymbolELF bit fields into MCSymbol's Flags."
Rafael Espindola [Thu, 4 Jun 2015 05:00:12 +0000 (05:00 +0000)]
Revert "Pack the MCSymbolELF bit fields into MCSymbol's Flags."

This reverts commit r239006.

I am debugging the powerpc failures.

llvm-svn: 239010

9 years agoFix fragile source-col-map.c test-case.
James Y Knight [Thu, 4 Jun 2015 04:15:33 +0000 (04:15 +0000)]
Fix fragile source-col-map.c test-case.

The test passing was dependent upon your source tree being checked out
in a directory with a long enough path, to cause the diagnostics to
wrap at the expected locations.

Use stdin instead, so that the error messages consistently use
<stdin> as the filename, and get wrapped consistently.

llvm-svn: 239009

9 years agoUpdate Polly for the AA/MemoryLocation refactoring.
Chandler Carruth [Thu, 4 Jun 2015 03:49:46 +0000 (03:49 +0000)]
Update Polly for the AA/MemoryLocation refactoring.

llvm-svn: 239008

9 years ago[lldb] Enable building with Cmake/BUILD_SHARED_LIBS
Andrew Wilkins [Thu, 4 Jun 2015 03:12:37 +0000 (03:12 +0000)]
[lldb] Enable building with Cmake/BUILD_SHARED_LIBS

Summary:
Several changes to fix CMake builds of LLDB with the
BUILD_SHARED_LIBS setting on.

- Force all internal libraries to be built STATIC.
- Add additional library dependencies (pthread, dl,
  runtimedyld).
- modify finalisation of SWIG wrapper to symlink the
  "lib" dir into python/site-packages, so _lldb.so's
  RPATH resolves.

Test Plan: Verified one test case with "dotest.py".

Reviewers: sylvestre.ledru, zturner

Reviewed By: zturner

Subscribers: zturner, ted, tberghammer, emaste, lldb-commits

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

llvm-svn: 239007

9 years agoPack the MCSymbolELF bit fields into MCSymbol's Flags.
Rafael Espindola [Thu, 4 Jun 2015 02:32:20 +0000 (02:32 +0000)]
Pack the MCSymbolELF bit fields into MCSymbol's Flags.

This reduces MCSymolfELF from 64 bytes to 56 bytes on x86_64.

While at it, also make getOther/setOther easier to use by accepting unshifted
STO_* values.

llvm-svn: 239006

9 years agoCOFF: /include'd symbols must be preserved.
Rui Ueyama [Thu, 4 Jun 2015 02:12:16 +0000 (02:12 +0000)]
COFF: /include'd symbols must be preserved.

Not only entry point symbol but also symbols specified by /include
option must be preserved, as they will never be dead-stripped.

http://reviews.llvm.org/D10220

llvm-svn: 239005

9 years agoWhile applying N4258, I forgot about LWG#2455, which modified the modifications....
Marshall Clow [Thu, 4 Jun 2015 02:05:41 +0000 (02:05 +0000)]
While applying N4258, I forgot about LWG#2455, which modified the modifications. Correct those - h/t: Howard

llvm-svn: 239004

9 years ago[PM/AA] Start refactoring AliasAnalysis to remove the analysis group and
Chandler Carruth [Thu, 4 Jun 2015 02:03:15 +0000 (02:03 +0000)]
[PM/AA] Start refactoring AliasAnalysis to remove the analysis group and
port it to the new pass manager.

All this does is extract the inner "location" class used by AA into its
own full fledged type. This seems *much* cleaner as MemoryDependence and
soon MemorySSA also use this heavily, and it doesn't make much sense
being inside the AA infrastructure.

This will also make it much easier to break apart the AA infrastructure
into something that stands on its own rather than using the analysis
group design.

There are a few places where this makes APIs not make sense -- they were
taking an AliasAnalysis pointer just to build locations. I'll try to
clean those up in follow-up commits.

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

llvm-svn: 239003

9 years ago[CodeGen][NEON] Emit constants for "immediate" intrinsic arguments.
Ahmed Bougacha [Thu, 4 Jun 2015 01:43:41 +0000 (01:43 +0000)]
[CodeGen][NEON] Emit constants for "immediate" intrinsic arguments.

On ARM/AArch64, we currently always use EmitScalarExpr for the immediate
builtin arguments, instead of directly emitting the constant. When the
overflow sanitizer is enabled, this generates overflow intrinsics
instead of constants, breaking assumptions in various places.

Instead, use the knowledge of "immediates" to directly emit a constant:
- teach the tablegen backend to emit the "immediate" modifiers
- use those modifiers in the NEON CodeGen, on ARM and AArch64.

Fixes PR23517.

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

llvm-svn: 239002

9 years agomake reciprocal estimate code generation more flexible by adding command-line options...
Sanjay Patel [Thu, 4 Jun 2015 01:32:35 +0000 (01:32 +0000)]
make reciprocal estimate code generation more flexible by adding command-line options (3rd try)

The first try (r238051) to land this was reverted due to ExecutionEngine build failure;
that was hopefully addressed by r238788.

The second try (r238842) to land this was reverted due to BUILD_SHARED_LIBS failure;
that was hopefully addressed by r238953.

This patch adds a TargetRecip class for processing many recip codegen possibilities.
The class is intended to handle both command-line options to llc as well
as options passed in from a front-end such as clang with the -mrecip option.

The x86 backend is updated to use the new functionality.
Only -mcpu=btver2 with -ffast-math should see a functional change from this patch.
All other x86 CPUs continue to *not* use reciprocal estimates by default with -ffast-math.

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

llvm-svn: 239001

9 years ago[sanitizer_common] Added VS-style output for source locations
Filipe Cabecinhas [Thu, 4 Jun 2015 01:20:06 +0000 (01:20 +0000)]
[sanitizer_common] Added VS-style output for source locations

Summary:
With this patch, we have a flag to toggle displaying source locations in
the regular style:
file:line:column

or Visual Studio style:
file(line,column)

This way, they get picked up on the Visual Studio output window and one
can double-click them to get to that file location.

Reviewers: samsonov, rnk

Subscribers: llvm-commits

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

llvm-svn: 239000

9 years agoR600: Re-enable sub-reg liveness
Tom Stellard [Thu, 4 Jun 2015 01:20:04 +0000 (01:20 +0000)]
R600: Re-enable sub-reg liveness

The bug in the R600 backend that this uncovered has been fixed.

llvm-svn: 238999

9 years agoFixed option description. '=' is required.
John Thompson [Thu, 4 Jun 2015 01:12:56 +0000 (01:12 +0000)]
Fixed option description. '=' is required.

llvm-svn: 238998

9 years agoFixed option comment. '=' is required.
John Thompson [Thu, 4 Jun 2015 01:10:19 +0000 (01:10 +0000)]
Fixed option comment. '=' is required.

llvm-svn: 238997

9 years agoRemove MCELFSymbolFlags.h. It is now internal to MCSymbolELF.
Rafael Espindola [Thu, 4 Jun 2015 00:47:43 +0000 (00:47 +0000)]
Remove MCELFSymbolFlags.h. It is now internal to MCSymbolELF.

llvm-svn: 238996

9 years ago[asan] Fix undefined MAP_NORESERVE on FreeBSD.
Evgeniy Stepanov [Thu, 4 Jun 2015 00:42:15 +0000 (00:42 +0000)]
[asan] Fix undefined MAP_NORESERVE on FreeBSD.

llvm-svn: 238995

9 years agoDriver: Don't crash when generating crash reports for *-header inputs
Justin Bogner [Thu, 4 Jun 2015 00:30:22 +0000 (00:30 +0000)]
Driver: Don't crash when generating crash reports for *-header inputs

If we crash while handling headers, the crash report mechanism
currently tries to make a string out of a null pointer when it tries
to make up a file extension.

Map *-header input types to reasonable extensions to avoid this.

llvm-svn: 238994

9 years ago[analyzer]Test commit fixing 80-column violation in comment. NFC.
Devin Coughlin [Thu, 4 Jun 2015 00:18:10 +0000 (00:18 +0000)]
[analyzer]Test commit fixing 80-column violation in comment. NFC.

llvm-svn: 238993

9 years agoSave getArch() in a local var instead of calling it 20 times, etc.
Douglas Katzman [Thu, 4 Jun 2015 00:15:00 +0000 (00:15 +0000)]
Save getArch() in a local var instead of calling it 20 times, etc.

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

llvm-svn: 238992

9 years ago[Sanitizers] Add *SAN_OPTIONS to possibly_dangerous_env_vars
Filipe Cabecinhas [Thu, 4 Jun 2015 00:12:55 +0000 (00:12 +0000)]
[Sanitizers] Add *SAN_OPTIONS to possibly_dangerous_env_vars

Summary:
This way, if they're set when running ninja check-ubsan (or another
sanitizer), they get cleared before we start invoking the programs.

Reviewers: samsonov, kcc

Subscribers: llvm-commits

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

llvm-svn: 238991

9 years agoMore N4258 changes. This time vector's constructors
Marshall Clow [Thu, 4 Jun 2015 00:10:20 +0000 (00:10 +0000)]
More N4258 changes. This time vector's constructors

llvm-svn: 238990

9 years ago[ELF/AArch64] Fix build issue on MSVC
Adhemerval Zanella [Wed, 3 Jun 2015 22:47:41 +0000 (22:47 +0000)]
[ELF/AArch64] Fix build issue on MSVC

This patch fixes a build issue from r238981.

llvm-svn: 238986

9 years agoImprove test added in r238481.
Alexey Samsonov [Wed, 3 Jun 2015 22:36:17 +0000 (22:36 +0000)]
Improve test added in r238481.

llvm-svn: 238985

9 years agoI make no claims that Mach ports work, but at least we should check the right thing
Enrico Granata [Wed, 3 Jun 2015 22:35:55 +0000 (22:35 +0000)]
I make no claims that Mach ports work, but at least we should check the right thing

llvm-svn: 238984

9 years ago[Object, MachO] Introduce MachOObjectFile::load_commands() range iterator.
Alexey Samsonov [Wed, 3 Jun 2015 22:19:36 +0000 (22:19 +0000)]
[Object, MachO] Introduce MachOObjectFile::load_commands() range iterator.

Summary:
Now users don't have to manually deal with getFirstLoadCommandInfo() /
getNextLoadCommandInfo(), calculate the number of load segments, etc.

No functionality change.

Test Plan: regression test suite

Reviewers: rafael, lhames, loladiro

Subscribers: llvm-commits

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

llvm-svn: 238983

9 years agoRemember if a weakref of a symbol has been used.
Rafael Espindola [Wed, 3 Jun 2015 21:52:06 +0000 (21:52 +0000)]
Remember if a weakref of a symbol has been used.

This avoids yet another last minute patching of the binding.

While at it, also simplify the weakref implementation a bit by not walking
past it in the expression evaluation.

llvm-svn: 238982

9 years ago[ELF/AArch64] Fix TLS initial executable relocation
Adhemerval Zanella [Wed, 3 Jun 2015 21:44:03 +0000 (21:44 +0000)]
[ELF/AArch64] Fix TLS initial executable relocation

This patch fixes the TLS initial executable for AArch64.  Current
implementation have two issues: 1. does not generate dynamic
R_AARCH64_TLS_TPREL64 relocation for the external module symbols,
and 2. does not export the TLS initial executable symbol in dynamic
symbol table.

The fix follows the MIPS strategy to add a arch-specific GOTSection
class to keep track of TLS symbols required to be place in dynamic
symbol table. It also overrides the buildDynamicSymbolTable for
ExecutableWrite class to add the symbols.

It also adds some refactoring on AArch64RelocationPass.cpp based on ARM
backend.

llvm-svn: 238981

9 years agoStore whether a symbol is a comdat signature in MCSymbolELF.
Rafael Espindola [Wed, 3 Jun 2015 21:41:59 +0000 (21:41 +0000)]
Store whether a symbol is a comdat signature in MCSymbolELF.

With this getBinging can now return the correct answer for all cases not
involving a .symver and the elf writer doesn't need to patch it last minute.

llvm-svn: 238980

9 years agoRecord in a MCSymbolELF if it has been used in a relocation.
Rafael Espindola [Wed, 3 Jun 2015 21:30:10 +0000 (21:30 +0000)]
Record in a MCSymbolELF if it has been used in a relocation.

No functionality change, just saves an on the side map.

llvm-svn: 238979

9 years agoSimplify the logic in ELFObjectWriter::isInSymtab. NFC.
Rafael Espindola [Wed, 3 Jun 2015 21:23:21 +0000 (21:23 +0000)]
Simplify the logic in ELFObjectWriter::isInSymtab. NFC.

_GLOBAL_OFFSET_TABLE_ is not magical and we can now directly check for a
symbol never getting an explicit binding.

llvm-svn: 238978

9 years agoSkip test failing on FreeBSD buildbot due to pexepect issues
Ed Maste [Wed, 3 Jun 2015 21:21:40 +0000 (21:21 +0000)]
Skip test failing on FreeBSD buildbot due to pexepect issues

The pexpect exception is not handled by expectedFailureFreeBSD, so just
skip the test for now.

llvm.org/pr22784

llvm-svn: 238977

9 years agoXFAIL TestPlatformCommand test failing on the FreeBSD buildbot
Ed Maste [Wed, 3 Jun 2015 21:21:00 +0000 (21:21 +0000)]
XFAIL TestPlatformCommand test failing on the FreeBSD buildbot

llvm.org/pr23747

llvm-svn: 238976

9 years agoConvert BindingExplicitlySet into a MCSymbolELF field.
Rafael Espindola [Wed, 3 Jun 2015 21:18:03 +0000 (21:18 +0000)]
Convert BindingExplicitlySet into a MCSymbolELF field.

I will pack it better in a followup patch.

llvm-svn: 238975

9 years agoFix a bug where trying to Dump() a ValueObject would use the static/non-synthetic...
Enrico Granata [Wed, 3 Jun 2015 20:43:54 +0000 (20:43 +0000)]
Fix a bug where trying to Dump() a ValueObject would use the static/non-synthetic version of the value even if the ValueObject one actually called Dump() on turned out to be dynamic and/or synthetic
This was of course overridable by using DumpValueObjectOptions, but the default should be saner and the previous behavior made for a few fun investigations....

rdar://problem/21065149

llvm-svn: 238961

9 years ago[ELF/AArch64] Fix correct TCB aligment calculation
Adhemerval Zanella [Wed, 3 Jun 2015 20:39:30 +0000 (20:39 +0000)]
[ELF/AArch64] Fix correct TCB aligment calculation

This patch fixes the TLS local relocations alignment done by @238258.
As pointed out, the TLS size should not be considered, but rather the
TCB size based on maximum output segment alignment.  Although it has
not shown in the TLS simple cases for test-suite, more comprehensible
tests with more local TLS variable showed wrong relocations values
being generated.

The local TLS testcase is expanded to add more tls variable (both
exported and static) initialized or not.

llvm-svn: 238960

9 years agoReapply r238941 - [dsymutil] Accept a YAML debug map as input instead of a binary.
Frederic Riss [Wed, 3 Jun 2015 20:29:24 +0000 (20:29 +0000)]
Reapply r238941 - [dsymutil] Accept a YAML debug map as input instead of a binary.

With a couple more constructors that GCC thinks are necessary.

Original commit message:

[dsymutil] Accept a YAML debug map as input instead of a binary.

To do this, the user needs to pass the new -y flag.
As it wasn't tested before, the debug map YAML deserialization was
completely buggy (mainly because the DebugMapObject has a dual
mapping that allows to search by name and by address, but only the
StringMap got populated). It's fixed and tested in this commit by
augmenting some test with a 2 stage dwarf link: a frist llvm-dsymutil
reads the debug map and pipes it in a second instance that does the
actual link without touching the initial binary.

llvm-svn: 238959

9 years agoR600/SI: Fix tests with triples in them
Matt Arsenault [Wed, 3 Jun 2015 20:04:05 +0000 (20:04 +0000)]
R600/SI: Fix tests with triples in them

Only set the triple from the command line options.
Some of these were still testing SI features and using the
old r600-- triple.

llvm-svn: 238958

9 years agoMore of N4258 implementation. Mark all of our test_allocators as noexcept constructib...
Marshall Clow [Wed, 3 Jun 2015 19:56:43 +0000 (19:56 +0000)]
More of N4258 implementation. Mark all of our test_allocators as noexcept constructible. Make the constructors for basic_string noexcept all the time (under C++14). Update tests to reflect the new world order. More to come.

llvm-svn: 238957

9 years agoChange big 'if' statement into a switch. NFC
Douglas Katzman [Wed, 3 Jun 2015 19:40:30 +0000 (19:40 +0000)]
Change big 'if' statement into a switch. NFC

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

llvm-svn: 238955

9 years agoSuppress uninitialized-variable-is-used warning in kmp_csupport.c
Jonathan Peyton [Wed, 3 Jun 2015 19:31:39 +0000 (19:31 +0000)]
Suppress uninitialized-variable-is-used warning in kmp_csupport.c

The following change is needed to suppress the "variable 'retval' is used
uninitialized whenever 'if' condition is false" warnings in runtime/src/kmp_csupport.c.
This change just initializes 'retval' to 0.
http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000667.html

Patch by Jack Howarth

llvm-svn: 238954

9 years agoadd missing dependency on Target lib for tools
Sanjay Patel [Wed, 3 Jun 2015 19:07:51 +0000 (19:07 +0000)]
add missing dependency on Target lib for tools

This was exposed by r238842 (which was reverted by r238900)
when doing a CMake build with -DBUILD_SHARED_LIBS=ON.

llvm-svn: 238953

9 years agoRemove getOrCreateSymbolData. There is no MCSymbolData anymore.
Rafael Espindola [Wed, 3 Jun 2015 19:03:11 +0000 (19:03 +0000)]
Remove getOrCreateSymbolData. There is no MCSymbolData anymore.

llvm-svn: 238952

9 years agoRuntimeDyld: override EH frame registration with trivial version.
Tim Northover [Wed, 3 Jun 2015 18:26:52 +0000 (18:26 +0000)]
RuntimeDyld: override EH frame registration with trivial version.

llvm-rtdyld was relying on the default memory manager's EH frame registration,
which is host-dependent rather than target-dependent. As a result, big-endian
ELF Mips EH frames were being registered on OS X (and elsewhere). This is a
really bad idea.

llvm-svn: 238951

9 years agoRemove conditional parameters from KA_TRACE macro.
Jonathan Peyton [Wed, 3 Jun 2015 18:24:02 +0000 (18:24 +0000)]
Remove conditional parameters from KA_TRACE macro.

It's undefined behavior to have arguments to macros be conditionally preprocessed.
http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000669.html

Patch by Jack Howarth and Jonathan Peyton

llvm-svn: 238950

9 years ago[Hexagon] Test doesn't work on all platforms. At any rate the uninitialized variable...
Colin LeMahieu [Wed, 3 Jun 2015 18:00:45 +0000 (18:00 +0000)]
[Hexagon] Test doesn't work on all platforms.  At any rate the uninitialized variable issue was fixed.  Removing re-registering ASM backend.

llvm-svn: 238949

9 years ago[Hexagon] Reapply 238773 after fix to LLVM.
Colin LeMahieu [Wed, 3 Jun 2015 17:34:22 +0000 (17:34 +0000)]
[Hexagon] Reapply 238773 after fix to LLVM.

llvm-svn: 238948

9 years ago[Hexagon] Reapply 238772 OSABI was not correctly set, added empty_elf test to make...
Colin LeMahieu [Wed, 3 Jun 2015 17:34:16 +0000 (17:34 +0000)]
[Hexagon] Reapply 238772 OSABI was not correctly set, added empty_elf test to make sure it is.

llvm-svn: 238947

9 years agoReorder C++ initialization lists to appease compiler.
Jonathan Peyton [Wed, 3 Jun 2015 17:26:47 +0000 (17:26 +0000)]
Reorder C++ initialization lists to appease compiler.

in kmp_wait_release.h, there were some constructors where the initialization
lists were out of order with the member declarations inside the class.  This
patch just reorders the initialization list so the compiler doesn't complain.
http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000670.html

Patch by Jack Howarth and Jonathan Peyton

llvm-svn: 238946

9 years agofallback_malloc: silence conversion warning (NFC)
Saleem Abdulrasool [Wed, 3 Jun 2015 17:25:35 +0000 (17:25 +0000)]
fallback_malloc: silence conversion warning (NFC)

This silences some conversion warnings from GCC 4.9.2.  Simply casting the RHS
doesn't seem to be sufficient to silence the warning.  Convert the operation
equal operator usage to calculation and assignment.

llvm-svn: 238945

9 years agofallback_malloc: silence qual-cast warning (NFC)
Saleem Abdulrasool [Wed, 3 Jun 2015 17:25:33 +0000 (17:25 +0000)]
fallback_malloc: silence qual-cast warning (NFC)

This silences a GCC 4.9.2 qual-cast warning in the fallback_malloc codepath.
NFC.

llvm-svn: 238944

9 years agoRevert "[dsymutil] Accept a YAML debug map as input instead of a binary."
Frederic Riss [Wed, 3 Jun 2015 17:08:42 +0000 (17:08 +0000)]
Revert "[dsymutil] Accept a YAML debug map as input instead of a binary."

This reverts commit r238941 while I figure out the bot issues.

llvm-svn: 238943

9 years agoclang-format: [JS] Let fat arrows have 'Equality' precedence.
Daniel Jasper [Wed, 3 Jun 2015 17:08:40 +0000 (17:08 +0000)]
clang-format: [JS] Let fat arrows have 'Equality' precedence.

This fixes a regression in literal formatting:

Before:
  aaaaaaaaaaaaa = {
    aaaaaaaaaaaaaaaaaaaaaaaaaaaa: (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
                                   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) =>
        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
  };

After:
  var aaaaaaaaaaaaaaaaaaaa = {
    aaaaaaaaaaaaaaaaaaaaaaaaaaaa:
        (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) =>
                aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
  };

Also apply no-else-after-return policy.

llvm-svn: 238942

9 years ago[dsymutil] Accept a YAML debug map as input instead of a binary.
Frederic Riss [Wed, 3 Jun 2015 16:57:16 +0000 (16:57 +0000)]
[dsymutil] Accept a YAML debug map as input instead of a binary.

To do this, the user needs to pass the new -y flag.
As it wasn't tested before, the debug map YAML deserialization was
completely buggy (mainly because the DebugMapObject has a dual
mapping that allows to search by name and by address, but only the
StringMap got populated). It's fixed and tested in this commit by
augmenting some test with a 2 stage dwarf link: a frist llvm-dsymutil
reads the debug map and pipes it in a second instance that does the
actual link without touching the initial binary.

llvm-svn: 238941

9 years ago[dsymutil] Replace -parse-only option with -dump-debug-map
Frederic Riss [Wed, 3 Jun 2015 16:57:12 +0000 (16:57 +0000)]
[dsymutil] Replace -parse-only option with -dump-debug-map

As the serialized debug map is becoming a first class citizen, a way
to cleanly dump it is required. We used -parse-only combined with
-v for that purpose before, but it dumps a lot of unrelated debug
stuff. Dumping the debug map was the only use of the -parse-only flag
anyway, so replace it with a more useful option.

llvm-svn: 238940

9 years ago[dsymutil] Reflow option declarations to be more readable.
Frederic Riss [Wed, 3 Jun 2015 16:57:07 +0000 (16:57 +0000)]
[dsymutil] Reflow option declarations to be more readable.

llvm-svn: 238939

9 years agoFix misleading comment. NFC
Douglas Katzman [Wed, 3 Jun 2015 16:56:50 +0000 (16:56 +0000)]
Fix misleading comment. NFC

llvm-svn: 238938

9 years agoFix typo.
Rui Ueyama [Wed, 3 Jun 2015 16:50:41 +0000 (16:50 +0000)]
Fix typo.

llvm-svn: 238937

9 years agoCOFF: Change OutputSections' type from vector<unique_ptr<T>> to vector<T*>.
Rui Ueyama [Wed, 3 Jun 2015 16:44:00 +0000 (16:44 +0000)]
COFF: Change OutputSections' type from vector<unique_ptr<T>> to vector<T*>.

This is mainly for readability. OutputSection objects are still owned
by the writer using SpecificBumpPtrAllocator.

llvm-svn: 238936

9 years agoARM: Thumb2 LDRD/STRD supports independent input/output regs
Matthias Braun [Wed, 3 Jun 2015 16:30:24 +0000 (16:30 +0000)]
ARM: Thumb2 LDRD/STRD supports independent input/output regs

The existing code would unnecessarily break LDRD/STRD apart with
non-adjacent registers, on thumb2 this is not necessary.

Ideally on thumb2 we shouldn't match for ldrd/strd pre-regalloc anymore
as there is not reason to set register hints anymore, changing that is
something for a future patch however.

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

Recommiting after the revert in r238821, the buildbot still failed with
the patch removed so there seems to be another reason for the breakage.

llvm-svn: 238935

9 years agoRemove unused variable anonym from kmp_atomic.c
Jonathan Peyton [Wed, 3 Jun 2015 16:23:36 +0000 (16:23 +0000)]
Remove unused variable anonym from kmp_atomic.c

There is an anonym variable inside a macro that is declared and defined
but never used.  This patch removes it.
http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000666.html

Patch by Jack Howarth and Jonathan Peyton

llvm-svn: 238934

9 years agoFix typo in comment. NFC.
Diego Novillo [Wed, 3 Jun 2015 16:22:12 +0000 (16:22 +0000)]
Fix typo in comment. NFC.

llvm-svn: 238933

9 years ago[Statepoints] Mark statepoint intrinsic with Throws attribute
Igor Laevsky [Wed, 3 Jun 2015 16:18:58 +0000 (16:18 +0000)]
[Statepoints] Mark statepoint intrinsic with Throws attribute

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

llvm-svn: 238932

9 years agoAdd 'is_always_equal' tests for scoped_allocator. Found that I had typed '||' where...
Marshall Clow [Wed, 3 Jun 2015 16:15:55 +0000 (16:15 +0000)]
Add 'is_always_equal' tests for scoped_allocator. Found that I had typed '||' where I meant '&&' in the code; fixed that, too

llvm-svn: 238931

9 years ago[doc] Rename -polly-detect-only= to -polly-only-func=
Tobias Grosser [Wed, 3 Jun 2015 15:45:19 +0000 (15:45 +0000)]
[doc] Rename -polly-detect-only= to -polly-only-func=

llvm-svn: 238930

9 years agoLower signed-divisions without rounding to ashr instructions
Tobias Grosser [Wed, 3 Jun 2015 15:14:58 +0000 (15:14 +0000)]
Lower signed-divisions without rounding to ashr instructions

llvm-svn: 238929

9 years ago[utils] Improvements to check_cfc.py to work better with some build systems.
Russell Gallop [Wed, 3 Jun 2015 15:09:13 +0000 (15:09 +0000)]
[utils] Improvements to check_cfc.py to work better with some build systems.

Recognise options to output dependency files and don't perform checks.
Report input file name when reporting a check failure so it is more obvious in large build logs.

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

llvm-svn: 238928

9 years agoOnly convert power-of-two floor-division with non-negative denominator
Tobias Grosser [Wed, 3 Jun 2015 14:43:01 +0000 (14:43 +0000)]
Only convert power-of-two floor-division with non-negative denominator

floord(a,b) === a ashr log_2 (b) holds for positive and negative a's, but
shifting only makes sense for positive values of b. The previous patch did
not consider this as isl currently always produces postive b's. To avoid future
surprises, we check that b is positive and only then apply the optimization.

We also now correctly check the return value of the dyn-cast.

No additional test case, as isl currently does not produce negative
denominators.

Reported-by: David Majnemer <david.majnemer@gmail.com>
llvm-svn: 238927

9 years ago[utils] Add exact check to check_cfc.py dash_s_no_change.
Russell Gallop [Wed, 3 Jun 2015 14:33:57 +0000 (14:33 +0000)]
[utils] Add exact check to check_cfc.py dash_s_no_change.

Files compiled with -via-file-asm should be byte for byte identical. This
change improves the checking on dash_s_no_change to detect non-code
differences. If there is a difference, the check goes on to compare code and
debug to try and be more informative.

llvm-svn: 238926

9 years ago[arm] Fix r238921. We must handle Constraint_i too.
Daniel Sanders [Wed, 3 Jun 2015 14:17:18 +0000 (14:17 +0000)]
[arm] Fix r238921. We must handle Constraint_i too.

llvm-svn: 238925

9 years agominor test fix
Asaf Badouh [Wed, 3 Jun 2015 13:42:46 +0000 (13:42 +0000)]
minor test fix

llvm-svn: 238924