platform/upstream/llvm.git
10 years agoAdd a new way to bind a format to a type: by enum type
Enrico Granata [Sat, 28 Dec 2013 08:44:02 +0000 (08:44 +0000)]
Add a new way to bind a format to a type: by enum type
The "type format add" command gets a new flag --type (-t). If you pass -t <sometype>, upon fetching the value for an object of your type,
LLDB will display it as-if it was of enumeration type <sometype>
This is useful in cases of non-contiguous enums where there are empty gaps of unspecified values, and as such one cannot type their variables as the enum type,
but users would still like to see them as-if they were of the enum type (e.g. DWARF field types with their user-reserved ranges)

The SB API has also been improved to handle both types of formats, and a test case is added

llvm-svn: 198105

10 years ago[PECOFF] Warn only when /export options are not compatible.
Rui Ueyama [Sat, 28 Dec 2013 08:40:37 +0000 (08:40 +0000)]
[PECOFF] Warn only when /export options are not compatible.

Currently LLD always print a warning message if the same symbol is specified
more than once for /export option. It's a bit annoying because specifying the
same symbol with compatible options is actually safe and considered as a
normal use case. This patch makes LLD to warn only when incompatible export
options are given.

llvm-svn: 198104

10 years agotemporary commit
Rui Ueyama [Sat, 28 Dec 2013 08:40:23 +0000 (08:40 +0000)]
temporary commit

llvm-svn: 198103

10 years ago[PECOFF] Use std::set to store export symbol descriptors.
Rui Ueyama [Sat, 28 Dec 2013 08:11:21 +0000 (08:11 +0000)]
[PECOFF] Use std::set to store export symbol descriptors.

Each export symbol descriptor has unique name attribute, so std::set is
better container than std::vector for it. No functionality change.

llvm-svn: 198102

10 years agoAsmParser: cleanup diagnostics for .rep/.rept
Saleem Abdulrasool [Sat, 28 Dec 2013 06:39:29 +0000 (06:39 +0000)]
AsmParser: cleanup diagnostics for .rep/.rept

Avoid double diagnostics for invalid expressions for count.  Improve caret
location for negative count.

llvm-svn: 198099

10 years agoIAS: support .rep as an alias for .rept
Saleem Abdulrasool [Sat, 28 Dec 2013 05:54:33 +0000 (05:54 +0000)]
IAS: support .rep as an alias for .rept

The GNU assembler supports .rep as an alias for .rept.  This simply creates the
alias for it and introduces a test for both .rept and .rep.

llvm-svn: 198097

10 years agoPropagate "-arch x86_64h" setting to the linker. <rdar://problem/15711488>
Bob Wilson [Sat, 28 Dec 2013 05:26:14 +0000 (05:26 +0000)]
Propagate "-arch x86_64h" setting to the linker. <rdar://problem/15711488>

This is a follow-up to r194907, which added a new -arch setting to make it
easier to specify AVX2 targets. The "-arch x86_64h" option needs to be passed
on to the linker, but it was getting canonicalized to x86_64 by the code
in getArchTypeForDarwinArchName.

llvm-svn: 198096

10 years agoARMAsmParser: fix typo in comment
Saleem Abdulrasool [Sat, 28 Dec 2013 03:07:12 +0000 (03:07 +0000)]
ARMAsmParser: fix typo in comment

llvm-svn: 198095

10 years agoSilence a dubious GCC warning about a set but unused global. Indeed, the
Chandler Carruth [Sat, 28 Dec 2013 02:50:00 +0000 (02:50 +0000)]
Silence a dubious GCC warning about a set but unused global. Indeed, the
purpose of this global is to be set and not used. =]

llvm-svn: 198094

10 years agoDisable transforms that introduce calls to exp10*() on Linux due to
Chandler Carruth [Sat, 28 Dec 2013 02:40:19 +0000 (02:40 +0000)]
Disable transforms that introduce calls to exp10*() on Linux due to
widespread glibc bugs.

The glibc implementation of exp10 has a very serious precision bug in
version 2.15 (and older versions). This is still very widely used (the
current Ubuntu LTS for example uses it) and so it isn't reasonable to
make transforms that produce these functions. This fixes many
miscompiles introduced when we started transforming pow(10.0, ...) into
exp10, and it may have fixed other latent miscompiles where exp10
provided sufficient precision but exp10f did not.

