platform/upstream/llvm.git
9 years agoSome cleanup in lldbpexpect
Enrico Granata [Mon, 2 Feb 2015 23:03:37 +0000 (23:03 +0000)]
Some cleanup in lldbpexpect

llvm-svn: 227889

9 years agoNice syntax typo in lldbpexpect
Enrico Granata [Mon, 2 Feb 2015 22:55:46 +0000 (22:55 +0000)]
Nice syntax typo in lldbpexpect

llvm-svn: 227887

9 years agoPR 17421: Implemented -save-temps={obj|cwd} option
Reid Kleckner [Mon, 2 Feb 2015 22:41:48 +0000 (22:41 +0000)]
PR 17421: Implemented -save-temps={obj|cwd} option

-save-temps=cwd is equivalent to -save-temps
-save-temps=obj saves temporary file in the same directory as output

This helps to avoid clobbering of temp files in case of parallel
compilation with -save-temps of the files that have the same name
but located in different directories.

Patch by Artem Belevich

Reviewed By: rnk

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

llvm-svn: 227886

9 years agoUse the cached subtarget on the MachineFunction.
Eric Christopher [Mon, 2 Feb 2015 22:40:56 +0000 (22:40 +0000)]
Use the cached subtarget on the MachineFunction.

llvm-svn: 227885

9 years agoRemove dead header.
Eric Christopher [Mon, 2 Feb 2015 22:40:54 +0000 (22:40 +0000)]
Remove dead header.

llvm-svn: 227884

9 years agoRemove dead code in the HexagonMCInst classes. This also fixes
Eric Christopher [Mon, 2 Feb 2015 22:40:53 +0000 (22:40 +0000)]
Remove dead code in the HexagonMCInst classes. This also fixes
a layering violation in the port and removes calls to getSubtargetImpl.

llvm-svn: 227883

9 years ago80-col fixup.
Eric Christopher [Mon, 2 Feb 2015 22:40:51 +0000 (22:40 +0000)]
80-col fixup.

llvm-svn: 227882

9 years agoInstrProf: Remove an unused header (NFC)
Justin Bogner [Mon, 2 Feb 2015 22:38:39 +0000 (22:38 +0000)]
InstrProf: Remove an unused header (NFC)

llvm-svn: 227881

9 years agoRemove dead code in the HexagonMCInst classes. This also fixes
Eric Christopher [Mon, 2 Feb 2015 22:28:48 +0000 (22:28 +0000)]
Remove dead code in the HexagonMCInst classes. This also fixes
a layering violation in the port and removes calls to getSubtargetImpl.

llvm-svn: 227880

9 years ago80-col fixup.
Eric Christopher [Mon, 2 Feb 2015 22:28:46 +0000 (22:28 +0000)]
80-col fixup.

llvm-svn: 227879

9 years agoRemove unused class variables and update all callers/uses from
Eric Christopher [Mon, 2 Feb 2015 22:28:44 +0000 (22:28 +0000)]
Remove unused class variables and update all callers/uses from
the HexagonSplitTFRCondSet pass. Use the subtarget off the machine
function at the same time.

llvm-svn: 227878

9 years ago[TSan] Update check_analyze.sh expectations to match trunk Clang output.
Alexey Samsonov [Mon, 2 Feb 2015 22:17:23 +0000 (22:17 +0000)]
[TSan] Update check_analyze.sh expectations to match trunk Clang output.

llvm-svn: 227877

9 years agoSEH: Diagnose use of C++ EH and SEH in the same function
Reid Kleckner [Mon, 2 Feb 2015 22:15:31 +0000 (22:15 +0000)]
SEH: Diagnose use of C++ EH and SEH in the same function

This check does not apply when Borland extensions are enabled, as they
have a checked in test case indicating that mixed usage of SEH and C++
is supported.

llvm-svn: 227876

9 years agoAdd an helper class to write pexpect-based test cases
Enrico Granata [Mon, 2 Feb 2015 22:12:39 +0000 (22:12 +0000)]
Add an helper class to write pexpect-based test cases
Over time, we should improve this class and port all pexpect based testing over to using this

llvm-svn: 227875

9 years agoMigrate the HexagonSplitConst32AndConst64 pass from TargetMachine
Eric Christopher [Mon, 2 Feb 2015 22:11:43 +0000 (22:11 +0000)]
Migrate the HexagonSplitConst32AndConst64 pass from TargetMachine
based getSubtarget to the one cached on the MachineFunction.
Remove unused class variables and update all callers/uses.

