platform/upstream/llvm.git
11 years agoAdded INSERT and EXTRACT intructions from AVX-512 ISA.
Elena Demikhovsky [Wed, 31 Jul 2013 11:35:14 +0000 (11:35 +0000)]
Added INSERT and EXTRACT intructions from AVX-512 ISA.
All insertf*/extractf* functions replaced with insert/extract since we have insertf and inserti forms.
Added lowering for INSERT_VECTOR_ELT / EXTRACT_VECTOR_ELT for 512-bit vectors.
Added lowering for EXTRACT/INSERT subvector for 512-bit vectors.
Added a test.

llvm-svn: 187491

11 years ago[SystemZ] Add RISBLG and RISBHG instruction definitions
Richard Sandiford [Wed, 31 Jul 2013 11:17:35 +0000 (11:17 +0000)]
[SystemZ] Add RISBLG and RISBHG instruction definitions

The next patch will make use of RISBLG for codegen.

llvm-svn: 187490

11 years agoWith help from chapuni on IRC, I think this is right now. =] The issue
Chandler Carruth [Wed, 31 Jul 2013 11:14:13 +0000 (11:14 +0000)]
With help from chapuni on IRC, I think this is right now. =] The issue
is that the command is quoted differently from the arguments. The
command has '\' and the argument has '\\'. This is made unclear because
FileCheck escapes the single matched '\' when it prints the contents of
the variable, thus fooling me into thinking it had matched '\\' as
intended. The solution is to bind the gcc_install variable in the
argument list rather than out of the command. To do so we also have to
be a bit more careful so that we don't get stray other things into the
'.*' regex.

Also, because of the argument difference, '\\\\' is the correct
formulation before crtbegin, go back to that.

llvm-svn: 187489

11 years agoRun an experiment to try to understand the windows failure better by
Chandler Carruth [Wed, 31 Jul 2013 10:54:11 +0000 (10:54 +0000)]
Run an experiment to try to understand the windows failure better by
replacing one variable with the regex. This won't fix anything, but will
hopefully shed light on the nature of the failure.

llvm-svn: 187488

11 years agoTry only two slashes as that seems to be working elsewhere in this
Chandler Carruth [Wed, 31 Jul 2013 10:34:48 +0000 (10:34 +0000)]
Try only two slashes as that seems to be working elsewhere in this
testcase.

llvm-svn: 187487

11 years agoRe-enable the cross-linux test on windows after making it tolerant of
Chandler Carruth [Wed, 31 Jul 2013 10:02:58 +0000 (10:02 +0000)]
Re-enable the cross-linux test on windows after making it tolerant of
the path separator used when locating crtbegin.o.

I'll watch the bots to see if there are other issues lurking here.

llvm-svn: 187486

11 years ago[msan] Fix msan tests with pipefail option.
Evgeniy Stepanov [Wed, 31 Jul 2013 09:14:55 +0000 (09:14 +0000)]
[msan] Fix msan tests with pipefail option.

llvm-svn: 187485

11 years ago[PECOFF] Add a comment on the idata section fragments.
Rui Ueyama [Wed, 31 Jul 2013 05:10:20 +0000 (05:10 +0000)]
[PECOFF] Add a comment on the idata section fragments.

llvm-svn: 187484

11 years agoclang/test/Driver/cross-linux.c is suppressed on win32 for now. Investigating.
NAKAMURA Takumi [Wed, 31 Jul 2013 04:56:19 +0000 (04:56 +0000)]
clang/test/Driver/cross-linux.c is suppressed on win32 for now. Investigating.

llvm-svn: 187483

11 years agoAdd parentheses to silence gcc warning.
Richard Trieu [Wed, 31 Jul 2013 04:07:28 +0000 (04:07 +0000)]
Add parentheses to silence gcc warning.

llvm-svn: 187482

11 years agoFixed path differences when using include/exclude headers
Ariel J. Bernal [Wed, 31 Jul 2013 04:00:28 +0000 (04:00 +0000)]
Fixed path differences when using include/exclude headers

Added function for removing relative operators from input paths.

llvm-svn: 187481

11 years agoReverts r187449 (report_fatal_error) in favor of a log message since
Ashok Thirumurthi [Wed, 31 Jul 2013 03:56:45 +0000 (03:56 +0000)]
Reverts r187449 (report_fatal_error) in favor of a log message since
the extra check introduces 22 new test failures with the LLDB clang buildbot.

Note that the unhandled DWARF_OP codes in DWARFExpression::Evaluate don't cause test failures if the check is ignored.

llvm-svn: 187480

11 years agoFix register pressure tables on ARM.
Andrew Trick [Wed, 31 Jul 2013 03:24:31 +0000 (03:24 +0000)]
Fix register pressure tables on ARM.