This is all really horrible. The primary bug has been fixed for over
a year and glibc 2.18 works correctly for the test cases I have, but it
will be 2017 before the LTS using 2.15 is no longer supported by Ubuntu
(and thus reasonable for folks to be relying on). =[ We're either going
to need to live without these optimizations, or find a way to switch
behavior more dynamically than using simply the fact that the OS is
"Linux".

To make matters worse, there appears to be significant testing and
fixing of numerous other bugs in the exp10 family of functions right now
in glibc. While those haven't been causing problems I've seen in the
wild, it gives me concerns that we may need to wait until an even later
release of glibc before we can reliably transform code into exp10.

llvm-svn: 198093

10 years agoRemove AsmPrinter::needsRelocationsForDwarfStringPool() since it's
Eric Christopher [Sat, 28 Dec 2013 01:39:17 +0000 (01:39 +0000)]
Remove AsmPrinter::needsRelocationsForDwarfStringPool() since it's
just calling into MAI and is only abstracting for a single interface that
we actually need to check in multiple places.

llvm-svn: 198092

10 years agoFix a gcc-4.8 warning, about extraneous semicolons.
Joey Gouly [Sat, 28 Dec 2013 00:46:57 +0000 (00:46 +0000)]
Fix a gcc-4.8 warning, about extraneous semicolons.

llvm-svn: 198091

10 years agoAttempt to fix JIT unit tests after r198087.
Nico Weber [Fri, 27 Dec 2013 23:36:22 +0000 (23:36 +0000)]
Attempt to fix JIT unit tests after r198087.

llvm-svn: 198089

10 years agoSet NO_DEAD_STRIP for clang after llvm r198087.
Nico Weber [Fri, 27 Dec 2013 22:39:28 +0000 (22:39 +0000)]
Set NO_DEAD_STRIP for clang after llvm r198087.

llvm-svn: 198088

10 years agoStrip dead code when linking by default with BFD ld (linux, ...) and ld64 (os x).
Nico Weber [Fri, 27 Dec 2013 22:38:59 +0000 (22:38 +0000)]
Strip dead code when linking by default with BFD ld (linux, ...) and ld64 (os x).

This reduces the size of clang-format from 22 MB to 1.8 MB, diagtool goes from
21 MB to 2.8 MB, libclang.so goes from 29 MB to 20 MB, etc.  The size of the
bin/ folder shrinks from 270 MB to 200 MB.

Targets that support plugins and don't already use EXPORTED_SYMBOL_FILE
(which libclang and libLTO already do) can set NO_DEAD_STRIP to opt out.

llvm-svn: 198087

10 years agoMove MS header search test inputs to Inputs/
Reid Kleckner [Fri, 27 Dec 2013 20:41:49 +0000 (20:41 +0000)]
Move MS header search test inputs to Inputs/

llvm-svn: 198086

10 years agoReduce indentation of some VFTableBuilder code.
Reid Kleckner [Fri, 27 Dec 2013 20:29:16 +0000 (20:29 +0000)]
Reduce indentation of some VFTableBuilder code.

No functionality change.

llvm-svn: 198085

10 years agoTeach DAGCombiner how to fold a SIGN_EXTEND_INREG of a BUILD_VECTOR of
Andrea Di Biagio [Fri, 27 Dec 2013 20:20:28 +0000 (20:20 +0000)]
Teach DAGCombiner how to fold a SIGN_EXTEND_INREG of a BUILD_VECTOR of
ConstantSDNodes (or UNDEFs) into a simple BUILD_VECTOR.

For example, given the following sequence of dag nodes:

  i32 C = Constant<1>
  v4i32 V = BUILD_VECTOR C, C, C, C
  v4i32 Result = SIGN_EXTEND_INREG V, ValueType:v4i1

The SIGN_EXTEND_INREG node can be folded into a build_vector since
the vector in input is a BUILD_VECTOR of constants.

The optimized sequence is:

  i32 C = Constant<-1>
  v4i32 Result = BUILD_VECTOR C, C, C, C

llvm-svn: 198084

10 years agoSilence compile warning by removing unused SourceMgr member
Will Wilson [Fri, 27 Dec 2013 20:02:27 +0000 (20:02 +0000)]
Silence compile warning by removing unused SourceMgr member

llvm-svn: 198083

10 years agoImplement MSVC header search algorithm in MicrosoftMode.
Will Wilson [Fri, 27 Dec 2013 19:46:16 +0000 (19:46 +0000)]
Implement MSVC header search algorithm in MicrosoftMode.
Follows algorithm described here: http://msdn.microsoft.com/en-us/library/36k2cdd4.aspx

llvm-svn: 198082

10 years agoFix incorrect copy-pasted method decl that MSVC allowed.
Reid Kleckner [Fri, 27 Dec 2013 19:45:53 +0000 (19:45 +0000)]
Fix incorrect copy-pasted method decl that MSVC allowed.

llvm-svn: 198081

10 years ago[ms-cxxabi] Emit fewer trivial return adjusting thunks
Reid Kleckner [Fri, 27 Dec 2013 19:43:59 +0000 (19:43 +0000)]
[ms-cxxabi] Emit fewer trivial return adjusting thunks

Most importantly, this makes our vtable layout match MSVC's.  Previously
we would emit a return adjusting thunk whenever the return types
differed, even if the adjustment would have been trivial.

MSVC does emit some trivial return adjusting thunks, but only if there
was already an overridden method that required a return adjustment.

llvm-svn: 198080

10 years agoDebugInfo: Remove dead code, DICompositeType::addMember(DIDescriptor D)
David Blaikie [Fri, 27 Dec 2013 19:11:52 +0000 (19:11 +0000)]
DebugInfo: Remove dead code, DICompositeType::addMember(DIDescriptor D)

It's no longer necessary to lazily add members to the DICompositeType
member list. Instead any lazy members (special member functions and
member template instantiations) are added to the parent late based on
their context link, the same way that nested types have always been
handled (never being in the member list - just added to the parent DIE
lazily based on context).

Clang's been updated not to use this function anymore as it improves
type unit consistency by never emitting lazy members in type units.

llvm-svn: 198079

10 years agoIn an effort to reduce the likelihood of text getting out of sync, reusing the text...
Aaron Ballman [Fri, 27 Dec 2013 19:08:57 +0000 (19:08 +0000)]
In an effort to reduce the likelihood of text getting out of sync, reusing the text from some diagnostics explicitly. No functional changes intended.

llvm-svn: 198078

10 years agoRemoved a string literal for a diagnostic, and updated the diagnostic to not manually...
Aaron Ballman [Fri, 27 Dec 2013 16:30:46 +0000 (16:30 +0000)]
Removed a string literal for a diagnostic, and updated the diagnostic to not manually quote. No functional changes intended.

llvm-svn: 198076

10 years ago[PECOFF] Add file extensions to temporary files.
Rui Ueyama [Fri, 27 Dec 2013 08:37:40 +0000 (08:37 +0000)]
[PECOFF] Add file extensions to temporary files.

No functionality change.

llvm-svn: 198075

10 years ago[PECOFF] Add a test for /noentry.
Rui Ueyama [Fri, 27 Dec 2013 08:19:21 +0000 (08:19 +0000)]
[PECOFF] Add a test for /noentry.

llvm-svn: 198074

10 years agoBury leaked pointers in a global array to silence a leak detector in --disable-free...
Kostya Serebryany [Fri, 27 Dec 2013 08:11:08 +0000 (08:11 +0000)]
Bury leaked pointers in a global array to silence a leak detector in --disable-free mode

Summary:
This is an alternative to http://llvm-reviews.chandlerc.com/D2475
suggested by Chandler.

Reviewers: chandlerc, rnk, dblaikie

CC: cfe-commits, earthdok
Differential Revision: http://llvm-reviews.chandlerc.com/D2478

llvm-svn: 198073

10 years ago[PECOFF] Change the DLL entry symbol.
Rui Ueyama [Fri, 27 Dec 2013 07:14:34 +0000 (07:14 +0000)]
[PECOFF] Change the DLL entry symbol.

I'm not 100% sure but it looks like DLL entry symbol (DLL initializer function
name) should be _DllMainCRTStartup@12. The reason why I'm not very sure is
because I have no idea what "@12" suffix is, but without it the symbol won't
be resolved...