llvm-svn: 227874

9 years agoRemove #if'd code and update comment.
Eric Christopher [Mon, 2 Feb 2015 22:11:42 +0000 (22:11 +0000)]
Remove #if'd code and update comment.

llvm-svn: 227873

9 years agoMove HexagonMachineScheduler to use the subtarget off of the
Eric Christopher [Mon, 2 Feb 2015 22:11:40 +0000 (22:11 +0000)]
Move HexagonMachineScheduler to use the subtarget off of the
MachineFunction and update all uses accordingly including
VLIWResourceModel.

llvm-svn: 227872

9 years agoCache and use the subtarget that owns the target lowering.
Eric Christopher [Mon, 2 Feb 2015 22:11:36 +0000 (22:11 +0000)]
Cache and use the subtarget that owns the target lowering.

llvm-svn: 227871

9 years ago[TSan] Fix Go sanity check script.
Alexey Samsonov [Mon, 2 Feb 2015 22:07:39 +0000 (22:07 +0000)]
[TSan] Fix Go sanity check script.

llvm-svn: 227870

9 years ago[X86][MMX] Add tests for MMX extract element
Bruno Cardoso Lopes [Mon, 2 Feb 2015 22:00:48 +0000 (22:00 +0000)]
[X86][MMX] Add tests for MMX extract element

LLVM ToT produces poor MMX code compared to 3.5. However, part of the previous
functionality can be achieved by using -x86-experimental-vector-widening-legalization.
Add tests to be sure we don't regress again.

llvm-svn: 227869

9 years agoAdd cc1 option '-fmodule-feature' to add custom values for 'requires' decls
Ben Langmuir [Mon, 2 Feb 2015 21:56:15 +0000 (21:56 +0000)]
Add cc1 option '-fmodule-feature' to add custom values for 'requires' decls

This allows clang-based tools to specify custom features that can be
tested by the 'requires' declaration in a module map file.

llvm-svn: 227868

9 years ago[X86][MMX] Cleanup shuffle, bitcast and insert element tests
Bruno Cardoso Lopes [Mon, 2 Feb 2015 21:56:11 +0000 (21:56 +0000)]
[X86][MMX] Cleanup shuffle, bitcast and insert element tests

- Merge MMX arg passing test files
- Merge MMX bitcast, insert elt and shuffle tests

llvm-svn: 227867

9 years agoRename pow2 functions in __hash_table to reflect that they are hash specific
Eric Fiselier [Mon, 2 Feb 2015 21:31:48 +0000 (21:31 +0000)]
Rename pow2 functions in __hash_table to reflect that they are hash specific

llvm-svn: 227866

9 years agobpf: Use the getSubtarget call off of the MachineFunction rather than the TargetMachine
Alexei Starovoitov [Mon, 2 Feb 2015 21:24:27 +0000 (21:24 +0000)]
bpf: Use the getSubtarget call off of the MachineFunction rather than the TargetMachine

Summary:
Hi Eric,

this patch cleans up the layering violation that you're fixing across backends.
Anything else I need to fix on bpf backend side?

Thanks

Reviewers: echristo

Reviewed By: echristo

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

llvm-svn: 227865

9 years agoLock the Platform mutex in PlatformDarwin::GetDeveloperDirectory().
Greg Clayton [Mon, 2 Feb 2015 21:18:46 +0000 (21:18 +0000)]
Lock the Platform mutex in PlatformDarwin::GetDeveloperDirectory().

Partial fix for: <rdar://problem/19575304>

llvm-svn: 227863

9 years agoUpdate LFTS status page
Eric Fiselier [Mon, 2 Feb 2015 21:10:21 +0000 (21:10 +0000)]
Update LFTS status page

llvm-svn: 227862

9 years agoWhen generating llvm.used, we may need an addrspacecast instead of a bitcast.
Justin Holewinski [Mon, 2 Feb 2015 21:05:49 +0000 (21:05 +0000)]
When generating llvm.used, we may need an addrspacecast instead of a bitcast.

Summary:
This is especially important for targets that use multiple address spaces,
and commonly place global variables in address spaces other than zero.

Fixes PR22383

Test Plan: New test case added: llvm-used.cu