The heuristic that merges register pressure sets was bogus for ARM's S/D regs.

llvm-svn: 187479

11 years agoAdd tracing to the tblgen register pressure table generator.
Andrew Trick [Wed, 31 Jul 2013 03:24:28 +0000 (03:24 +0000)]
Add tracing to the tblgen register pressure table generator.

llvm-svn: 187478

11 years agoIncrement arg_count inside the loop in printInline. Patch by Joe Matarazzo.
Craig Topper [Wed, 31 Jul 2013 03:22:07 +0000 (03:22 +0000)]
Increment arg_count inside the loop in printInline. Patch by Joe Matarazzo.

llvm-svn: 187477

11 years agoChanged register names (and pointer keywords) to be lower case when using Intel X86...
Craig Topper [Wed, 31 Jul 2013 02:47:52 +0000 (02:47 +0000)]
Changed register names (and pointer keywords) to be lower case when using Intel X86 assembler syntax.

Patch by Richard Mitton.

llvm-svn: 187476

11 years agoFix a severe compile time problem when forming large SCEV expressions.
Andrew Trick [Wed, 31 Jul 2013 02:43:40 +0000 (02:43 +0000)]
Fix a severe compile time problem when forming large SCEV expressions.

This fix is very lightweight. The same fix already existed for AddRec
but was missing for NAry expressions.

This is obviously an improvement and I'm unsure how to test compile
time problems.

Patch by Xiaoyi Guo!

llvm-svn: 187475

11 years agoFixing an unused variable warning.
Aaron Ballman [Wed, 31 Jul 2013 02:20:22 +0000 (02:20 +0000)]
Fixing an unused variable warning.

llvm-svn: 187474

11 years agoThe DisassemblerLLVMC has a retain cycle - the InstructionLLVMC's contained in its...
Jim Ingham [Wed, 31 Jul 2013 02:19:15 +0000 (02:19 +0000)]
The DisassemblerLLVMC has a retain cycle - the InstructionLLVMC's contained in its instruction
list have a shared pointer back to their DisassemblerLLVMC.  This checkin force clears the InstructionList
in all the places we use the DisassemblerSP to stop the leaking for now.  I'll go back and fix this
for real when I have time to do so.

<rdar://problem/14581918>

llvm-svn: 187473

11 years agoRemove trailing whitespace and some tab characters.
Craig Topper [Wed, 31 Jul 2013 02:00:15 +0000 (02:00 +0000)]
Remove trailing whitespace and some tab characters.

llvm-svn: 187472

11 years agoFixed incorrect disassembly for MOV16o16a when using Intel syntax.
Craig Topper [Wed, 31 Jul 2013 01:50:26 +0000 (01:50 +0000)]
Fixed incorrect disassembly for MOV16o16a when using Intel syntax.

Patch by Richard Mitton.

llvm-svn: 187471

11 years agoFix crashing on invalid inline asm with matching constraints.
Eric Christopher [Wed, 31 Jul 2013 01:26:24 +0000 (01:26 +0000)]
Fix crashing on invalid inline asm with matching constraints.

For a testcase like the following:

 typedef unsigned long uint64_t;

 typedef struct {
   uint64_t lo;
   uint64_t hi;
 } blob128_t;

 void add_128_to_128(const blob128_t *in, blob128_t *res) {
   asm ("PAND %1, %0" : "+Q"(*res) : "Q"(*in));
 }

where we'll fail to allocate the register for the output constraint,
our matching input constraint will not find a register to match,
and could try to search past the end of the current operands array.

On the idea that we'd like to attempt to keep compilation going
to find more errors in the module, change the error cases when
we're visiting inline asm IR to return immediately and avoid
trying to create a node in the DAG. This leaves us with only
a single error message per inline asm instruction, but allows us
to safely keep going in the general case.

llvm-svn: 187470

11 years ago[mips] Rename instruction DANDi to ANDi64.
Akira Hatanaka [Wed, 31 Jul 2013 00:57:41 +0000 (00:57 +0000)]
[mips] Rename instruction DANDi to ANDi64.

No functionality change.

llvm-svn: 187469

11 years ago[mips] Define instruction itineraries IIArith and IILogic.
Akira Hatanaka [Wed, 31 Jul 2013 00:55:34 +0000 (00:55 +0000)]
[mips] Define instruction itineraries IIArith and IILogic.

No functionality change.

llvm-svn: 187468

11 years agoFix a crasher than manifests when typo correction suggests a function template.
Richard Trieu [Wed, 31 Jul 2013 00:48:10 +0000 (00:48 +0000)]
Fix a crasher than manifests when typo correction suggests a function template.