llvm-svn: 198072

10 years ago[PECOFF] Parse .drectve section before reading other file contents.
Rui Ueyama [Fri, 27 Dec 2013 07:05:04 +0000 (07:05 +0000)]
[PECOFF] Parse .drectve section before reading other file contents.

Currently .drectve section contents are parsed after other sections are parsed.
That order may result in wrong results if other sections depend on command line
options in the directive section.

For example, if a weak symbol is defined using /alternatename option in the
directive section, we have to read it first and then read the text section
contents. Otherwise the weak symbol won't be defined.

This patch changes the order to fix the issue.

llvm-svn: 198071

10 years agoclang-format: Break default arguments less eagerly.
Daniel Jasper [Fri, 27 Dec 2013 06:39:56 +0000 (06:39 +0000)]
clang-format: Break default arguments less eagerly.

Before:
  void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(int aaaaaaaaaaaaaaaaaaaaaaaaaaaa =
                                              1);

After:
  void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
      int aaaaaaaaaaaaaaaaaaaaaaaaaaaa = 1);

llvm-svn: 198070

10 years agoUse two variables here rather than reusing (and abusing) one. This is
Chandler Carruth [Fri, 27 Dec 2013 04:44:35 +0000 (04:44 +0000)]
Use two variables here rather than reusing (and abusing) one. This is
much more clear to me. I meant to make this change before committing the
original patch, but forgot to merge it in. Sorry.

llvm-svn: 198069

10 years agoIntroduce a simple line-by-line iterator type into the Support library.
Chandler Carruth [Fri, 27 Dec 2013 04:28:57 +0000 (04:28 +0000)]
Introduce a simple line-by-line iterator type into the Support library.