Reviewers: jingyue

Subscribers: llvm-commits

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

llvm-svn: 227861

9 years ago[libcxx] Add <experimental/chrono>
Eric Fiselier [Mon, 2 Feb 2015 21:05:47 +0000 (21:05 +0000)]
[libcxx] Add <experimental/chrono>

Summary:
This patch adds <experimental/chrono> which only contains a single variable template.

See: https://rawgit.com/cplusplus/fundamentals-ts/v1/fundamentals-ts.html#time

Reviewers: jroelofs, danalbert, K-ballo, mclow.lists

Reviewed By: mclow.lists

Subscribers: cfe-commits

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

llvm-svn: 227860

9 years agoMake one mutex for the lldb_private::Platform class that can be used to protect with...
Greg Clayton [Mon, 2 Feb 2015 20:45:17 +0000 (20:45 +0000)]
Make one mutex for the lldb_private::Platform class that can be used to protect with modifying member variables. This mutex is designed to be used for simple modifications, so the lock should be taken, modify the member variable and released. We need to make sure this isn't used with any code that cause code to rely or reenter on another thread.

Partial fix for: <rdar://problem/19575304>

llvm-svn: 227855

9 years agoResurrect the assertion removed by r227717
Jingyue Wu [Mon, 2 Feb 2015 20:41:11 +0000 (20:41 +0000)]
Resurrect the assertion removed by r227717

Summary: MSVC can compile "LoopID->getOperand(0) == LoopID" when LoopID is MDNode*.

Test Plan: no regression

Reviewers: mkuper

Subscribers: jholewinski, llvm-commits

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

llvm-svn: 227853

9 years ago[TSan] Add Go runtime sanity check to CMake build.
Alexey Samsonov [Mon, 2 Feb 2015 20:37:28 +0000 (20:37 +0000)]
[TSan] Add Go runtime sanity check to CMake build.

llvm-svn: 227852

9 years ago[Sanitizer] Fix checking for weak function presence.
Alexey Samsonov [Mon, 2 Feb 2015 20:37:26 +0000 (20:37 +0000)]
[Sanitizer] Fix checking for weak function presence.

llvm-svn: 227851

9 years ago[TSan] Build runtime with -msse3 flag.
Alexey Samsonov [Mon, 2 Feb 2015 20:37:25 +0000 (20:37 +0000)]
[TSan] Build runtime with -msse3 flag.

llvm-svn: 227850

9 years agoFix the -Werror build, NFC
Duncan P. N. Exon Smith [Mon, 2 Feb 2015 20:20:56 +0000 (20:20 +0000)]
Fix the -Werror build, NFC

llvm-svn: 227849

9 years agoIR: Allow GenericDebugNode construction from MDString
Duncan P. N. Exon Smith [Mon, 2 Feb 2015 20:01:03 +0000 (20:01 +0000)]
IR: Allow GenericDebugNode construction from MDString

Allow `GenericDebugNode` construction directly from `MDString`, rather
than requiring `StringRef`s.  I've refactored the `StringRef`
constructors to use these.  There's no real functionality change here,
except for exposing the lower-level API.

The purpose of this is to simplify construction of string operands when
reading bitcode.  It's unnecessarily indirect to parse an `MDString` ID,
lookup the `MDString` in the bitcode reader list, get the `StringRef`
out of that, and then have `GenericDebugNode::getImpl()` use
`MDString::get()` to acquire the original `MDString`.  Instead, this
allows the bitcode reader to directly pass in the `MDString`.

llvm-svn: 227848

9 years agoIR: Extract DEFINE_MDNODE_GET(), NFC
Duncan P. N. Exon Smith [Mon, 2 Feb 2015 19:55:21 +0000 (19:55 +0000)]
IR: Extract DEFINE_MDNODE_GET(), NFC

llvm-svn: 227847

9 years agoIR: Separate helpers for string operands, NFC
Duncan P. N. Exon Smith [Mon, 2 Feb 2015 19:54:05 +0000 (19:54 +0000)]
IR: Separate helpers for string operands, NFC

llvm-svn: 227846

9 years ago[Orc] Make OrcMCJITReplacement::addObject calls transfer buffer ownership to the
Lang Hames [Mon, 2 Feb 2015 19:51:18 +0000 (19:51 +0000)]
[Orc] Make OrcMCJITReplacement::addObject calls transfer buffer ownership to the
ObjectLinkingLayer.