llvm-svn: 187467

11 years agoFind a better compromise with the default library search paths used by
Chandler Carruth [Wed, 31 Jul 2013 00:37:07 +0000 (00:37 +0000)]
Find a better compromise with the default library search paths used by
Clang when linking and using a GCC installation from a GCC
cross-compiler.

This was desired already by two special case platforms (Android and
Mips), and turns out to be generally (if frustratingly) true. I've added
a substantial comment to the code clarifying the underlying assumptions
of doing actual cross compiles with Clang (or GCC for that matter!) and
help avoid further confusion here.

The end result is to realize that fully general form of PR12478 cannot
be resolved while we support existing cross-compiling GCC toolchains,
and linking with them (namely, linking against their libgcc and
libstdc++ installs). GCC installs these target libraries under
a target-specific prefix but one that may not be available within the
actual sysroot in use. When linking in this world, GCC works and Clang
should as well, but caveat emptor: DSOs from this tree must be
replicated and rpath-fixed to be found at runtime within the sysroot.

I've extended the cross compile test cases to cover these issues by
pointing them at a sysroot and actually checking the library search
paths.

llvm-svn: 187466

11 years agoFix read of uninitialized enum value in test, caught by UBSan. No functionality
Richard Smith [Wed, 31 Jul 2013 00:26:46 +0000 (00:26 +0000)]
Fix read of uninitialized enum value in test, caught by UBSan. No functionality
change, other than removal of undefined behavior.

llvm-svn: 187465

11 years agoFix ptr vector inconsistency in CreatePointerCast
Matt Arsenault [Wed, 31 Jul 2013 00:17:33 +0000 (00:17 +0000)]
Fix ptr vector inconsistency in CreatePointerCast

One form would accept a vector of pointers, and the other did not.
Make both accept vectors of pointers, and add an assertion
for the number of elements.

llvm-svn: 187464

11 years agoFix windows' implementation of status when a file doesn't exist.
Rafael Espindola [Wed, 31 Jul 2013 00:10:25 +0000 (00:10 +0000)]
Fix windows' implementation of status when a file doesn't exist.

The unix one was returning no_such_file_or_directory, but the windows one
was return success.

Update the one one caller that was depending on the old behavior.

llvm-svn: 187463

11 years agoPreserve fast-math flags when folding (fsub x, (fneg y)) to (fadd x, y).
Owen Anderson [Tue, 30 Jul 2013 23:53:17 +0000 (23:53 +0000)]
Preserve fast-math flags when folding (fsub x, (fneg y)) to (fadd x, y).

llvm-svn: 187462

11 years agoFix comment.
Rui Ueyama [Tue, 30 Jul 2013 23:20:10 +0000 (23:20 +0000)]
Fix comment.

llvm-svn: 187461

11 years ago[PECOFF] Emit BSS section.
Rui Ueyama [Tue, 30 Jul 2013 22:56:46 +0000 (22:56 +0000)]
[PECOFF] Emit BSS section.

llvm-svn: 187460

11 years agoReflow this to be easier to read.
Eric Christopher [Tue, 30 Jul 2013 22:50:44 +0000 (22:50 +0000)]
Reflow this to be easier to read.

llvm-svn: 187459

11 years agoclang-format: Improve detection of templates.
Daniel Jasper [Tue, 30 Jul 2013 22:37:19 +0000 (22:37 +0000)]
clang-format: Improve detection of templates.

Before:
  template <typename... Types>
        typename enable_if < 0<sizeof...(Types)>::type Foo() {}
After:
  template <typename... Types>
  typename enable_if<0 < sizeof...(Types)>::type Foo() {}

llvm-svn: 187458

11 years agoMake these just inline, not static inline.
Eric Christopher [Tue, 30 Jul 2013 22:35:06 +0000 (22:35 +0000)]
Make these just inline, not static inline.

llvm-svn: 187457

11 years agoMake sure that -gsplit-dwarf isn't passed to the linker.
Eric Christopher [Tue, 30 Jul 2013 22:34:30 +0000 (22:34 +0000)]
Make sure that -gsplit-dwarf isn't passed to the linker.

llvm-svn: 187456

11 years agoRespect address space sizes in isEliminableCastPair.
Matt Arsenault [Tue, 30 Jul 2013 22:27:10 +0000 (22:27 +0000)]
Respect address space sizes in isEliminableCastPair.

This avoids constant folding bitcast/ptrtoint/inttoptr combinations
that have illegal bitcasts between differently sized address spaces.

llvm-svn: 187455

11 years agoRevert "Remove isCastable since nothing uses it now"
Matt Arsenault [Tue, 30 Jul 2013 22:02:14 +0000 (22:02 +0000)]
Revert "Remove isCastable since nothing uses it now"

