Commit Graph

191902 Commits

Author SHA1 Message Date
Yury Gribov 2bbad68617 [Sanitizer] Make BlockingMutex really linker initialized.
Differential Revision: http://reviews.llvm.org/D7171

llvm-svn: 227560
2015-01-30 06:20:43 +00:00
Yury Gribov 640017411c Replace code dup with a macro.
Differential Revision: http://reviews.llvm.org/D7172

llvm-svn: 227559
2015-01-30 06:18:46 +00:00
Simon Atanasyan 32c20f8d7f [Core] Fix "variable ‘comp’ has function type" error shown by gcc
llvm-svn: 227558
2015-01-30 05:42:57 +00:00
Hao Liu 8de4f8b1b5 [LoopVectorize] Induction variables: support arbitrary constant step.
Previously, only -1 and +1 step values are supported for induction variables. This patch extends LV to support
arbitrary constant steps.
Initial patch by Alexey Volkov. Some bug fixes are added in the following version.

Differential Revision: http://reviews.llvm.org/D6051 and http://reviews.llvm.org/D7193

llvm-svn: 227557
2015-01-30 05:02:21 +00:00
David Majnemer 8c969eaf1a Sema: Disable template instantiation once a fatal error is raised
Fatal errors disable all further diagnostics.  Continuing to permit
template instantiation does nothing but make it take longer for clang to
finish with the TU.

Instead, halt all further instantiation.

Fixed in PR22396.

llvm-svn: 227556
2015-01-30 05:01:23 +00:00
Nico Weber d004586faa Follow-up to r217302: Don't crash on ~A::A() if A is undeclared.
llvm-svn: 227555
2015-01-30 04:05:15 +00:00
Nico Weber 07425af920 Typo fixo.
llvm-svn: 227554
2015-01-30 03:47:03 +00:00
Nico Weber 2890061b7d Wrap to 80 cols by removing trailing whitespace. No behavior change.
llvm-svn: 227553
2015-01-30 02:35:21 +00:00
Jason Molenda ab223c1ec8 Small tweak to the name of kernel binaries that we look
for; match files starting with "mach", not "mach." so
the old common name mach_kernel will still be matched.

llvm-svn: 227552
2015-01-30 02:28:06 +00:00
Rui Ueyama 9ee161ea13 Remove useless DEBUG_WITH_TYPE.
We have a DEBUG_TYPE macro for the same debug string already
at the beginning of the file.

llvm-svn: 227551
2015-01-30 02:15:57 +00:00
Hao Liu e0335d77c3 [AArch64]Fix PR21675, a bug about lowering llvm.ctpop.i32. We should noot use "DAG.getUNDEF(MVT::v8i8)" to get all zero vector.
Patch by Wei-cheng Wang.

llvm-svn: 227550
2015-01-30 02:13:53 +00:00
Rui Ueyama 78e2a2df22 Replace SimpleFileWrapper with a function.
SimpleFileWrapper was a class to wrap an existing (possibly non-mutable)
file as a mutable file. We used instances of the class in RoundTrip*
passes, because the passes convert mutable files to non-mutable files,
and we needed to convert them back to mutable.

That feature can be implemented without defining a new class. Generally
speaking, if we can implement a feature without defining a class and
using only public interface of exsiting classes, that's preferred way
to do that. And this is the case.

llvm-svn: 227549
2015-01-30 02:11:59 +00:00
Eric Christopher 38522b8867 Use the cached subtarget in PPCFrameLowering.
llvm-svn: 227548
2015-01-30 02:11:26 +00:00
Eric Christopher 85806141fd Migrate some of PPC away from the use of bare getSubtarget/getSubtargetImpl.
llvm-svn: 227547
2015-01-30 02:11:24 +00:00
Eric Christopher 065d16bcbe Migrage PPCRegisterInfo to use the cached subtarget.
llvm-svn: 227546
2015-01-30 02:11:21 +00:00
Richard Smith d0e102fece Teach AST printing to not print whitespace inside {} and () for initialization,
to match LLVM's preferred style.

llvm-svn: 227545
2015-01-30 02:04:26 +00:00
Adrian Prantl 4d365250ec Fix PR22386. The inliner moves static allocas to the entry basic block
so we need to move the dbg.declare intrinsics that describe them, too.