There are a two of overloads for addObject, one of which transfers ownership of
the underlying buffer to OrcMCJITReplacement. This commit makes the ownership
transfering version pass ownership down to the ObjectLinkingLayer in order to
prevent the issue described in r227778.

I think this commit will fix the sanitizer bot failures that necessitated the
removal of the load-object-a.ll regression test in r227785, so I'm reinstating
that test.

llvm-svn: 227845

9 years ago[NFC] Remove some unnecessary local objects
Johannes Doerfert [Mon, 2 Feb 2015 19:41:30 +0000 (19:41 +0000)]
[NFC] Remove some unnecessary local objects

llvm-svn: 227844

9 years agoFileCheck'ize CodeGenObjC test
David Majnemer [Mon, 2 Feb 2015 19:30:54 +0000 (19:30 +0000)]
FileCheck'ize CodeGenObjC test

This fixes PR22437.

llvm-svn: 227843

9 years agoThe prefix 'Ms-' should be 'MS-'
David Majnemer [Mon, 2 Feb 2015 19:30:52 +0000 (19:30 +0000)]
The prefix 'Ms-' should be 'MS-'

Clang is otherwise consistent that Microsoft be abbreviated as MS, not
Ms.

llvm-svn: 227842

9 years agoMove simple case earlier and use a continue.
Rafael Espindola [Mon, 2 Feb 2015 19:22:51 +0000 (19:22 +0000)]
Move simple case earlier and use a continue.

llvm-svn: 227841

9 years agoMigrate HexagonISelDAGToDAG to setting a subtarget pointer during
Eric Christopher [Mon, 2 Feb 2015 19:22:03 +0000 (19:22 +0000)]
Migrate HexagonISelDAGToDAG to setting a subtarget pointer during
runOnMachineFunction. Update all uses of the Subtarget accordingly.

llvm-svn: 227840

9 years agoUse the getSubtarget call off of the MachineFunction rather than
Eric Christopher [Mon, 2 Feb 2015 19:22:01 +0000 (19:22 +0000)]
Use the getSubtarget call off of the MachineFunction rather than
the TargetMachine.

llvm-svn: 227839

9 years agoMS ABI: Add more documentation and tests for novtable
David Majnemer [Mon, 2 Feb 2015 19:05:46 +0000 (19:05 +0000)]
MS ABI: Add more documentation and tests for novtable

llvm-svn: 227838

9 years agoRemove unused class variables and update calls to get the subtarget
Eric Christopher [Mon, 2 Feb 2015 19:05:28 +0000 (19:05 +0000)]
Remove unused class variables and update calls to get the subtarget
off of the machine function.

llvm-svn: 227837

9 years agoSink queries into asserts since the variable is unused otherwise.
Eric Christopher [Mon, 2 Feb 2015 18:58:24 +0000 (18:58 +0000)]
Sink queries into asserts since the variable is unused otherwise.

llvm-svn: 227836

9 years agoIR: Split out DebugInfoMetadata.h, NFC
Duncan P. N. Exon Smith [Mon, 2 Feb 2015 18:53:21 +0000 (18:53 +0000)]
IR: Split out DebugInfoMetadata.h, NFC

Move debug-info-centred `Metadata` subclasses into their own
header/source file.  A couple of private template functions are needed
from both `Metadata.cpp` and `DebugInfoMetadata.cpp`, so I've moved them
to `lib/IR/MetadataImpl.h`.

llvm-svn: 227835

9 years agoUpdate CMake build for removed files.
Eric Christopher [Mon, 2 Feb 2015 18:52:49 +0000 (18:52 +0000)]
Update CMake build for removed files.

llvm-svn: 227834

9 years agoMake SBTarget::Launch() respect the stop_at_entry argument.
Zachary Turner [Mon, 2 Feb 2015 18:50:01 +0000 (18:50 +0000)]
Make SBTarget::Launch() respect the stop_at_entry argument.

Patch by Ilia K
Differential Revision: http://reviews.llvm.org/D7271

llvm-svn: 227833

9 years agoGet TargetRegisterInfo and TargetInstrInfo off of the MachineFunction
Eric Christopher [Mon, 2 Feb 2015 18:46:31 +0000 (18:46 +0000)]
Get TargetRegisterInfo and TargetInstrInfo off of the MachineFunction
and remove unnecessary class variables.