Apparently dragonegg uses it.

llvm-svn: 187454

11 years ago[PECOFF] Split COFFDefinedAtom to add COFFBSSAtom class.
Rui Ueyama [Tue, 30 Jul 2013 21:54:10 +0000 (21:54 +0000)]
[PECOFF] Split COFFDefinedAtom to add COFFBSSAtom class.

The BSS atom is similar to the regular defined atom, but it's different
in the sense that it does not have contents. Until now we assumed all the
defined atoms have its contents. That did not fit well to the BSS atom.

llvm-svn: 187453

11 years agoAdd capability for building with -gsplit-dwarf to the cmake build.
Eric Christopher [Tue, 30 Jul 2013 21:44:10 +0000 (21:44 +0000)]
Add capability for building with -gsplit-dwarf to the cmake build.

In limited testing this seems to work. Caveat emptor.

llvm-svn: 187452

11 years agoAssorted test suite fixes as a result of GCC 4.8 validation efforts
Daniel Malea [Tue, 30 Jul 2013 21:34:44 +0000 (21:34 +0000)]
Assorted test suite fixes as a result of GCC 4.8 validation efforts
- disable some TestConcurrentEvents cases (which are affected by llvm.org/pr16714 -- watchpoints in multithreaded programs)
- relax number-of-bp-locations check in TestUniqueTypes/TestUnsignedTypes
- skip TestDataFormatterStdVector cases with GCC 4.8 (known failure due to llvm.org/pr15301)
- workaround for race condition in TestHelloWorld.py
- update TestSettings.py to work on distros (like Fedora) that have /bin/cat hardlinked to /usr/bin/cat

After these changes, the test suite should run cleanly against GCC 4.8 (with DWARF v4)!

llvm-svn: 187451

11 years agoFix problematic override _exc_info_to_string
Daniel Malea [Tue, 30 Jul 2013 21:28:32 +0000 (21:28 +0000)]
Fix problematic override _exc_info_to_string
- pass through to base-class implementation when raised exception is not from an LLDBTest
- should make the test suite errors a little easier to root-cause

llvm-svn: 187450

11 years agoAdd a default case to the LLVM expression opcode switch statement
Daniel Malea [Tue, 30 Jul 2013 21:26:24 +0000 (21:26 +0000)]
Add a default case to the LLVM expression opcode switch statement
- better than failing silently next time the DWARF standard introduces new opcodes!

llvm-svn: 187449

11 years agoRemove isCastable since nothing uses it now
Matt Arsenault [Tue, 30 Jul 2013 21:11:17 +0000 (21:11 +0000)]
Remove isCastable since nothing uses it now

llvm-svn: 187448

11 years agoRevert "cpp11-migrate: Write header replacements to disk"
Rafael Espindola [Tue, 30 Jul 2013 21:05:56 +0000 (21:05 +0000)]
Revert "cpp11-migrate: Write header replacements to disk"

This reverts commit 187428. It broke the windows bots.
http://bb.pgr.jp/builders/ninja-clang-i686-msc17-R/builds/3450

llvm-svn: 187447

11 years agoDebug mode for unordered_multimap. Some mods were done for unordered_map as well...
Howard Hinnant [Tue, 30 Jul 2013 21:04:42 +0000 (21:04 +0000)]
Debug mode for unordered_multimap.  Some mods were done for unordered_map as well to keep all the tests passing.  However unordered_map is at the very least still missing tests, if not functionality (if it isn't tested, it probably isn't working).

llvm-svn: 187446

11 years agoisKnownToBeAPowerOfTwo: Strengthen isKnownToBeAPowerOfTwo's analysis on add instructions
David Majnemer [Tue, 30 Jul 2013 21:01:36 +0000 (21:01 +0000)]
isKnownToBeAPowerOfTwo: Strengthen isKnownToBeAPowerOfTwo's analysis on add instructions

Call into ComputeMaskedBits to figure out which bits are set on both add
operands and determine if the value is a power-of-two-or-zero or not.

llvm-svn: 187445

11 years agoChange behavior of calling bitcasted alias functions.
Matt Arsenault [Tue, 30 Jul 2013 20:45:05 +0000 (20:45 +0000)]
Change behavior of calling bitcasted alias functions.

It will now only convert the arguments / return value and call
the underlying function if the types are able to be bitcasted.
This avoids using fp<->int conversions that would occur before.

llvm-svn: 187444

11 years ago[mips] Delete instruction format for "bal".
Akira Hatanaka [Tue, 30 Jul 2013 20:42:19 +0000 (20:42 +0000)]
[mips] Delete instruction format for "bal".

llvm-svn: 187443