This is an iterator which you can build around a MemoryBuffer. It will
iterate through the non-empty, non-comment lines of the buffer as
a forward iterator. It should be small and reasonably fast (although it
could be made much faster if anyone cares, I don't really...).

This will be used to more simply support the text-based sample
profile file format, and is largely based on the original patch by
Diego. I've re-worked the style of it and separated it from the work of
producing a MemoryBuffer from a file which both simplifies the interface
and makes it easier to test.

The style of the API follows the C++ standard naming conventions to fit
in better with iterators in general, much like the Path and FileSystem
interfaces follow standard-based naming conventions.

llvm-svn: 198068

10 years ago[PECOFF] Skip empty .drectve sections.
Rui Ueyama [Fri, 27 Dec 2013 03:34:34 +0000 (03:34 +0000)]
[PECOFF] Skip empty .drectve sections.

There are many object files in the standard library who have empty .drective
sections. Parsing the empty string is not wrong but a waste.

llvm-svn: 198067

10 years agoFix comment.
Rui Ueyama [Fri, 27 Dec 2013 02:51:53 +0000 (02:51 +0000)]
Fix comment.

llvm-svn: 198066

10 years agoWarn on mismatched parentheses in memcmp and friends.
Nico Weber [Thu, 26 Dec 2013 23:38:39 +0000 (23:38 +0000)]
Warn on mismatched parentheses in memcmp and friends.

Thisadds a new warning that warns on code like this:

  if (memcmp(a, b, sizeof(a) != 0))

The warning looks like:

test4.cc:5:30: warning: size argument in 'memcmp' call is a comparison [-Wmemsize-comparison]
  if (memcmp(a, b, sizeof(a) != 0))
                   ~~~~~~~~~~^~~~
test4.cc:5:7: note: did you mean to compare the result of 'memcmp' instead?
  if (memcmp(a, b, sizeof(a) != 0))
      ^                          ~
                            )
test4.cc:5:20: note: explicitly cast the argument to size_t to silence this warning
  if (memcmp(a, b, sizeof(a) != 0))
                   ^
                   (size_t)(     )
1 warning generated.

This found 2 bugs in chromium and has 0 false positives on both chromium and
llvm.

The idea of triggering this warning on a binop in the size argument is due to
rnk.

llvm-svn: 198063

10 years ago[ms-abi] unix-line endings in lit test, no functional change
Warren Hunt [Thu, 26 Dec 2013 22:10:14 +0000 (22:10 +0000)]
[ms-abi] unix-line endings in lit test, no functional change

llvm-svn: 198060

10 years ago[ms-abi] Fixes improperly sized vfptrs with pragma pack
Warren Hunt [Thu, 26 Dec 2013 22:09:12 +0000 (22:09 +0000)]
[ms-abi] Fixes improperly sized vfptrs with pragma pack

With pragma pack, the layout engine would produce vfptrs that were
packed width rather than pointer width.  This patch addresses the issue
and adds a test case.

llvm-svn: 198059

10 years agoTLI: Make exp10* avaiable on Linux/Mac/iOS and unavailable elsewhere
Reid Kleckner [Thu, 26 Dec 2013 19:17:04 +0000 (19:17 +0000)]
TLI: Make exp10* avaiable on Linux/Mac/iOS and unavailable elsewhere

This makes it unavailable on NetBSD, Android, etc.

Patch by Brad Smith!

llvm-svn: 198056

10 years agoTeach the diagnostics engine about the Attr type to make reporting on semantic attrib...
Aaron Ballman [Thu, 26 Dec 2013 18:30:57 +0000 (18:30 +0000)]
Teach the diagnostics engine about the Attr type to make reporting on semantic attributes easier (and not require hard-coded strings). This requires a getSpelling() function on the Attr class, which is table-driven. Updates a handful of cases where a hard-coded string was being used to test the functionality out. Updating associated test cases for the improved quoting.

llvm-svn: 198055

10 years agoRemoved a string literal for an attribute name, which means the attribute name will...
Aaron Ballman [Thu, 26 Dec 2013 17:30:44 +0000 (17:30 +0000)]
Removed a string literal for an attribute name, which means the attribute name will be quoted in the diagnostic. Manually added some quotes to a diagnostic for consistency. Updated the test cases as appropriate.

llvm-svn: 198054

10 years agoThis diagnostic did not accept arguments, and did not have any test coverage. Paramet...
Aaron Ballman [Thu, 26 Dec 2013 17:07:49 +0000 (17:07 +0000)]
This diagnostic did not accept arguments, and did not have any test coverage. Parameterized the diagnostic, and made it more consistent with other attribute diagnostic wordings. Added test coverage.

Since this warning was generalized, it was also given a sensible warning group flag and the corresponding test was updated to reflect this.