llvm-svn: 227832

9 years agoUse the function template getSubtarget to remove an explicit cast.
Eric Christopher [Mon, 2 Feb 2015 18:46:29 +0000 (18:46 +0000)]
Use the function template getSubtarget to remove an explicit cast.

llvm-svn: 227831

9 years agoGrab TargetInstrInfo off of the MachineFunction and remove
Eric Christopher [Mon, 2 Feb 2015 18:46:27 +0000 (18:46 +0000)]
Grab TargetInstrInfo off of the MachineFunction and remove
unnecessary class variables.

llvm-svn: 227830

9 years agoRemove unused files.
Eric Christopher [Mon, 2 Feb 2015 18:46:23 +0000 (18:46 +0000)]
Remove unused files.

llvm-svn: 227829

9 years agoSTLExtras: Provide less/equal functors with templated function call operators, plus...
David Blaikie [Mon, 2 Feb 2015 18:35:10 +0000 (18:35 +0000)]
STLExtras: Provide less/equal functors with templated function call operators, plus a deref'ing functor template utility

Similar to the C++14 void specializations of these templates, useful as
a stop-gap until LLVM switches to '14.

Example use-cases in tblgen because I saw some functors that looked like
they could be simplified/refactored.

Reviewers: dexonsmith

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

llvm-svn: 227828

9 years agoDebug Info: Relax assertion in isUnsignedDIType() to allow floats to be
Adrian Prantl [Mon, 2 Feb 2015 18:31:58 +0000 (18:31 +0000)]
Debug Info: Relax assertion in isUnsignedDIType() to allow floats to be
described by integer constants. This is a bit ugly, but if the source
language allows arbitrary type casting, the debug info must follow suit.

For example:
  void foo() {
    float a;
    *(int *)&a = 0;
  }
For the curious: SROA replaces the float alloca with an i32 alloca, which
is then optimized away and described via dbg.value(i32 0, ...).

llvm-svn: 227827

9 years agoFix some file headers, NFC
Duncan P. N. Exon Smith [Mon, 2 Feb 2015 18:20:15 +0000 (18:20 +0000)]
Fix some file headers, NFC

llvm-svn: 227826

9 years agoSupport: Add missing header to BlockFrequencyTest.cpp, NFC
Duncan P. N. Exon Smith [Mon, 2 Feb 2015 18:18:07 +0000 (18:18 +0000)]
Support: Add missing header to BlockFrequencyTest.cpp, NFC

llvm-svn: 227825

9 years agoFix PR#22433. The algorithm is_partitioned was testing an item in the middle of the...
Marshall Clow [Mon, 2 Feb 2015 18:16:35 +0000 (18:16 +0000)]
Fix PR#22433. The algorithm is_partitioned was testing an item in the middle of the sequence twice.

llvm-svn: 227824

9 years agoR600/SI: 64-bit and larger memory access must be at least 4-byte aligned
Tom Stellard [Mon, 2 Feb 2015 18:02:28 +0000 (18:02 +0000)]
R600/SI: 64-bit and larger memory access must be at least 4-byte aligned

This is true for SI only. CI+ supports unaligned memory accesses,
but this requires driver support, so for now we disallow unaligned
accesses for all GCN targets.

llvm-svn: 227822

9 years agoR600/SI: Merge two test files
Tom Stellard [Mon, 2 Feb 2015 18:02:23 +0000 (18:02 +0000)]
R600/SI: Merge two test files

llvm-svn: 227821

9 years ago[AArch64] Prefer DUP/MOV ("CPY") to INS for vector_extract.
Ahmed Bougacha [Mon, 2 Feb 2015 17:55:57 +0000 (17:55 +0000)]
[AArch64] Prefer DUP/MOV ("CPY") to INS for vector_extract.

This avoids a partial false dependency on the previous content of
the upper lanes of the destination vector register.

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

llvm-svn: 227820

9 years agoSince TargetLowering is already subtarget dependent just pass
Eric Christopher [Mon, 2 Feb 2015 17:52:27 +0000 (17:52 +0000)]
Since TargetLowering is already subtarget dependent just pass
in the subtarget and stash it in the class so that lookups are
easier and safer.

llvm-svn: 227819

9 years agoUse the function template getSubtarget on the MachineFunction
Eric Christopher [Mon, 2 Feb 2015 17:52:25 +0000 (17:52 +0000)]
Use the function template getSubtarget on the MachineFunction
rather than a larger explicit cast.