11 years agoThis test may have been sensitive to the ARM ABI...
Andrew Trick [Tue, 30 Jul 2013 20:34:59 +0000 (20:34 +0000)]
This test may have been sensitive to the ARM ABI...

llvm-svn: 187442

11 years agoImplement getUniqueID for directories on windows.
Rafael Espindola [Tue, 30 Jul 2013 20:25:53 +0000 (20:25 +0000)]
Implement getUniqueID for directories on windows.

llvm-svn: 187441

11 years ago[mips] Define "bal" as a pseudo instruction. Also, fix bug in the InstAlias that
Akira Hatanaka [Tue, 30 Jul 2013 20:24:24 +0000 (20:24 +0000)]
[mips] Define "bal" as a pseudo instruction. Also, fix bug in the InstAlias that
turns "bal" into "bgezal".

llvm-svn: 187440

11 years agoRemove dead code.
Rafael Espindola [Tue, 30 Jul 2013 20:02:18 +0000 (20:02 +0000)]
Remove dead code.

llvm-svn: 187439

11 years agoDown-scale slot index distance to save bits.
Andrew Trick [Tue, 30 Jul 2013 19:59:19 +0000 (19:59 +0000)]
Down-scale slot index distance to save bits.

llvm-svn: 187438

11 years agowhitespace
Andrew Trick [Tue, 30 Jul 2013 19:59:15 +0000 (19:59 +0000)]
whitespace

llvm-svn: 187437

11 years agoMI Sched: Track live-thru registers.
Andrew Trick [Tue, 30 Jul 2013 19:59:12 +0000 (19:59 +0000)]
MI Sched: Track live-thru registers.

When registers must be live throughout the scheduling region, increase
the limit for the register class. Once we exceed the original limit,
they will be spilled, and there's no point further reducing pressure.

This isn't a perfect heuristics but avoids a situation where the
scheduler could become trapped by trying to achieve the impossible.

llvm-svn: 187436

11 years agoMI Sched fix: assert "Disconnected LRG within the scheduling region."
Andrew Trick [Tue, 30 Jul 2013 19:59:08 +0000 (19:59 +0000)]
MI Sched fix: assert "Disconnected LRG within the scheduling region."

llvm-svn: 187435

11 years agoSend a stop event when an expression stops at a breakpoint
Sean Callanan [Tue, 30 Jul 2013 19:54:09 +0000 (19:54 +0000)]
Send a stop event when an expression stops at a breakpoint
in an expression and doesn't ignore the stop.

Patch by Jim Ingham.

<rdar://problem/14583884>

llvm-svn: 187434

11 years ago[Sparc] Rewrite MBB's live-in registers for leaf functions. Also, add
Venkatraman Govindaraju [Tue, 30 Jul 2013 19:53:10 +0000 (19:53 +0000)]
[Sparc] Rewrite MBB's live-in registers for leaf functions. Also, add
register i7 as a live-in if current function's return address is taken.

This revision fixes PR16269.

llvm-svn: 187433

11 years agoAdd missing -Xlinker to order test.
Stefanus Du Toit [Tue, 30 Jul 2013 19:19:55 +0000 (19:19 +0000)]
Add missing -Xlinker to order test.

Both the parameter itself and the argument to the parameter must be prefixed
with -Xlinker so that they are passed properly.

llvm-svn: 187432

11 years agoUse -Wl to specify -rpath correctly.
Stefanus Du Toit [Tue, 30 Jul 2013 19:19:49 +0000 (19:19 +0000)]
Use -Wl to specify -rpath correctly.

llvm-svn: 187431

11 years agoImplement TokenizeWindowsCommandLine.
Rui Ueyama [Tue, 30 Jul 2013 19:03:20 +0000 (19:03 +0000)]
Implement TokenizeWindowsCommandLine.

This is a follow up patch for r187390 to implement the parser for the
Windows-style command line. This should follow the rule as described
at http://msdn.microsoft.com/en-us/library/windows/desktop/17w5ykft(v=vs.85).aspx

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

llvm-svn: 187430

11 years agotip-of-trunk clang has corrected some access checks for special members in a virtual...
Howard Hinnant [Tue, 30 Jul 2013 19:00:45 +0000 (19:00 +0000)]
tip-of-trunk clang has corrected some access checks for special members in a virtual inheritance hierarchy.  Change a few private inheritances to protected.  This change will not impact what the test was testing.  This fixes llvm.org/bugs/show_bug.cgi?id=16753.

llvm-svn: 187429

11 years agocpp11-migrate: Write header replacements to disk
Tareq A. Siraj [Tue, 30 Jul 2013 18:18:02 +0000 (18:18 +0000)]
cpp11-migrate: Write header replacements to disk

