Commit Graph

101370 Commits

Author SHA1 Message Date
Patrik Hagglund
8a8f5c396f Replace ValueTypes.h with MachineValueType.h if possible.
Utilize the previous move of MVT to a separate header for all trivial
cases (that don't need any further restructuring).

Reviewed By: Tim Northover

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204003 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-15 09:11:41 +00:00
Justin Bogner
c0a42c263e Support: Make error_category's constructor public
Since our error_category is based on the std one, we should have the
same visibility for the constructor.  This also allows us to avoid
using the _do_message implementation detail in our own categories.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203998 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-15 04:05:59 +00:00
NAKAMURA Takumi
8e85e50170 llvm/test/Transforms/SampleProfile/syntax.ll: Suppress checking the message catalog in ENOENT. It is locale-dependent on Windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203997 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-15 02:32:21 +00:00
NAKAMURA Takumi
5d45272acc SampleProfile.cpp: Fix take #2. The issue was abuse of StringRef here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203996 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-15 01:56:17 +00:00
NAKAMURA Takumi
ba3fc12d80 SampleProfile.cpp: Quick fix to r203976 about abuse of Twine. The life of Twine was too short.
FIXME: DiagnosticInfoSampleProfile should not hold Twine&.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203990 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-15 00:10:12 +00:00
Matt Arsenault
2345166d2f R600: Remove unnecessary attempt to zext a pointer.
Private pointers are now always 32-bits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203989 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-15 00:08:26 +00:00
Matt Arsenault
2cf43de915 R600: Code cleanup.
Use sign_extend_inreg and getZeroExtendInReg instead of
using the bit operations they expand into.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203988 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-15 00:08:22 +00:00
Rui Ueyama
7aa478d944 Object/COFF: change data type of SymbolNumber from int16 to uint16.
Microsoft PE/COFF Spec clearly states that the field is of signed interger
type. However, in reality, it's unsigned. If cl.exe needs to create a large
number of sections for COMDAT sections, it will just create more than 32768
sections. Handling large section number as negative number is not correct.
I think this is a spec bug.

Differential Revision: http://llvm-reviews.chandlerc.com/D3088

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203986 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-15 00:04:08 +00:00
Adrian Prantl
1d8c02bef3 Debug info: Unique types before emitting them to DWARF, where applicable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203983 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 23:08:29 +00:00
Adrian Prantl
7e1a3830ca Debug Info: Fix LTO type uniquing for C++ member declarations
based on the ODR.

This adds an OdrMemberMap to DwarfDebug which is used to unique C++
member function declarations based on the unique identifier of their
containing class and their mangled name.
We can't use the usual DIRef mechanism here because DIScopes are indexed
using their entire MDNode, including decl_file and decl_line, which need
not be unique (see testcase).

Prior to this change multiple redundant member function declarations would
end up in the same uniqued DW_TAG_class_type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203982 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 23:08:25 +00:00
Adrian Prantl
2110a0d07b Re-add checks that were in this testcase before it was converted to dwarfdump.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203981 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 23:08:21 +00:00
Adrian Prantl
be4056d0a5 typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203980 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 23:08:17 +00:00
Jim Grosbach
6fb117d939 MC: don't create a backtrace for diagnostics.
For better or worse, this is currently the normal error reporting path
when dealing with backend errors from inline assembly. It's not just
internal compiler issues that come through here, so we shouldn't be
creating a backtrace on this path.

rdar://16329947

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203979 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 22:41:58 +00:00
Diego Novillo
68c1cb444f Re-format SampleProfile.cpp with clang-format. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203977 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 22:07:18 +00:00
Diego Novillo
3f7c2f31ff Use DiagnosticInfo facility.
Summary:
The sample profiler pass emits several error messages. Instead of
just aborting the compiler with report_fatal_error, we can emit
better messages using DiagnosticInfo.

This adds a new sub-class of DiagnosticInfo to handle the sample
profiler.

Reviewers: chandlerc, qcolombet

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D3086

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203976 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 21:58:59 +00:00
Eric Christopher
f90e07f6c3 Remove command line option for CU hashing. This is on by default now.
Fix up testcases and use of flag.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203973 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 21:20:07 +00:00
Eric Christopher
11bd4866ff Make the arbitrary section name be something mach-o compatible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203972 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 21:16:54 +00:00
Eric Christopher
82899d9d60 If we see that we're emitting code for a function that doesn't have
any lexical scopes then go ahead and turn on DW_AT_ranges for the
compile unit since we would be claiming to describe in the CU
a range for which we don't have information in the CU otherwise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203969 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 20:53:49 +00:00
Eric Christopher
895ec9ed94 Remove the -generate-dwarf-cu-ranges flag.
Rewrite a couple of testcases to cover areas that would be normally
by turning it on into testcases that will follow the logic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203968 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 20:53:43 +00:00
David Blaikie
c75ec15881 MCDwarf: Initialize MCLineTableHeader::Label
This sometimes remains null into MCLineTableHeader::Emit where we
conditionally construct a label if one isn't provided for us. We need it
to remain null (rather than just always constructing the label) so we
can identify unused line tables... which is a bit weird and maybe we can
do away with that logic one day (& on that day we can always construct
the label up-front and just have compilation units query the line table
for its label, etc)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203967 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 20:36:44 +00:00
David Blaikie
19f2fea461 MCContext: Remove redundant assignment
The member variable is not initialized in the ctor so it's already
empty. No need to empty it again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203963 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 20:09:26 +00:00
Rafael Espindola
54e582179f Correctly handle an ELF symbol defined with "a = b + expr".
We were marking the symbol as absolute instead of computing b's offset + the
expression value.

This fixes pr19126.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203962 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 20:09:04 +00:00
David Blaikie
419e5ffe4a Remove unnecessary StringRef::str() call where an implicit conversion works just fine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203960 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 19:53:39 +00:00
David Blaikie
2bc7715df9 DwarfDebug: Remove some needless recursion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203946 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 16:33:32 +00:00
Duncan P. N. Exon Smith
4fc4769a53 x86: Add missing break to getCallPreservedMask()
This change brings getCallPreservedMask()'s logic in line with
getCalleeSavedRegs().

While this changes the control flow slightly, the change is not
currently observable.  is64Bit must be false to get to the accidental
fallthrough, but the case that we fall into (coldcc) does nothing unless
is64Bit is true.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203943 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 16:29:21 +00:00
Duncan P. N. Exon Smith
71e585e4ce x86: NFC: Make getCallPreservedMask() more similar to getCalleeSavedRegs()
Changing order of checks in getCallPreservedMask() to match
getCalleeSavedRegs() so that the logic is easier to compare.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203939 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 16:09:13 +00:00
Richard Osborne
43cf3f0c91 [docs] Add links to XMOS XCore documentation.
Summary: Add links to XCore ISA and ABI documents.

CC: llvm-commits, rafael

Differential Revision: http://llvm-reviews.chandlerc.com/D2981

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203936 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 15:53:50 +00:00
Duncan P. N. Exon Smith
4baea39ecf x86: getCalleeSavedRegs() would crash on 0 (so don't default to it)
The current logic assumes that MF is not 0.  Assert that it isn't, and
remove the default of 0 from the header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203934 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 15:38:12 +00:00
Rafael Espindola
80f27b0bc8 Fix a bug introduced during the transition to PathV2.
sys::fs::createUniqueFile returns an absolute path, so MakeSharedObject does
too and we don't need to add a './' prefix.

Patch by Jon McLachlan.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203931 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 15:13:35 +00:00
Alexey Samsonov
385303b358 Delete unused ObjectFile::{begin,end}_symbols()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203928 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 14:52:03 +00:00
Alexey Samsonov
6f07b35b8f [C++11] Introduce SectionRef::relocations() to use range-based loops
Reviewers: rafael

Reviewed By: rafael

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D3077

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203927 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 14:22:49 +00:00
Patrik Hagglund
0eba2c94fd Separate out MVT in a separate header file: MachineValueType.h
The idea behind this split of ValueTypes.h, is to make it easier to
ensure that stuff after type legalization only use MVT (rather than
EVT), by watching include dependencies.

Reviewed By: Tim Northover

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203926 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 13:41:09 +00:00
Ulrich Weigand
0951eecae4 [ppc64] Avoid copy relocs in named rodata sections
Commit r181723 introduced code to avoid placing initialized variables
needing relocations into the .rodata section, which avoid copy relocs
that do not work as expected on ppc64 function references.

The same treatment is also needed for *named* .rodata.XXX sections.
This patch changes PPC64LinuxTargetObjectFile::SelectSectionForGlobal
to modify "Kind" *before* calling the default SelectSectionForGlobal
routine, instead of first calling the default routine and then just
checking for the (main) .rodata section afterwards.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203921 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 12:45:22 +00:00
Alexander Potapenko
670ef0236b [ASan] Fix https://code.google.com/p/address-sanitizer/issues/detail?id=274
by ignoring globals from __TEXT,__cstring,cstring_literals during instrumenation.
Add a regression test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203916 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 10:41:49 +00:00
Alexey Samsonov
89ca7b3e36 Use ctor instead of initializer list to appease Windows buildbots
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203915 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 10:37:36 +00:00
Alexey Samsonov
b98e0c4da5 Use temporary instead of a local variable here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203914 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 10:20:10 +00:00
Oliver Stannard
d463c7e74e Generalise assembly tests to not rely on anonymous symbol names
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203909 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 09:10:26 +00:00
Evgeniy Stepanov
bf7cc396c6 AddressSanitizer instrumentation for MOV and MOVAPS.
This is an initial version of *Sanitizer instrumentation of assembly code.

Patch by Yuri Gorshenin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203908 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 08:58:04 +00:00
Stepan Dyatkovskiy
1e83c8c3ab MergeFunctions, cmpType: fixed variable names from XXTy1 and XXTy2 to XXTyL and XXTyR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203907 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 08:48:52 +00:00
Stepan Dyatkovskiy
3185e83713 MergeFunctions, cmpType: Fixed comments wrapping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203905 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 08:17:19 +00:00
Simon Atanasyan
74f42fd948 [yaml2obj][ELF] Use range-based for loops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203900 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 06:53:30 +00:00
Simon Atanasyan
9e30b78485 [yaml2obj][ELF] Refer to a section in the error message by its name not
index.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203899 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 06:53:25 +00:00
Simon Atanasyan
ef3154042b [yaml2obj][ELF] Remove unused ELFState class field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203898 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 06:53:21 +00:00
Simon Atanasyan
9f685d3951 [yaml2obj][ELF] Assign name (.shstrtab) to the section holds sections names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203897 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 06:53:16 +00:00
Simon Atanasyan
dfbd26215e [Mips] Add one more MIPS relocation type constant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203896 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 06:53:10 +00:00
Owen Anderson
b6f478aa66 Revert r203883 (which was more of a bandaid) and fix the real underlying
issue in that the new MachineRegisterInfo bundle iterators didn't
dereference to the START of the bundle, while the old skipBundle()
method did.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203890 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 05:02:18 +00:00
Sebastian Pop
beaa95d97f static link polly into tools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203886 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 04:04:14 +00:00
Pete Cooper
757ed6daf4 Fix issue with r203865. The old behaviour would get a MachineOperand then find the MI for the bundle the MI was in. The new behaviour was failing to get the parent bundle and instead just used the MI from the MachineOperand
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203883 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 02:28:05 +00:00
Galina Kistanova
d63289bc9a Reverted r203879.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203880 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 01:56:55 +00:00
Galina Kistanova
bc075b254a Fixed misuse of isascii. Also fixes mingw32 build, see http://msdn.microsoft.com/en-us/library/ms235417.aspx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203879 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14 01:43:46 +00:00