llvm-svn: 227818

9 years agoRemove unused class variable.
Eric Christopher [Mon, 2 Feb 2015 17:52:23 +0000 (17:52 +0000)]
Remove unused class variable.

llvm-svn: 227817

9 years agoRemove unused class variable.
Eric Christopher [Mon, 2 Feb 2015 17:52:20 +0000 (17:52 +0000)]
Remove unused class variable.

llvm-svn: 227816

9 years agofix typo
Sanjay Patel [Mon, 2 Feb 2015 17:47:30 +0000 (17:47 +0000)]
fix typo

llvm-svn: 227815

9 years agoReuse a bunch of cached subtargets and remove getSubtarget calls
Eric Christopher [Mon, 2 Feb 2015 17:38:43 +0000 (17:38 +0000)]
Reuse a bunch of cached subtargets and remove getSubtarget calls
without a Function argument.

llvm-svn: 227814

9 years agoRemove unnecessary forward declaration.
Eric Christopher [Mon, 2 Feb 2015 17:38:40 +0000 (17:38 +0000)]
Remove unnecessary forward declaration.

llvm-svn: 227813

9 years agoRemove some unused forward declarations.
Eric Christopher [Mon, 2 Feb 2015 17:38:37 +0000 (17:38 +0000)]
Remove some unused forward declarations.

llvm-svn: 227812

9 years agoFix PR#22427. The implementation of inplace_merge had a \'small data set\' optimizati...
Marshall Clow [Mon, 2 Feb 2015 17:35:53 +0000 (17:35 +0000)]
Fix PR#22427. The implementation of inplace_merge had a \'small data set\' optimization; if either half of the merge was small (i.e, less than 9 items), it did an inplace merge rather than allocating a buffer and doing a faster/smarter merge. However, this failed to satisfy the complexity requirements in the standard. Remove that code. Add tests to check the complexity, and add the same tests for std::merge, since we are in that section of the test suite anyway.

llvm-svn: 227811

9 years agoFix log file generation in lldb-mi.
Hafiz Abid Qadeer [Mon, 2 Feb 2015 17:08:25 +0000 (17:08 +0000)]
Fix log file generation in lldb-mi.

When it runs, lldb-mi creates a log file. There is an option --noLog
to disable the creation but it does not work and you end up with log
file. This happens as log is enabled in a few places in the code
although it has been disabled by this option.

This commit tried to fix the problem in the following way.

Log file generation is disabled by default.
You can enable it by giving --log option. It is the only way to enable
it. Rest of the call have been removed.

So the code basically remove the calls that enable the log
unconditionally and changes the option --noLog to --log.

llvm-svn: 227810

9 years agoFix ARM peephole optimizeCompare to avoid optimizing unsigned cmp to 0.
Jan Wen Voung [Mon, 2 Feb 2015 16:56:50 +0000 (16:56 +0000)]
Fix ARM peephole optimizeCompare to avoid optimizing unsigned cmp to 0.

Summary:
Previously it only avoided optimizing signed comparisons to 0.
Sometimes the DAGCombiner will optimize the unsigned comparisons
to 0 before it gets to the peephole pass, but sometimes it doesn't.

Fix for PR22373.

Test Plan: test/CodeGen/ARM/sub-cmp-peephole.ll

Reviewers: jfb, manmanren

Subscribers: aemerson, llvm-commits

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

llvm-svn: 227809

9 years agoReorder a couple of operations in inplace_merge so that we can meet the complexity...
Marshall Clow [Mon, 2 Feb 2015 16:44:11 +0000 (16:44 +0000)]
Reorder a couple of operations in inplace_merge so that we can meet the complexity guidelines mandated by the standard. References PR22427

llvm-svn: 227808

9 years ago[FIX] Updated test case (fixed names -> regular expressions)
Johannes Doerfert [Mon, 2 Feb 2015 16:13:36 +0000 (16:13 +0000)]
[FIX] Updated test case (fixed names -> regular expressions)

llvm-svn: 227807

9 years agoRevert r227804: Use fseek/ftell instead of fseeko/ftello when Newlib is the libc
Jonathan Roelofs [Mon, 2 Feb 2015 15:56:43 +0000 (15:56 +0000)]
Revert r227804: Use fseek/ftell instead of fseeko/ftello when Newlib is the libc