Committing r187204 with fixes for darwin. Note that one of the lit tests are
disabled on windows due to a bug in writing header replacements to file.

Header replacements are now written to disk in YAML format for an external tool
to merge. A unique file will be created in the same directory as the header
with all replacements that came from a source file that included the header
file. The YAML file will have:
 - Name of the file
 - Transform ID that generated the replacement
 - Offset
 - Length
 - Replacement text

Any tool reading these replacements should read them using the
TransformDocument struct.

llvm-svn: 187428

11 years agoStart keeping track of what work was done to detect a GCC installation
Chandler Carruth [Tue, 30 Jul 2013 17:57:09 +0000 (17:57 +0000)]
Start keeping track of what work was done to detect a GCC installation
on the system, and report it when running the driver in verbose mode.
Without this it is essentially impossible to understand why a particular
GCC toolchain is used by Clang for libstdc++, libgcc, etc.

This also required threading a hook through the toolchain layers for
a specific toolchain implementation to print custom information under
'clang -v'. The naming here isn't spectacular. Suggestions welcome.

llvm-svn: 187427

11 years agoUse the correct compiler to compute dependencies.
Stefanus Du Toit [Tue, 30 Jul 2013 17:33:30 +0000 (17:33 +0000)]
Use the correct compiler to compute dependencies.

This uses $(CXX) instead of $(CC) to generate the .d files for tests built
with Makefiles.

llvm-svn: 187426

11 years agoAdd format specifiers to various format ids so we can print thread ids in decimal...
Michael Sartain [Tue, 30 Jul 2013 16:44:36 +0000 (16:44 +0000)]
Add format specifiers to various format ids so we can print thread ids in decimal on Linux and FreeBSD.

CC: emaste
Differential Revision: http://llvm-reviews.chandlerc.com/D1234

llvm-svn: 187425

11 years agoFix parameter ordering bug in createDebugIRPass()
Daniel Malea [Tue, 30 Jul 2013 16:16:11 +0000 (16:16 +0000)]
Fix parameter ordering bug in createDebugIRPass()
- Thanks to Ilia Filippov for pointing out the inconsistency!

llvm-svn: 187424

11 years agoUpdates the DW_AT_data_member_location handlers for the LLDB DWARF plugin
Ashok Thirumurthi [Tue, 30 Jul 2013 14:58:39 +0000 (14:58 +0000)]
Updates the DW_AT_data_member_location handlers for the LLDB DWARF plugin
to handle the case of an integer constant (DWARF 3 and later).

- Fixes tests that assert in RecordLayoutBuilder::updateExternalFieldOffset
because LLDB was providing an external AST source with missing member offsets.

llvm-svn: 187423

11 years agoRun-time reg context selection for POSIX targets
Ed Maste [Tue, 30 Jul 2013 14:40:59 +0000 (14:40 +0000)]
Run-time reg context selection for POSIX targets

Instantiate RegisterContext... based on getOS() instead of with
compile-time #ifdef-ery.

The assert() here is unfortunate, but better than crashing with no
explanation.

This change is equivalent to r186865 for elf-core.

llvm-svn: 187422

11 years agoR600/SI: Expand vector fp <-> int conversions
Tom Stellard [Tue, 30 Jul 2013 14:31:03 +0000 (14:31 +0000)]
R600/SI: Expand vector fp <-> int conversions

llvm-svn: 187421

11 years agoerr_attribute_missing_parameter_name has been replaced by err_attribute_argument_type.
Aaron Ballman [Tue, 30 Jul 2013 14:29:12 +0000 (14:29 +0000)]
err_attribute_missing_parameter_name has been replaced by err_attribute_argument_type.

llvm-svn: 187420

11 years agoReplacing err_attribute_argument_not_int with err_attribute_not_type_attr
Aaron Ballman [Tue, 30 Jul 2013 14:10:17 +0000 (14:10 +0000)]
Replacing err_attribute_argument_not_int with err_attribute_not_type_attr

llvm-svn: 187419

11 years agotests: process connect needs "-p gdb-remote" on FreeBSD as on Linux
Ed Maste [Tue, 30 Jul 2013 13:25:27 +0000 (13:25 +0000)]
tests: process connect needs "-p gdb-remote" on FreeBSD as on Linux

llvm-svn: 187418

11 years ago[sanitizer] Tweak read syscall handler signature for consistency.
Evgeniy Stepanov [Tue, 30 Jul 2013 13:16:52 +0000 (13:16 +0000)]
[sanitizer] Tweak read syscall handler signature for consistency.

llvm-svn: 187417

