Commit Graph

197891 Commits

Author SHA1 Message Date
Simon Pilgrim 07e063e44c [DAGCombiner] Add support for FCEIL, FFLOOR and FTRUNC vector constant folding
Differential Revision: http://reviews.llvm.org/D8715

llvm-svn: 234179
2015-04-06 17:15:41 +00:00
Greg Clayton b23c24c2a8 We have an issue where if you use a C function right now that has no prototype, it isn't marked as extern "C" and the name to lookup is some C++ mangled form of the name.
This used to be the case for "printf" before a function prototype was added to the builtin expression prefix file. This fix makes sure that if we get a mangled name that we don't find in the current target, that we only fall back to looking up function by basename if the function isn't contained in a namespace or class (no decl context).

llvm-svn: 234178
2015-04-06 17:14:02 +00:00
Duncan P. N. Exon Smith 936c56393c Verifier: Check composite type template params
Add missing checks for `templateParams:` in `MDCompositeType`.  Pull the
current check for `MDSubprogram` to reduce duplicated code and fix it up
to print a good message when the immediate operand isn't an `MDTuple`
(as a drive-by, make the same fix to `variables:` in `MDSubprogram`).

llvm-svn: 234177
2015-04-06 17:04:58 +00:00
Fariborz Jahanian 220d08d942 [Objective-C patch] Patch to fix a crash in IRGen because
of incorrect AST when a compound literal of Objective-C
property access is used to initialize a vertor of floats.
rdar://20407999

llvm-svn: 234176
2015-04-06 16:56:39 +00:00
Duncan P. N. Exon Smith 897030c80c DebugInfo: Use MDFile instead of accessing operands directly, NFC
llvm-svn: 234175
2015-04-06 16:43:40 +00:00
Rafael Espindola 41e2b5c55f Use a comma after the unique keyword.
H.J. Lu noted that all .section options are separated by a comma.

This patch changes the syntax of unique to require one.

llvm-svn: 234174
2015-04-06 16:34:41 +00:00
David Blaikie 981d2a04b7 Fix this test so it doesn't try to open a file to write to the source tree
llvm-svn: 234173
2015-04-06 16:33:18 +00:00
Zachary Turner 6f21907a89 Fix printing of function names during unwind logging.
llvm-svn: 234172
2015-04-06 16:23:30 +00:00
Sanjay Patel 16ab5e698f fix typos; NFC
llvm-svn: 234171
2015-04-06 16:21:12 +00:00
Aaron Ballman 82a2202ae6 Gating clang-fuzzer on the same conditions required to build the LLVMFuzzer library. Otherwise, we can run into a situation where clang-fuzzer attempts to build, but its dependency was never built.
llvm-svn: 234170
2015-04-06 16:10:32 +00:00
Rafael Espindola 972756b741 Remove unnecessary uses of AliasedSymbol.
As pr19627 points out, every use of AliasedSymbol is likely a bug.

The main use was to avoid the oddity of a variable showing up as undefined. That
was fixed in r233995, which made these calls nops.

llvm-svn: 234169
2015-04-06 16:10:05 +00:00
Aaron Ballman f77031f99d Removing a spurious space; NFC.
llvm-svn: 234168
2015-04-06 16:09:13 +00:00
Simon Atanasyan fa58038914 [Mips] Guard modification of register usage masks by mutex
llvm-svn: 234167
2015-04-06 16:07:19 +00:00
Ed Maste 0f434e625b test: Move amd64 -> x86_64 translation to getArchitecture()
Rather than sprinkling this knowledge throughout the test suite, just
translate amd64 to x86_64 globally.

llvm-svn: 234166
2015-04-06 15:50:48 +00:00
Rafael Espindola 94a88d7165 Be consistent when deciding if a relocation is needed.
Before when deciding if we needed a relocation in A-B, we wore only checking
if A was weak.

This fixes the asymmetry.

The "InSet" argument should probably be renamed to "ForValue", since InSet is
very MachO specific, but doing so in this patch would make it hard to read.

This fixes PR22815.

llvm-svn: 234165
2015-04-06 15:27:57 +00:00
Ed Maste af15b6dad9 test: Add amd64 architecture alias for x86_64
64-bit x86 is called amd64 on FreeBSD.

llvm-svn: 234164
2015-04-06 15:23:21 +00:00
Simon Atanasyan 596dae5fc2 [LinkerScript] Handle symbols defined in linker scripts in case of shared lib
This patch is a follow-up to the rL232409 and allows define symbols
in a linker script in case of linking shared library.