llvm-svn: 198053

10 years agos/getter_setter/accessor No functional changes intended.
Aaron Ballman [Thu, 26 Dec 2013 16:35:04 +0000 (16:35 +0000)]
s/getter_setter/accessor No functional changes intended.

Thanks to Alp Toker for the naming suggestion!

llvm-svn: 198052

10 years agoSimplifying some diagnostics so that they don't need to work with StringRefs. No...
Aaron Ballman [Thu, 26 Dec 2013 16:30:30 +0000 (16:30 +0000)]
Simplifying some diagnostics so that they don't need to work with StringRefs. No functional changes intended.

llvm-svn: 198051

10 years agoGetting rid of a string literal in favor of the generalized diagnostic.
Aaron Ballman [Thu, 26 Dec 2013 16:13:50 +0000 (16:13 +0000)]
Getting rid of a string literal in favor of the generalized diagnostic.

llvm-svn: 198050

10 years agoParameterizing some MS property-related diagnostics. No functional changes intended.
Aaron Ballman [Thu, 26 Dec 2013 15:46:38 +0000 (15:46 +0000)]
Parameterizing some MS property-related diagnostics. No functional changes intended.

llvm-svn: 198049

10 years ago[ASan] Delete asan_intercepted_functions.h, move the code into asan_interceptors.h
Alexander Potapenko [Thu, 26 Dec 2013 15:34:31 +0000 (15:34 +0000)]
[ASan] Delete asan_intercepted_functions.h, move the code into asan_interceptors.h
Fixes https://code.google.com/p/address-sanitizer/issues/detail?id=188.

llvm-svn: 198048

10 years agoNo need for the manual quotes and extra getName() call. No functional changes intended.
Aaron Ballman [Thu, 26 Dec 2013 15:06:01 +0000 (15:06 +0000)]
No need for the manual quotes and extra getName() call. No functional changes intended.

llvm-svn: 198047

10 years agoRemoving some unneeded code, and a diagnostic that was obsoleted. The type has alread...
Aaron Ballman [Thu, 26 Dec 2013 14:54:11 +0000 (14:54 +0000)]
Removing some unneeded code, and a diagnostic that was obsoleted. The type has already been determined to be a ValueDecl by virtue of the attribute subjects.

Added some test case coverage as well.

llvm-svn: 198046

10 years agoFix a typo.
Roman Divacky [Thu, 26 Dec 2013 14:43:33 +0000 (14:43 +0000)]
Fix a typo.

llvm-svn: 198045