llvm-svn: 227544
2015-01-30 01:55:25 +00:00
Rui Ueyama afbe58f88b Explicitly write type instead of auto.
Now it is clear that std::move() is meaningless here.

llvm-svn: 227543
2015-01-30 01:52:23 +00:00
Eric Christopher 3084aff498 Migrate a bare getSubtarget call to query the MachineFunction
for the target dependent one.

llvm-svn: 227542
2015-01-30 01:50:09 +00:00
Eric Christopher bef0a373b4 Migrate NVPTXISelLowering to take the subtarget that it's dependent
upon as an argument and store/use that in the entire function.

llvm-svn: 227541
2015-01-30 01:50:07 +00:00
Nico Weber 9cc795c188 Weaken an assertion that isn't true for invalid input.
llvm-svn: 227540
2015-01-30 01:48:49 +00:00
Eric Christopher 9745b3aae0 Remove unused argument.
llvm-svn: 227539
2015-01-30 01:41:01 +00:00
Eric Christopher 147bba2385 Migrate NVPTXISelDAGToDAG's getSubtarget to a runOnMachineFunction
version. Update NVPTXInstrInfo accordingly.

llvm-svn: 227538
2015-01-30 01:40:59 +00:00
Rui Ueyama 9b8aeefb2c Remove unused parameter.
llvm-svn: 227536
2015-01-30 01:35:38 +00:00
Eric Christopher 2a0bc68457 Remove calls to bare getSubtarget and clean up the functions
accordingly.

llvm-svn: 227535
2015-01-30 01:30:01 +00:00
Rui Ueyama 39b9524f82 Remove remaining code for PPC ELF target.
llvm-svn: 227534
2015-01-30 01:18:43 +00:00
Akira Hatanaka 8fba18e958 [LTO] Scan all per-function subtargets when collecting runtime library names.
accumulateAndSortLibcalls in LTOCodeGenerator.cpp collects names of runtime
library functions which are used to identify user-defined functions that should
be protected. Previously, this function would only scan the TargetLowering
object belonging to the "main" subtarget for the library function names. This
commit changes it to scan all per-function subtargets.

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

llvm-svn: 227533
2015-01-30 01:16:24 +00:00
Akira Hatanaka 23b5f6721d [llvm-lto] Add a line for setting LTOCodeGenerator's CPU string from command
line.

This is needed for a test case I plan to commit later.

llvm-svn: 227532
2015-01-30 01:14:28 +00:00
Eric Christopher 988ce75c07 Remove a few getSubtarget calls in AArch64 pass manager initialization.
llvm-svn: 227531
2015-01-30 01:10:26 +00:00
Eric Christopher 125898a2a1 Clean up some uses of getSubtarget in AArch64.
llvm-svn: 227530
2015-01-30 01:10:24 +00:00
Eric Christopher f761d901aa This only needs TargetInstrInfo, not the specialized one.
llvm-svn: 227529
2015-01-30 01:10:18 +00:00
Reid Kleckner ab80f18f57 clang-cl: Enable -fexceptions but not -fcxx-exceptions by default
This enables proper IRgen of SEH constructs.

llvm-svn: 227528
2015-01-30 01:04:16 +00:00
Alexey Samsonov 8b3334d909 [TSan] Fix -Werror=sign-compare warning. NFC.
llvm-svn: 227527
2015-01-30 01:02:12 +00:00
Rui Ueyama 35cad9d2c2 Remove unused #includes.
llvm-svn: 227526
2015-01-30 00:47:33 +00:00
Chandler Carruth 42f8fc4990 [PM] Remove two very old and dead forward declarations for the prior
incarnation of target transform info.

This is in preparation for starting to redesign TTI to be amenable to
the new PM world.