This change is causing a driver crash on libcxx-libcxxabi-x86_64-linux-ubuntu-msan

llvm-svn: 227806

9 years ago[FIX] Partially fix the pointer negation crash
Johannes Doerfert [Mon, 2 Feb 2015 15:25:09 +0000 (15:25 +0000)]
[FIX] Partially fix the pointer negation crash

llvm-svn: 227805

9 years agoUse fseek/ftell instead of fseeko/ftello when Newlib is the libc
Jonathan Roelofs [Mon, 2 Feb 2015 15:04:29 +0000 (15:04 +0000)]
Use fseek/ftell instead of fseeko/ftello when Newlib is the libc

http://reviews.llvm.org/D6626

llvm-svn: 227804

9 years ago[ASan/Win] Add some diagnostics to help investigate Mprotect failures
Timur Iskhodzhanov [Mon, 2 Feb 2015 15:04:23 +0000 (15:04 +0000)]
[ASan/Win] Add some diagnostics to help investigate Mprotect failures

llvm-svn: 227803

9 years ago[FIX] Check non-deterministic isl output
Johannes Doerfert [Mon, 2 Feb 2015 14:07:02 +0000 (14:07 +0000)]
[FIX] Check non-deterministic isl output

llvm-svn: 227802

9 years ago[NFC] Drop the "scattering" tuple name
Johannes Doerfert [Mon, 2 Feb 2015 13:45:54 +0000 (13:45 +0000)]
[NFC] Drop the "scattering" tuple name

llvm-svn: 227801

9 years agoFix: SLPVectorizer crashes with assertion when vectorizing a cmp instruction.
Erik Eckstein [Mon, 2 Feb 2015 12:45:34 +0000 (12:45 +0000)]
Fix: SLPVectorizer crashes with assertion when vectorizing a cmp instruction.

The commit r225977 uncovered this bug. The problem was that the vectorizer tried to
read the second operand of an already deleted instruction.
The bug didn't show up before r225977 because the freed memory still contained a non-null pointer.
With r225977 deletion of instructions is delayed and the read operand pointer is always null.

llvm-svn: 227800

9 years ago[ASan/Win] Add a test case for r208215 [stack buffer overflow in <iostream>]
Timur Iskhodzhanov [Mon, 2 Feb 2015 12:31:11 +0000 (12:31 +0000)]
[ASan/Win] Add a test case for r208215 [stack buffer overflow in <iostream>]

The issue re-appears if one uses the -fsanitize-blacklist= flag,
so it's time to have a test case.

llvm-svn: 227799

9 years agoMake --thread argument optional for various commands.
Hafiz Abid Qadeer [Mon, 2 Feb 2015 12:17:33 +0000 (12:17 +0000)]
Make --thread argument optional for various commands.
Currently it was marked as mandatory for many commands. Although it
is recommended that fronends generate this argument, it is not
mandatory. GDB seems to treat it as optional too.

llvm-svn: 227798

9 years agoFix missed #endif in rL227790.
Viktor Kutuzov [Mon, 2 Feb 2015 10:48:38 +0000 (10:48 +0000)]
Fix missed #endif in rL227790.

llvm-svn: 227797

9 years agoMS ABI: Implement support for 'novtable'
David Majnemer [Mon, 2 Feb 2015 10:22:20 +0000 (10:22 +0000)]
MS ABI: Implement support for 'novtable'

It is common for COM interface classes to be marked as 'novtable' to
tell the compiler that constructors and destructors should not reference
virtual function tables.

This commit implements this feature in clang.

llvm-svn: 227796

9 years ago[Sanitizers] Intercept ether functions on FreeBSD
Viktor Kutuzov [Mon, 2 Feb 2015 10:00:23 +0000 (10:00 +0000)]
[Sanitizers] Intercept ether functions on FreeBSD
Committed unreviewed with permission.

llvm-svn: 227795

9 years ago[Sanitizers] Intercept memrchr() on FreeBSD
Viktor Kutuzov [Mon, 2 Feb 2015 09:58:30 +0000 (09:58 +0000)]
[Sanitizers] Intercept memrchr() on FreeBSD
Committed unreviewed with permission.

llvm-svn: 227794