llvm-svn: 234163
2015-04-06 15:15:01 +00:00
Simon Atanasyan a19820ddb4 [ELF] Use override keyword instead of virtual
No functional changes.

llvm-svn: 234162
2015-04-06 15:09:39 +00:00
Rafael Espindola 24766f909f Disable all link optimizations in a debug build.
This taking linking clang on my machine with gold from 16.980257914 to
15.933037649 seconds.

llvm-svn: 234161
2015-04-06 15:04:31 +00:00
Rafael Espindola 1c7fc3e3ae Don't pass -O3 to the linker in debug builds.
This takes linking clang in a debug build with gold form 19.518925697 to
16.406388685 seconds.

llvm-svn: 234160
2015-04-06 14:51:01 +00:00
Rafael Espindola 9c5701ffcf Don't use -ffunction-sections -fdata-sections on debug builds.
Unfortunately, on ELF there is not used attribute on the .o files,
so there is no easy way to keep the dump function alive.

If we are not gcing, we may as well produce non gcable files and
avoid the cost.

Linking a debug clang now takes 18.856225992 seconds, before it
took 21.206897447.

I will try avoiding --gc-sections -O3 on a followup patch.

llvm-svn: 234159
2015-04-06 14:34:43 +00:00
Pawel Bylica 6eeeac7b2a Test commit. Improve comments in APInt. NFC.
llvm-svn: 234158
2015-04-06 13:31:39 +00:00
Simon Atanasyan ac17bfd699 [ELF] Use override keyword instead of virtual
No functional changes.

llvm-svn: 234157
2015-04-06 13:26:15 +00:00
Simon Atanasyan 3dac3ba595 [ELF] Remove redundant forward class declarations
No functional changes.

llvm-svn: 234156
2015-04-06 13:26:10 +00:00
Simon Atanasyan cd9f268b50 [Mips] Remove redundant non-template MipsRelocationHandler class
llvm-svn: 234155
2015-04-06 13:26:04 +00:00
Simon Atanasyan 58a7fd48dc [Mips] Replace MipsRelocationHandler::readAddend() by a regular function
The readAddend() does not depend on MipsRelocationHandler and should not
be its member function.

llvm-svn: 234154
2015-04-06 13:25:58 +00:00
Simon Atanasyan 3a8691a27a [Mips] Reformat the code with clang-format
llvm-svn: 234153
2015-04-06 13:25:52 +00:00
Michael Kuperstein aed5ccdeed HasSideEffects() should return false for calls to pure and const functions.
Differential Revision: http://reviews.llvm.org/D8548

llvm-svn: 234152
2015-04-06 13:22:01 +00:00
Timur Iskhodzhanov 1931b62632 Minor follow-up fix to r234150
llvm-svn: 234151
2015-04-06 12:54:06 +00:00
Timur Iskhodzhanov b97bcc4981 [ASan] Unify handling of loaded modules between POSIX and Windows
Reviewed at http://reviews.llvm.org/D8805

llvm-svn: 234150
2015-04-06 12:49:30 +00:00
Benjamin Kramer 1a8fa8b431 Update our list of distros a bit.
- Debian jessie will be released this month, add the next testing version to the list.
- RHEL7 was released last june.
- Ubuntu utopic was released last october, vivid will follow later this month.

llvm-svn: 234149
2015-04-06 12:30:43 +00:00
Sergey Dmitrouk f3206d6278 Add hard float versions of FP to LL conversions
This adds hard-float implementation for the following builtins:

* __fixdfdi()
* __fixsfdi()
* __fixunsdfdi()
* __fixunssfdi()

The soft-float implementation does never raise floating point
exceptions, which doesn't allow clients to detect floating point
conversion errors.

I must mention that I had to refer to libgcc's implementation to
write these functions.

Related unit-tests of compiler-rt passed with these changes.

Patch was somewhat out-dated, so was updated locally without any
functional changes.

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

llvm-svn: 234148
2015-04-06 11:54:51 +00:00
Alexander Potapenko d403b29254 [ASan] Do not print thread IDs and stacks for unknown threads.
llvm-svn: 234147
2015-04-06 10:32:45 +00:00
NAKAMURA Takumi a01846de2a clang/test/Profile/profile-does-not-exist.c: Avoid checking a message line in the message catalog.
llvm-svn: 234146
2015-04-06 08:16:36 +00:00
Dmitry Vyukov 19300f856b tsan: fix munmap interceptor
MetaMap::ResetRange/FreeRange rounds the range up to at least kMetaShadowSize.
This is requried for e.g. free(malloc(0)). However, munmap returns EINVAL
and do not unmap any memory when length arguments is equal to 0.
So don't free meta shadow in this case as well.