11 years agotests: Mark expected FreeBSD failures due to pr14424
Ed Maste [Tue, 30 Jul 2013 13:12:58 +0000 (13:12 +0000)]
tests: Mark expected FreeBSD failures due to pr14424

These tests fail on FreeBSD due to missing build support, the same reason
they fail on Linux.

llvm-svn: 187416

11 years agotests: Mark expected FreeBSD failures due to pr16697
Ed Maste [Tue, 30 Jul 2013 13:08:24 +0000 (13:08 +0000)]
tests: Mark expected FreeBSD failures due to pr16697

llvm-svn: 187415

11 years ago[sanitizer] read() syscall hook.
Evgeniy Stepanov [Tue, 30 Jul 2013 13:04:43 +0000 (13:04 +0000)]
[sanitizer] read() syscall hook.

llvm-svn: 187414

11 years ago[msan] Intercept pthread_join.
Evgeniy Stepanov [Tue, 30 Jul 2013 12:54:34 +0000 (12:54 +0000)]
[msan] Intercept pthread_join.

llvm-svn: 187413

11 years ago[msan] Intercept confstr.
Evgeniy Stepanov [Tue, 30 Jul 2013 12:46:59 +0000 (12:46 +0000)]
[msan] Intercept confstr.

llvm-svn: 187412

11 years ago[asan] Limit fake stack size to a reasonable value when running with unlimited stack.
Evgeniy Stepanov [Tue, 30 Jul 2013 11:50:26 +0000 (11:50 +0000)]
[asan] Limit fake stack size to a reasonable value when running with unlimited stack.

llvm-svn: 187411

11 years agoThis patch implements parsing of mips FCC register operands. The example instructions...
Vladimir Medic [Tue, 30 Jul 2013 10:12:14 +0000 (10:12 +0000)]
This patch implements parsing of mips FCC register operands. The example instructions have been added to test files.

llvm-svn: 187410

11 years agoAdd MicrosoftVFTableContext to AST
Timur Iskhodzhanov [Tue, 30 Jul 2013 09:46:19 +0000 (09:46 +0000)]
Add MicrosoftVFTableContext to AST

llvm-svn: 187409

11 years ago[asan] Raise thread stack size limit.
Evgeniy Stepanov [Tue, 30 Jul 2013 09:01:18 +0000 (09:01 +0000)]
[asan] Raise thread stack size limit.

It's a sanity check, mostly, and we've seen threads with >256Mb stack.

llvm-svn: 187408

11 years ago[sanitizer] Disable ForEachMappedRegion on Android.
Evgeniy Stepanov [Tue, 30 Jul 2013 08:39:16 +0000 (08:39 +0000)]
[sanitizer] Disable ForEachMappedRegion on Android.

It needs interface that is missing from the NDK, and it is not used on Android anyway.

llvm-svn: 187407

11 years agoFix underscore to be the proper length.
Bill Wendling [Tue, 30 Jul 2013 08:26:24 +0000 (08:26 +0000)]
Fix underscore to be the proper length.

llvm-svn: 187406

11 years agoclang/test/Driver/qa_override.c: Resurrect a part of r187376. It still requires the...
NAKAMURA Takumi [Tue, 30 Jul 2013 07:47:58 +0000 (07:47 +0000)]
clang/test/Driver/qa_override.c: Resurrect a part of r187376. It still requires the feature 'clang-driver' for cygming.

llvm-svn: 187405

11 years ago[ARM] check bitwidth in PerformORCombine
Saleem Abdulrasool [Tue, 30 Jul 2013 04:43:08 +0000 (04:43 +0000)]
[ARM] check bitwidth in PerformORCombine

When simplifying a (or (and B A) (and C ~A)) to a (VBSL A B C) ensure that the
bitwidth of the second operands to both ands match before comparing the negation
of the values.

Split the check of the value of the second operands to the ands.  Move the cast
and variable declaration slightly higher to make it slightly easier to follow.

Bug-Id: 16700
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
llvm-svn: 187404

11 years agoRemove more dead documentation.
Rafael Espindola [Tue, 30 Jul 2013 04:06:06 +0000 (04:06 +0000)]
Remove more dead documentation.

llvm-svn: 187403

11 years ago[Sparc] Use call's debugloc for the unimp instruction.
Venkatraman Govindaraju [Tue, 30 Jul 2013 02:26:29 +0000 (02:26 +0000)]
[Sparc] Use call's debugloc for the unimp instruction.

llvm-svn: 187402

11 years agoAdded the notion of Type and TargetSpecific attributes to the clang tablegen. In...
Aaron Ballman [Tue, 30 Jul 2013 01:44:15 +0000 (01:44 +0000)]
Added the notion of Type and TargetSpecific attributes to the clang tablegen.  In turn, this fixes a mistake with Ptr32, Ptr64, UPtr and SPtr attribtues generating AST nodes that are never actually used.