9 years ago[Sanitizers] Intercept getpwnam_r() on FreeBSD
Viktor Kutuzov [Mon, 2 Feb 2015 09:56:11 +0000 (09:56 +0000)]
[Sanitizers] Intercept getpwnam_r() on FreeBSD
Committed unreviewed with permission.

llvm-svn: 227793

9 years ago[Sanitizers] Intercept getpwent_r() on FreeBSD
Viktor Kutuzov [Mon, 2 Feb 2015 09:53:02 +0000 (09:53 +0000)]
[Sanitizers] Intercept getpwent_r() on FreeBSD
Committed unreviewed with permission.

llvm-svn: 227792

9 years ago[Sanitizers] Intercept getpwent() on FreeBSD
Viktor Kutuzov [Mon, 2 Feb 2015 09:49:28 +0000 (09:49 +0000)]
[Sanitizers] Intercept getpwent() on FreeBSD
Committed unreviewed with permission.

llvm-svn: 227791

9 years ago[Msan] Disable unit tests for non-FreeBSD functions on FreeBSD
Viktor Kutuzov [Mon, 2 Feb 2015 09:46:07 +0000 (09:46 +0000)]
[Msan] Disable unit tests for non-FreeBSD functions on FreeBSD
Differential Revision: http://reviews.llvm.org/D7252

llvm-svn: 227790

9 years ago[Sanitizers] Re-apply the fix ordering initialization of coverage and guard arrays
Viktor Kutuzov [Mon, 2 Feb 2015 09:38:10 +0000 (09:38 +0000)]
[Sanitizers] Re-apply the fix ordering initialization of coverage and guard arrays
Original commit: http://reviews.llvm.org/rL226440
Related review: http://reviews.llvm.org/D6892

llvm-svn: 227789

9 years ago[ELF] Implement action for OUTPUT linker script command
Davide Italiano [Mon, 2 Feb 2015 06:28:12 +0000 (06:28 +0000)]
[ELF] Implement action for OUTPUT linker script command

Reviewed by: ruiu, shankarke

llvm-svn: 227787

9 years ago[ELF] Support for parsing OUTPUT command in LinkerScript
Davide Italiano [Mon, 2 Feb 2015 06:21:23 +0000 (06:21 +0000)]
[ELF] Support for parsing OUTPUT command in LinkerScript

Differential Revision: D7326
Reviewed by: rafaelauler, shankarke, ruiu

llvm-svn: 227786

9 years ago[Orc] Remove one of the OrcMCJITReplacement regression tests while I
Lang Hames [Mon, 2 Feb 2015 06:01:02 +0000 (06:01 +0000)]
[Orc] Remove one of the OrcMCJITReplacement regression tests while I
investigate a sanitizer bot failure.

llvm-svn: 227785

9 years ago[ELF] Determine default search directories from Context.
Shankar Easwaran [Mon, 2 Feb 2015 06:00:04 +0000 (06:00 +0000)]
[ELF] Determine default search directories from Context.

Target specific LinkingContext's  determine the default search directory.

No change in functionality.

llvm-svn: 227784

9 years agogold-plugin.cpp: Fixup r227599 corresponding to r227685 and r227731 -- Don't lose...
NAKAMURA Takumi [Mon, 2 Feb 2015 05:47:30 +0000 (05:47 +0000)]
gold-plugin.cpp: Fixup r227599 corresponding to r227685 and r227731 -- Don't lose DataLayoutPass.

llvm-svn: 227783

9 years agoWrap to 80 columns. No behavior change.
Nico Weber [Mon, 2 Feb 2015 05:38:59 +0000 (05:38 +0000)]
Wrap to 80 columns. No behavior change.

llvm-svn: 227782

9 years agoFollow-up to r217302: Don't crash on ~A::A in a postfix expr suffix followed by '<'.
Nico Weber [Mon, 2 Feb 2015 05:33:50 +0000 (05:33 +0000)]
Follow-up to r217302: Don't crash on ~A::A in a postfix expr suffix followed by '<'.

This used to crash, complaining "ObjectType and scope specifier cannot coexist":

    struct A { } b = b.~A::A <int>;

The only other caller of ParseOptionalCXXScopeSpecifier() that passes in a
non-empty ObjectType clears the ObjectType of the scope specifier comes back
non-empty (see the tok::period case in Parser::ParsePostfixExpressionSuffix()),
so do that here too.

Found by SLi's bot.

llvm-svn: 227781