llvm-svn: 227525
2015-01-30 00:41:44 +00:00
Johannes Doerfert 3a3799e43a [FIX] Activated a pointer test and removed obsolete comment
llvm-svn: 227524
2015-01-30 00:36:13 +00:00
Chris Bieneman f170d7edb5 Updating iOS.cmake to work with the latest Xcode and iOS 8 SDK.
llvm-svn: 227523
2015-01-30 00:10:47 +00:00
Chris Bieneman b2d7149394 iOS doesn't have histedit.h available. We should gate use of libedit on whether or not this headers exists.
llvm-svn: 227522
2015-01-30 00:10:43 +00:00
Chris Bieneman 7b7d2779d1 iOS doesn't have crt_externs.h available, so we fall back to the posix method.
llvm-svn: 227521
2015-01-30 00:10:39 +00:00
Reid Kleckner e83ab8c2de x86: Remove unused variables not caught by MSVC =P
llvm-svn: 227520
2015-01-30 00:05:39 +00:00
Reid Kleckner ca9b9feb2c x86: Fix large model calls to __chkstk for dynamic allocas
In the large code model, we now put __chkstk in %r11 before calling it.

Refactor the code so that we only do this once. Simplify things by using
__chkstk_ms instead of __chkstk on cygming. We already use that symbol
in the prolog emission, and it simplifies our logic.

Second half of PR18582.

llvm-svn: 227519
2015-01-29 23:58:04 +00:00
Filipe Cabecinhas 28f353c7d0 Add some more PS4 driver settings related to rtti and exceptions.
Summary:
The PS4 defaults to -fno-rtti, and has to have rtti enabled when enabling
exceptions.

This commit makes clang add the -fno-rtti by default on the PS4, unless
-frtti was passed in.

It also diagnoses misuses for the PS4:
- Exceptions need rtti. Warn and enable rtti if no rtti flag was passed,
  error if -fno-rtti was passed.

I also added a more general warning for when -fno-rtti is the default
(currently it's only on the PS4) and the vptr sanitizer is on.

Fixed a few tests, due to different flag order when passing cc1 arguments.

Reviewers: chandlerc

Subscribers: cfe-commits

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

llvm-svn: 227518
2015-01-29 23:56:43 +00:00
Eric Christopher fbd9fbabab Remove unnecessary calls to getSubtarget/getSubtargetImpl from the
MSP430 backend.

llvm-svn: 227517
2015-01-29 23:46:42 +00:00
Eric Christopher fb9a7c8b67 Remove unused header.
llvm-svn: 227516
2015-01-29 23:46:39 +00:00
Sanjay Patel 3a907eaccd Change SmallVector param to the more general ArrayRef; NFCI
llvm-svn: 227514
2015-01-29 23:35:04 +00:00
Eric Christopher d86af63a46 Get rid of a few calls through the subtarget to get the ABI
that's actually sitting on the target machine.

llvm-svn: 227513
2015-01-29 23:27:45 +00:00
Eric Christopher 96e72c6ab1 Remove most of the TargetMachine::getSubtarget/getSubtargetImpl
calls that don't take a Function argument from Mips. Notable
exceptions: the AsmPrinter and MipsTargetObjectFile. The
latter needs to be fixed, and the former will be fixed when the
general AsmPrinter changes happen.

llvm-svn: 227512
2015-01-29 23:27:36 +00:00
Chandler Carruth e4b705bc1c [LPM] Remove a PPC64 hack to try to work around a bad interaction
between the linker's TLS optimizations and Clang's TLS code generation.

For now, Clang has been changed to disable linker TLS optimizations
until it (and LLVM more generally) are emitting TLS code sequences
compatible with the old bugs found in the linkers. That's a better fix
to handle bootstrapping on that platform.

llvm-svn: 227511
2015-01-29 23:26:37 +00:00
Rui Ueyama c1fa8300ec ELF: Check StringRef::getAsInteger's return value.
getAsInteger may partially update its result argument. We need to
check function return value to handle errors reliably.

llvm-svn: 227510
2015-01-29 23:23:57 +00:00
Kuba Brecka 0f776b0905 [compiler-rt] OS X: Update the CMake and Make builds to explicitely use libc++, mmacosx-version-min and SDKs
In both CMake and Makefiles, we are inconsistent about the use of libstdc++ vs. libc++, SDKs and minimum deployment targets for OS X. Let's fix the detection of SDKs, and let's explicitely set that we link against libc++ and mmacosx-version-min is 10.7.

llvm-svn: 227509
2015-01-29 23:19:26 +00:00