10 years ago[asan] allow asan to use SizeClassAllocator32 on a 64-bit platform (if SANITIZER_CAN_...
Kostya Serebryany [Thu, 26 Dec 2013 13:52:38 +0000 (13:52 +0000)]
[asan] allow asan to use SizeClassAllocator32 on a 64-bit platform (if SANITIZER_CAN_USE_ALLOCATOR64=0). No functionality change by default is intended

llvm-svn: 198044

10 years agoRecognize armv7a and friends as aliases for armv7-a etc. for the purpose
Joerg Sonnenberger [Thu, 26 Dec 2013 11:50:28 +0000 (11:50 +0000)]
Recognize armv7a and friends as aliases for armv7-a etc. for the purpose
of architecture naming.

llvm-svn: 198043

10 years agoFix a bug that undefined symbols are not reported if dead-stripping is enabled.
Rui Ueyama [Thu, 26 Dec 2013 08:37:16 +0000 (08:37 +0000)]
Fix a bug that undefined symbols are not reported if dead-stripping is enabled.

There was a bug that the linker does not report an error if symbols specified
by -u (or /include on Windows) are not resolved. This patch fixes it by adding
such symbols to the dead strip root.

llvm-svn: 198041

10 years agoRemove unnecessary call of DenseMap::clear.
Rui Ueyama [Thu, 26 Dec 2013 08:11:06 +0000 (08:11 +0000)]
Remove unnecessary call of DenseMap::clear.

It should be always true that _liveAtoms is empty, so we don't have to clear it.
Add an assert() instead.

llvm-svn: 198040

10 years agoFix sidebar links
Enrico Granata [Thu, 26 Dec 2013 07:23:52 +0000 (07:23 +0000)]
Fix sidebar links

llvm-svn: 198039

10 years agoAdding a document that describes the architecture of data formatters. Suggestions...
Enrico Granata [Thu, 26 Dec 2013 07:21:41 +0000 (07:21 +0000)]
Adding a document that describes the architecture of data formatters. Suggestions and ideas for improvements most welcome

llvm-svn: 198038

10 years agoMicro-optimize Resolver::markLive().
Rui Ueyama [Thu, 26 Dec 2013 07:13:28 +0000 (07:13 +0000)]
Micro-optimize Resolver::markLive().

This patch eliminates one std::set lookup per a function call.

llvm-svn: 198037

10 years agoSimplify. No functionality change.
Rui Ueyama [Thu, 26 Dec 2013 07:02:33 +0000 (07:02 +0000)]
Simplify. No functionality change.

llvm-svn: 198036

10 years agoDo not make an unnecessary copy of DenseMap.
Rui Ueyama [Thu, 26 Dec 2013 06:57:37 +0000 (06:57 +0000)]
Do not make an unnecessary copy of DenseMap.

llvm-svn: 198035

10 years agoRemove duplicate methods.
Rui Ueyama [Thu, 26 Dec 2013 06:35:35 +0000 (06:35 +0000)]
Remove duplicate methods.

llvm-svn: 198034

10 years ago[PECOFF] Fix wrong message.
Rui Ueyama [Thu, 26 Dec 2013 06:26:47 +0000 (06:26 +0000)]
[PECOFF] Fix wrong message.

llvm-svn: 198033

10 years ago[PECOFF] Do not accept "/include <string>" option.
Rui Ueyama [Thu, 26 Dec 2013 06:00:26 +0000 (06:00 +0000)]
[PECOFF] Do not accept "/include <string>" option.

Command line argument separator on Windows is colon. We used to accept space
as a separator, but we removed most of the code for that. This patch is to
delete the remaining code.

llvm-svn: 198032

10 years agoARM IAS: support .even directive
Saleem Abdulrasool [Thu, 26 Dec 2013 01:52:28 +0000 (01:52 +0000)]
ARM IAS: support .even directive

The .even directive aligns content to an evan-numbered address.  This is an ARM
specific directive applicable to any section.

llvm-svn: 198031

10 years ago[Sparc] Lower and MachineInstr to MC and print assembly using MCInstPrinter.
Venkatraman Govindaraju [Thu, 26 Dec 2013 01:49:59 +0000 (01:49 +0000)]
[Sparc] Lower and MachineInstr to MC and print assembly using MCInstPrinter.

llvm-svn: 198030

10 years ago[Sparc] Add target specific MCExpr class to handle sparc specific modifiers like...
Venkatraman Govindaraju [Thu, 26 Dec 2013 00:01:52 +0000 (00:01 +0000)]
[Sparc] Add target specific MCExpr class to handle sparc specific modifiers like %hi, %lo, etc.,

llvm-svn: 198029

10 years ago[Sparc] Add MCInstPrinter implementation for SPARC.
Venkatraman Govindaraju [Wed, 25 Dec 2013 23:43:39 +0000 (23:43 +0000)]
[Sparc] Add MCInstPrinter implementation for SPARC.

llvm-svn: 198028

10 years ago[Sanitizer] Add Symbolizer::GetModuleNameAndOffsetForPC() and use it in LSan suppress...
Alexey Samsonov [Wed, 25 Dec 2013 20:15:46 +0000 (20:15 +0000)]
[Sanitizer] Add Symbolizer::GetModuleNameAndOffsetForPC() and use it in LSan suppression matching.

This allows us to avoid retrieving file/line info for suppressed modules.

llvm-svn: 198025

10 years agoFix some indentation issues, I saw while reading this file.
Joey Gouly [Wed, 25 Dec 2013 19:39:08 +0000 (19:39 +0000)]
Fix some indentation issues, I saw while reading this file.

llvm-svn: 198024

10 years ago[ASan] Add a test for __asan_gen_ globals labels on Darwin.
Alexander Potapenko [Wed, 25 Dec 2013 17:20:22 +0000 (17:20 +0000)]
[ASan] Add a test for __asan_gen_ globals labels on Darwin.

Per Nick Kledzik (http://llvm.org/bugs/show_bug.cgi?id=17976):
"""
For MacOSX, the labels in __cstring section should be 'L' labels, and the labels
in the __const section should be non-L or 'l' labels.  The later ('l') will cause
the linker to remove the label in the final executable.
"""

, so we need to ensure that the globals emitted by ASan have appropriate labels.

llvm-svn: 198022

10 years ago[lsan] Minor code health stuff.
Sergey Matveev [Wed, 25 Dec 2013 17:14:40 +0000 (17:14 +0000)]
[lsan] Minor code health stuff.

- introduce logging macros
- fix incorrect vector construction

llvm-svn: 198021

10 years ago[ASan] Fix the tests broken by r198018 to check for private linkage of ASan-generated...
Alexander Potapenko [Wed, 25 Dec 2013 17:06:04 +0000 (17:06 +0000)]
[ASan] Fix the tests broken by r198018 to check for private linkage of ASan-generated globals.

llvm-svn: 198020

10 years ago[Mips] Does not take in account 'use-soft-float' attribute's value when
Simon Atanasyan [Wed, 25 Dec 2013 17:00:27 +0000 (17:00 +0000)]
[Mips] Does not take in account 'use-soft-float' attribute's value when
consider to generate stubs for mips16 hard-float mode.

The patch reviewed by Reed Kotler.

llvm-svn: 198019

10 years ago[ASan] Fix the test for __asan_gen_ globals and actually fix http://llvm.org/bugs...
Alexander Potapenko [Wed, 25 Dec 2013 16:46:27 +0000 (16:46 +0000)]
[ASan] Fix the test for __asan_gen_ globals and actually fix llvm.org/bugs/show_bug.cgi?id=17976
by setting the correct linkage (as stated in the bug).

llvm-svn: 198018

10 years ago[ASan] Make sure none of the __asan_gen_ global strings end up in the symbol table...
Alexander Potapenko [Wed, 25 Dec 2013 14:22:15 +0000 (14:22 +0000)]
[ASan] Make sure none of the __asan_gen_ global strings end up in the symbol table, add a test.

This should fix http://llvm.org/bugs/show_bug.cgi?id=17976
Another test checking for the global variables' locations and prefixes on Darwin will be committed separately.

llvm-svn: 198017

10 years agoAdd a newline to an error message.
Rui Ueyama [Wed, 25 Dec 2013 13:48:26 +0000 (13:48 +0000)]
Add a newline to an error message.

llvm-svn: 198016

10 years ago[PECOFF] Set default subsystem to the DLL header.
Rui Ueyama [Wed, 25 Dec 2013 13:34:31 +0000 (13:34 +0000)]
[PECOFF] Set default subsystem to the DLL header.

Subsystem field in the PE/COFF file header has no meanining for the DLL.
It looks like MSVC link.exe sets the default subsystem (Windows GUI) to
the field if no /subsystem option is specified.

llvm-svn: 198015

10 years ago[Sanitizer] Remove now unused symbolization functionality from MemoryMappingLayout
Alexey Samsonov [Wed, 25 Dec 2013 12:11:06 +0000 (12:11 +0000)]
[Sanitizer] Remove now unused symbolization functionality from MemoryMappingLayout

llvm-svn: 198014

10 years agoAVX-512: decoder for AVX-512, made by Alexey Bader.
Elena Demikhovsky [Wed, 25 Dec 2013 11:40:51 +0000 (11:40 +0000)]
AVX-512: decoder for AVX-512, made by Alexey Bader.

llvm-svn: 198013

10 years ago[Sanitizer] Use different MemoryMappingLayout::DumpListOfModules on Linux and Mac.
Alexey Samsonov [Wed, 25 Dec 2013 11:29:19 +0000 (11:29 +0000)]
[Sanitizer] Use different MemoryMappingLayout::DumpListOfModules on Linux and Mac.

Make a unit test added in r198004 more robust.

llvm-svn: 198012

10 years agounittests/Support/ProcessTest.cpp: Don't use "windows.h". Use <windows.h> instead.
NAKAMURA Takumi [Wed, 25 Dec 2013 10:50:11 +0000 (10:50 +0000)]
unittests/Support/ProcessTest.cpp: Don't use "windows.h". Use <windows.h> instead.

llvm-svn: 198011

10 years agoSupport for microMIPS load effective address.
Zoran Jovanovic [Wed, 25 Dec 2013 10:14:07 +0000 (10:14 +0000)]
Support for microMIPS load effective address.

llvm-svn: 198010

10 years agoSupport for microMIPS FPU instructions 2.
Zoran Jovanovic [Wed, 25 Dec 2013 10:09:27 +0000 (10:09 +0000)]
Support for microMIPS FPU instructions 2.

llvm-svn: 198009

10 years agoAVX-512: Result type of scalar SETCC is MVT::i1 for AVX-512.
Elena Demikhovsky [Wed, 25 Dec 2013 10:06:40 +0000 (10:06 +0000)]
AVX-512: Result type of scalar SETCC is MVT::i1 for AVX-512.

llvm-svn: 198008

10 years ago[Sanitizer] Properly specify linux-only unit test.
Alexey Samsonov [Wed, 25 Dec 2013 09:31:42 +0000 (09:31 +0000)]
[Sanitizer] Properly specify linux-only unit test.

llvm-svn: 198007

10 years ago[Sanitizer] Don't use MemoryMappingLayout in StackTrace::PrintStack - it is now a...
Alexey Samsonov [Wed, 25 Dec 2013 09:29:54 +0000 (09:29 +0000)]
[Sanitizer] Don't use MemoryMappingLayout in StackTrace::PrintStack - it is now a responsibility of Symbolizer class.

llvm-svn: 198006

10 years ago[TSan] fix Go build
Alexey Samsonov [Wed, 25 Dec 2013 08:56:08 +0000 (08:56 +0000)]
[TSan] fix Go build

llvm-svn: 198005

10 years ago[Sanitizer] Teach MemoryMappingLayout to dump all loaded modules.
Alexey Samsonov [Wed, 25 Dec 2013 08:39:38 +0000 (08:39 +0000)]
[Sanitizer] Teach MemoryMappingLayout to dump all loaded modules.

Use this to implement GetListOfModules() on Mac and on Android
(on Linux we use dl_iterate_phdr).

llvm-svn: 198004

10 years ago[Sanitizer] Move OS-specific code for MemoryMappingLayout into separate source files.
Alexey Samsonov [Wed, 25 Dec 2013 08:01:16 +0000 (08:01 +0000)]
[Sanitizer] Move OS-specific code for MemoryMappingLayout into separate source files.

llvm-svn: 198003

10 years agoUnbreak buildbot.
Rui Ueyama [Wed, 25 Dec 2013 07:28:34 +0000 (07:28 +0000)]
Unbreak buildbot.

llvm-svn: 198002

10 years ago[AArch64]Fix a problem that the register order of fmls/fmla by element is incorrect.
Hao Liu [Wed, 25 Dec 2013 07:12:34 +0000 (07:12 +0000)]
[AArch64]Fix a problem that the register order of fmls/fmla by element is incorrect.
E.g. the codegen result is
     fmls v1.2s, v0.2s, v2.s[3]
which is expected to be
     fmls v0.2s, v1.2s, v2.s[3]

llvm-svn: 198001

10 years ago[Sanitizer] Replace Symbolizer::IsAvailable and Symbolizer::IsExternalAvailable with...
Alexey Samsonov [Wed, 25 Dec 2013 07:09:44 +0000 (07:09 +0000)]
[Sanitizer] Replace Symbolizer::IsAvailable and Symbolizer::IsExternalAvailable with Symbolizer::CanReturnFileLineInfo.
Remove now redundant checks in symbolizer initialization in TSan and MSan.

llvm-svn: 198000

10 years agoUse EXPECT_EQ in unit tests.
Rui Ueyama [Wed, 25 Dec 2013 06:47:40 +0000 (06:47 +0000)]
Use EXPECT_EQ in unit tests.

llvm-svn: 197999

10 years ago[PECOFF] Use the first definition of an export if specified multiple times.
Rui Ueyama [Wed, 25 Dec 2013 06:46:45 +0000 (06:46 +0000)]
[PECOFF] Use the first definition of an export if specified multiple times.

If the same symbol is specified multiple times as arguments of /export, the
first definition should be used.

llvm-svn: 197998

10 years agogold-plugin.cpp: Use form of <plugin-api.h>, since it is external header.
NAKAMURA Takumi [Wed, 25 Dec 2013 02:24:38 +0000 (02:24 +0000)]
gold-plugin.cpp: Use form of <plugin-api.h>, since it is external header.

llvm-svn: 197997

10 years agollvm-config: Fix typo in help message introduced with r197664.
NAKAMURA Takumi [Wed, 25 Dec 2013 02:24:32 +0000 (02:24 +0000)]
llvm-config: Fix typo in help message introduced with r197664.

Thanks, Vinson Lee!

llvm-svn: 197996

10 years agoDon't reserve __builtin_types_compatible_p as a C++ keyword
Alp Toker [Wed, 25 Dec 2013 01:47:02 +0000 (01:47 +0000)]
Don't reserve __builtin_types_compatible_p as a C++ keyword

Even g++ considers this a valid C++ identifier and it should only have been
visible in C mode.

Also drop the associated low-value diagnostic.

llvm-svn: 197995

10 years agoAdd some missing test cases for ACLE intrinsics of AArch64 NEON.
Jiangning Liu [Wed, 25 Dec 2013 01:23:43 +0000 (01:23 +0000)]
Add some missing test cases for ACLE intrinsics of AArch64 NEON.

llvm-svn: 197994

10 years agoAdd missing pattern matches to support ACLE intrinsics of AArch64 NEON.
Jiangning Liu [Wed, 25 Dec 2013 01:22:51 +0000 (01:22 +0000)]
Add missing pattern matches to support ACLE intrinsics of AArch64 NEON.

llvm-svn: 197993

10 years agoFix the MSVC 2010 build
Alp Toker [Wed, 25 Dec 2013 01:15:36 +0000 (01:15 +0000)]
Fix the MSVC 2010 build

C++11-style forward declared enums weren't supported until MSVC 2012.

llvm-svn: 197992

10 years agoAdd a FIXME to a failing test.
Nico Weber [Tue, 24 Dec 2013 20:48:13 +0000 (20:48 +0000)]
Add a FIXME to a failing test.

(See discussion in the bug for why this isn't XFAILed.)

llvm-svn: 197991