llvm-svn: 187401

11 years agoerr_attribute_not_string has been subsumed by err_attribute_argument_type.
Aaron Ballman [Tue, 30 Jul 2013 01:31:03 +0000 (01:31 +0000)]
err_attribute_not_string has been subsumed by err_attribute_argument_type.

llvm-svn: 187400

11 years ago[PowerPC] Skeletal FastISel support for 64-bit PowerPC ELF.
Bill Schmidt [Tue, 30 Jul 2013 00:50:39 +0000 (00:50 +0000)]
[PowerPC] Skeletal FastISel support for 64-bit PowerPC ELF.

This is the first of many upcoming patches for PowerPC fast
instruction selection support.  This patch implements the minimum
necessary for a functional (but extremely limited) FastISel pass.  It
allows the table-generated portions of the selector to be created and
used, but in most cases selection will fall back to the DAG selector.
None of the block terminator instructions are implemented yet, and
most interesting instructions require some special handling.
Therefore there aren't any new test cases with this patch.  There will
be quite a few tests coming with future patches.

This patch adds the make/CMake support for the new code (including
tablegen -gen-fast-isel) and creates the FastISel object for PPC64 ELF
only.  It instantiates the necessary virtual functions
(TargetSelectInstruction, TargetMaterializeConstant,
TargetMaterializeAlloca, tryToFoldLoadIntoMI, and FastLowerArguments),
but of these, only TargetMaterializeConstant contains any useful
implementation.  This is present since the table-generated code
requires the ability to materialize integer constants for some
instructions.

This patch has been tested by building and running the
projects/test-suite code with -O0.  All tests passed with the
exception of a couple of long-running tests that time out using -O0
code generation.

llvm-svn: 187399

11 years agoRefactor some attributes to use checkFunctionOrMethodArgumentIndex instead of using...
Aaron Ballman [Tue, 30 Jul 2013 00:48:57 +0000 (00:48 +0000)]
Refactor some attributes to use checkFunctionOrMethodArgumentIndex instead of using custom logic.  No functional changes intended.

llvm-svn: 187398

11 years ago[R600] Replicate old DAGCombiner behavior in target specific DAG combine.
Quentin Colombet [Tue, 30 Jul 2013 00:27:16 +0000 (00:27 +0000)]
[R600] Replicate old DAGCombiner behavior in target specific DAG combine.

build_vector is lowered to REG_SEQUENCE, which is something the register
allocator does a good job at optimizing.

llvm-svn: 187397

11 years ago[DAGCombiner] insert_vector_elt: Avoid building a vector twice.
Quentin Colombet [Tue, 30 Jul 2013 00:24:09 +0000 (00:24 +0000)]
[DAGCombiner] insert_vector_elt: Avoid building a vector twice.

This patch prevents the following combine when the input vector is used more
than once.
insert_vector_elt (build_vector elt0, ..., eltN), NewEltIdx, idx
=>
build_vector elt0, ..., NewEltIdx, ..., eltN

The reasons are:
- Building a vector may be expensive, so try to reuse the existing part of a
  vector instead of creating a new one (think big vectors).
- elt0 to eltN now have two users instead of one. This may prevent some other
  optimizations.

llvm-svn: 187396

11 years ago<rdar://problem/14526890>
Greg Clayton [Tue, 30 Jul 2013 00:23:06 +0000 (00:23 +0000)]
<rdar://problem/14526890>

Fixed a crasher when using memory threads where a thread is sticking around too long and was causing problems when it didn't have a thread plan.

llvm-svn: 187395

11 years agoMove file to X86 and add a triple to fix darwin bots for now.
Eric Christopher [Tue, 30 Jul 2013 00:20:06 +0000 (00:20 +0000)]
Move file to X86 and add a triple to fix darwin bots for now.

The problem is due to the section name being explicitly mentioned in
the IR and differing between the two platforms.

llvm-svn: 187394

11 years agoFix a truly egregious thinko in anonymous namespace check,
Eric Christopher [Mon, 29 Jul 2013 23:53:08 +0000 (23:53 +0000)]
Fix a truly egregious thinko in anonymous namespace check,
update testcase to make sure we generate debug info for walrus
by adding a non-trivial constructor and verify that we don't
emit an ODR signature for the type.

llvm-svn: 187393

11 years agoMake sure we don't emit an ODR hash for types with no name and make
Eric Christopher [Mon, 29 Jul 2013 23:53:05 +0000 (23:53 +0000)]
Make sure we don't emit an ODR hash for types with no name and make
sure the comments for each testcase are a bit easier to distinguish.

llvm-svn: 187392