llvm-svn: 234145
2015-04-06 07:57:32 +00:00
Denis Protivensky 2000211ff3 [AArch64] Fix error in AARCH64_ADR_GOT_PAGE handler
The error was introduced during mechanical replacement
of raw memory reads/writes to use readxxle/writexxle functions
in r230725.

Noted and fixed by Suprateeka R Hegde <hegdesmailbox@gmail.com>

llvm-svn: 234144
2015-04-06 07:44:59 +00:00
Rafael Espindola 298059a4ac This reverts commit r234104, bringing back 233393 now that ARM is fixed.
Original message:

Don't use unique section names by default if using the integrated as.

This saves some IO and ccache space by not creating long section names. It
should work with every ELF linker.

llvm-svn: 234143
2015-04-06 04:36:45 +00:00
Rafael Espindola 61e8ce36be Store the sh_link of ARM_EXIDX directly in MCSectionELF.
This avoids some pretty horrible and broken name based section handling.

llvm-svn: 234142
2015-04-06 04:25:18 +00:00
Nico Weber 176efac95b Don't crash when passing a non-existent file to -fprofile-instr-use=.
Fixes a regression from r229434.

llvm-svn: 234141
2015-04-06 04:16:48 +00:00
Rafael Espindola 86fe2feb72 Simplify this function a bit. NFC.
The case values are not a tidy enum we can fully cover. They even ovelap
over the various extension.

Just use a default:

llvm-svn: 234140
2015-04-06 03:16:51 +00:00
Rafael Espindola b73b70ebff Simplify mapping from relocation sections to relocated sections.
Just store the section in MCSectionELF. This avoids multiple hash lookups.

This will also be used by ARM_EXIDX.

llvm-svn: 234139
2015-04-06 03:09:30 +00:00
Lang Hames e51ab6e200 [Orc] Tidy up the assembly for the x86-64 resolver block.
llvm-svn: 234138
2015-04-06 03:01:29 +00:00
Peter Collingbourne 76beae321a Add documentation for llgoi, update README
llvm-svn: 234137
2015-04-05 23:32:13 +00:00
Peter Collingbourne d35a6aff92 Roll gofrontend to 15a24202fa42.
Takes us to Go 1.4.2 plus a number of bug fixes.

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

llvm-svn: 234136
2015-04-05 23:32:10 +00:00
Peter Collingbourne cac325993a Roll gofrontend to 07baa07598ea; roll libffi to r219477.
Incorporates https://codereview.appspot.com/198770044, which causes us to start
using the static chain register for closures instead of __go_{get,set}_closure.

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

llvm-svn: 234135
2015-04-05 23:31:49 +00:00
Peter Collingbourne 93c73ebcbd Roll gofrontend to a6e10414311a
This takes us to Go 1.4. Also includes a couple of changes to the test
suite, both in the runtime package:

- Disable TestSetPanicOnFault. We cannot support this scenario at all,
  due to LLVM's lack of non-call exceptions.

- Tweak TestFinalizerType. This test only passes with two GC runs.

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

llvm-svn: 234134
2015-04-05 23:30:42 +00:00
Peter Collingbourne 7d39641c80 Roll gotools to d4e70101.
Most importantly, this gives us https://go-review.googlesource.com/7533 which
fixes a bug in go/ssa that caused test failures in the Go 1.4 standard library.

Also remove the go1.4 tag workaround. We no longer need it now that we
ship llgo-go.

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

llvm-svn: 234133
2015-04-05 23:28:18 +00:00
David Blaikie 907628d24d [opaque pointer type] Remove some backwards compatible GEP APIs
Just doing the two-step so I don't get so much build-bot spam... (add
new API, migrate callers, remove old API)

llvm-svn: 234132
2015-04-05 22:53:21 +00:00
David Blaikie f0e3d50d52 [opaque pointer type] More GEP API migrations
llvm-svn: 234131
2015-04-05 22:51:12 +00:00
Davide Italiano fd52bbcf58 Strip .strtab and .symtab when --strip-all is used.
This matches other linkers behaviour. Moreover, there's really
no need to keep them around.

Reported by: Rafael Avila de Espindola

PR:		22890
llvm-svn: 234130
2015-04-05 22:47:54 +00:00