platform/upstream/llvm.git
11 years agotsan: add signalfd() and inotify_init() interceptors
Dmitry Vyukov [Tue, 18 Dec 2012 12:35:31 +0000 (12:35 +0000)]
tsan: add signalfd() and inotify_init() interceptors

llvm-svn: 170429

11 years agoAdd OpenCL images as clang builtin types.
Guy Benyei [Tue, 18 Dec 2012 12:30:03 +0000 (12:30 +0000)]
Add OpenCL images as clang builtin types.

llvm-svn: 170428

11 years agotsan: add io_sync flag that controls amount of IO synchronization
Dmitry Vyukov [Tue, 18 Dec 2012 12:20:55 +0000 (12:20 +0000)]
tsan: add io_sync flag that controls amount of IO synchronization

llvm-svn: 170427

11 years agotsan: remove TSAN_OPTIONS from the script
Dmitry Vyukov [Tue, 18 Dec 2012 12:19:50 +0000 (12:19 +0000)]
tsan: remove TSAN_OPTIONS from the script
The runtime skips atexit sleep if there are no threads now,
so it must be fast w/o it.
Allows to specify own TSAN_OPTIONS for the tests.

llvm-svn: 170426

11 years agoRemove obsolete FIXMEs.
David Chisnall [Tue, 18 Dec 2012 10:24:07 +0000 (10:24 +0000)]
Remove obsolete FIXMEs.

llvm-svn: 170425

11 years ago[Sanitizer] Expose StackTrace::GetPreviousInstructionPc() to get PC of call instructi...
Alexey Samsonov [Tue, 18 Dec 2012 09:57:34 +0000 (09:57 +0000)]
[Sanitizer] Expose StackTrace::GetPreviousInstructionPc() to get PC of call instruction from return address

llvm-svn: 170424

11 years agoubsan: Demangle class names, and be more informative when a reinterpret_cast
Richard Smith [Tue, 18 Dec 2012 09:30:21 +0000 (09:30 +0000)]
ubsan: Demangle class names, and be more informative when a reinterpret_cast
has got us to the wrong offset within an object.

llvm-svn: 170423

11 years agoreturn -1 when polly::getNumberOfIterations returns -1
Sebastian Pop [Tue, 18 Dec 2012 08:56:51 +0000 (08:56 +0000)]
return -1 when polly::getNumberOfIterations returns -1

llvm-svn: 170422

11 years agoisl: vector code generation based on ISL ast
Sebastian Pop [Tue, 18 Dec 2012 07:46:13 +0000 (07:46 +0000)]
isl: vector code generation based on ISL ast

Original patch by Tobias Grosser, slightly modified by Sebastian Pop.

llvm-svn: 170420

11 years agochange interface for isStride
Sebastian Pop [Tue, 18 Dec 2012 07:46:06 +0000 (07:46 +0000)]
change interface for isStride

isStride now takes a partial schedule as input.

Patch from Tobias Grosser <tobias@grosser.es>.

llvm-svn: 170419

11 years ago[asan] add some colors to asan output if printing to tty (following ubsan)
Kostya Serebryany [Tue, 18 Dec 2012 07:32:16 +0000 (07:32 +0000)]
[asan] add some colors to asan output if printing to tty (following ubsan)

llvm-svn: 170418

11 years agotsan: describe "file descriptor" location
Dmitry Vyukov [Tue, 18 Dec 2012 06:57:34 +0000 (06:57 +0000)]
tsan: describe "file descriptor" location

llvm-svn: 170417

11 years agoEnable the loop vectorizer.
Nadav Rotem [Tue, 18 Dec 2012 06:37:12 +0000 (06:37 +0000)]
Enable the loop vectorizer.

llvm-svn: 170416

11 years agoubsan: When diagnosing something wrong somewhere in memory, emit a note
Richard Smith [Tue, 18 Dec 2012 06:30:32 +0000 (06:30 +0000)]
ubsan: When diagnosing something wrong somewhere in memory, emit a note
pointing at the bad location and a snippet of nearby memory values. This is
strictly best-effort; reading these bytes to display the note could lead to a
seg fault, and that's explicitly OK.

llvm-svn: 170415

11 years agoRename the test so that we can add additional vectors-of-pointers tests
Nadav Rotem [Tue, 18 Dec 2012 05:50:54 +0000 (05:50 +0000)]
Rename the test so that we can add additional vectors-of-pointers tests
into the same file in the future.

llvm-svn: 170414

11 years agoDon't escape %s in printf usage message; it's not written by printf.
Richard Smith [Tue, 18 Dec 2012 05:49:49 +0000 (05:49 +0000)]
Don't escape %s in printf usage message; it's not written by printf.

llvm-svn: 170413

11 years agoSROA: Replace calls to getScalarSizeInBits to DataLayout's API because
Nadav Rotem [Tue, 18 Dec 2012 05:23:31 +0000 (05:23 +0000)]
SROA: Replace calls to getScalarSizeInBits to DataLayout's API because
getScalarSizeInBits could not handle vectors of pointers.

llvm-svn: 170412

11 years agotest/Misc/dev-fd-fs.c: Mark this as XFAIL:freebsd (since r169831).
NAKAMURA Takumi [Tue, 18 Dec 2012 05:14:30 +0000 (05:14 +0000)]
test/Misc/dev-fd-fs.c: Mark this as XFAIL:freebsd (since r169831).

I don't want to suppress this to be excluded with the feature "dev-fd-fs". This should work also on freebsd.

llvm-svn: 170411

11 years agollvm/test/MC/ELF/comp-dir.s: Appease MSYS Bash.
NAKAMURA Takumi [Tue, 18 Dec 2012 05:08:12 +0000 (05:08 +0000)]
llvm/test/MC/ELF/comp-dir.s: Appease MSYS Bash.

llvm-svn: 170410

11 years agoAdd a new qProcessInfo packet to debugserver.
Jason Molenda [Tue, 18 Dec 2012 04:39:43 +0000 (04:39 +0000)]
Add a new qProcessInfo packet to debugserver.
This can be used by lldb to ask for information
about the process debugserver is attached to/launched.
Particularly useful on a 64-bit x86 Mac system which
can run  32-bit or 64-bit user-land processes.

llvm-svn: 170409

11 years agoInline hasAtomicCopyHelperAPI.
Rafael Espindola [Tue, 18 Dec 2012 04:29:34 +0000 (04:29 +0000)]
Inline hasAtomicCopyHelperAPI.

llvm-svn: 170408

11 years agoubsan: if the frontend didn't provide us with a source location, try to work
Richard Smith [Tue, 18 Dec 2012 04:23:18 +0000 (04:23 +0000)]
ubsan: if the frontend didn't provide us with a source location, try to work
one out from the return address. Currently, we can only resolve this address to
a file and line number if we have an external symbolizer.

llvm-svn: 170407

11 years agoMerge storage classes even when contexts don't match.
Rafael Espindola [Tue, 18 Dec 2012 04:18:55 +0000 (04:18 +0000)]
Merge storage classes even when contexts don't match.

This fixes the storage class of extern decls that are merged with file level
statics. The patch also fixes the linkage computation so that they are
considered internal.

llvm-svn: 170406

11 years agoNow that the uninitialized variable has been fixed in llvm, add this test back,
Rafael Espindola [Tue, 18 Dec 2012 03:54:29 +0000 (03:54 +0000)]
Now that the uninitialized variable has been fixed in llvm, add this test back,
but remove unneeded options and fix the comment.

llvm-svn: 170405

11 years agoInitialize NoRedZone and remove unused default values.
Rafael Espindola [Tue, 18 Dec 2012 03:35:05 +0000 (03:35 +0000)]
Initialize NoRedZone and remove unused default values.

llvm-svn: 170404

11 years agoFix typo (thanks to Jordan for spotting it!).
Richard Smith [Tue, 18 Dec 2012 03:04:38 +0000 (03:04 +0000)]
Fix typo (thanks to Jordan for spotting it!).

llvm-svn: 170403

11 years agoThe underlying type for an enum should be an integer type, not another enum.
Eli Friedman [Tue, 18 Dec 2012 02:37:32 +0000 (02:37 +0000)]
The underlying type for an enum should be an integer type, not another enum.
(This change only affects ObjC.)

<rdar://problem/12857117>.

llvm-svn: 170402

11 years agodocs: Nuke AnalyzerRegions.rst.
Sean Silva [Tue, 18 Dec 2012 02:15:05 +0000 (02:15 +0000)]
docs: Nuke AnalyzerRegions.rst.

As per Ted's advice. It can be brought back from version control if
needed.

This also fixes a Sphinx warning.

llvm-svn: 170401

11 years agoAdding events when watchpoints are set or changed.
Jim Ingham [Tue, 18 Dec 2012 02:03:49 +0000 (02:03 +0000)]
Adding events when watchpoints are set or changed.

<rdar://problem/11597849>

llvm-svn: 170400

11 years agoWhen warning about a missing prototype because a function declaration is missing...
Anders Carlsson [Tue, 18 Dec 2012 01:29:20 +0000 (01:29 +0000)]
When warning about a missing prototype because a function declaration is missing 'void', insert a fixit to add the void.

llvm-svn: 170399

11 years agoCleanup comment and formatting
Eli Bendersky [Tue, 18 Dec 2012 00:53:36 +0000 (00:53 +0000)]
Cleanup comment and formatting

llvm-svn: 170398

11 years agoMore conservative fix for <rdar://problem/12847524> (a crash printing diagnostic...
Eli Friedman [Tue, 18 Dec 2012 00:52:36 +0000 (00:52 +0000)]
More conservative fix for <rdar://problem/12847524> (a crash printing diagnostic ranges).
I'm not really happy with this fix, but I'm confident it's correct.

llvm-svn: 170397

11 years agoRemoved a possible use of unchecked NULL from
Sean Callanan [Tue, 18 Dec 2012 00:50:17 +0000 (00:50 +0000)]
Removed a possible use of unchecked NULL from
the AST result synthesizer's logging.

<rdar://problem/12889053>

llvm-svn: 170396

11 years agoRepair bundles that were broken by removing and reinserting the first
Jakob Stoklund Olesen [Tue, 18 Dec 2012 00:46:39 +0000 (00:46 +0000)]
Repair bundles that were broken by removing and reinserting the first
instruction.

This isn't strictly necessary at the moment because Thumb2SizeReduction
also copies all MI flags from the old instruction to the new. However, a
future patch will make that kind of direct flag tampering illegal.

llvm-svn: 170395

11 years agoFormatting.
Eric Christopher [Tue, 18 Dec 2012 00:42:26 +0000 (00:42 +0000)]
Formatting.

llvm-svn: 170394

11 years agoUse the correct return type (size_t) for these builtins.
Bill Wendling [Tue, 18 Dec 2012 00:37:10 +0000 (00:37 +0000)]
Use the correct return type (size_t) for these builtins.
<rdar://problem/12646344>

llvm-svn: 170393

11 years agoAdd an expected parameter for the size of the destination.
Bill Wendling [Tue, 18 Dec 2012 00:34:49 +0000 (00:34 +0000)]
Add an expected parameter for the size of the destination.
<rdar://problem/12622659>

llvm-svn: 170392

11 years agoAdd support for passing the main file name down to the assembler
Eric Christopher [Tue, 18 Dec 2012 00:31:10 +0000 (00:31 +0000)]
Add support for passing the main file name down to the assembler
for location information.

Part of PR14624

llvm-svn: 170391

11 years agoAdd support for passing -main-file-name all the way through to
Eric Christopher [Tue, 18 Dec 2012 00:31:01 +0000 (00:31 +0000)]
Add support for passing -main-file-name all the way through to
the assembler.

Part of PR14624

llvm-svn: 170390

11 years agoCleanup formatting and whitespace.
Eric Christopher [Tue, 18 Dec 2012 00:30:54 +0000 (00:30 +0000)]
Cleanup formatting and whitespace.

llvm-svn: 170389

11 years agoRein ubsan's vptr sanitizer back a bit. Per core issue 453, binding a reference
Richard Smith [Tue, 18 Dec 2012 00:23:12 +0000 (00:23 +0000)]
Rein ubsan's vptr sanitizer back a bit. Per core issue 453, binding a reference
to an object outside its lifetime does not have undefined behavior.

llvm-svn: 170388

11 years agoRein ubsan's vptr sanitizer back a bit. Per core issue 453, binding a reference
Richard Smith [Tue, 18 Dec 2012 00:22:45 +0000 (00:22 +0000)]
Rein ubsan's vptr sanitizer back a bit. Per core issue 453, binding a reference
to an object outside its lifetime does not have undefined behavior.

llvm-svn: 170387

11 years agoExtract a method, no functional change intended.
Jakob Stoklund Olesen [Tue, 18 Dec 2012 00:13:11 +0000 (00:13 +0000)]
Extract a method, no functional change intended.

Sadly, this costs us a perfectly good opportunity to use 'goto'.

llvm-svn: 170385

11 years agoTighten up the erase/remove API for bundled instructions.
Jakob Stoklund Olesen [Mon, 17 Dec 2012 23:55:38 +0000 (23:55 +0000)]
Tighten up the erase/remove API for bundled instructions.

Most code is oblivious to bundles and uses the MBB::iterator which only
visits whole bundles. MBB::erase() operates on whole bundles at a time
as before.

MBB::remove() now refuses to remove bundled instructions. It is not safe
to remove all instructions in a bundle without deleting them since there
is no way of returning pointers to all the removed instructions.

MBB::remove_instr() and MBB::erase_instr() will now update bundle flags
correctly, lifting individual instructions out of bundles while leaving
the remaining bundle intact.

The MachineInstr convenience functions are updated so

  eraseFromParent() erases a whole bundle as before
  eraseFromBundle() erases a single instruction, leaving the rest of its bundle.
  removeFromParent() refuses to operate on bundled instructions, and
  removeFromBundle() lifts a single instruction out of its bundle.

These functions will no longer accidentally split or coalesce bundles -
bundle flags are updated to preserve the existing bundling, and explicit
bundleWith* / unbundleFrom* functions should be used to change the
instruction bundling.

This API update is still a work in progress. I am going to update APIs
first so they maintain bundle flags automatically when possible. Then
I'll add stricter verification of the bundle flags.

llvm-svn: 170384

11 years agoEmitDebugLabel should by default be the same as EmitLabel everywhere.
Reed Kotler [Mon, 17 Dec 2012 23:41:45 +0000 (23:41 +0000)]
EmitDebugLabel should by default be the same as EmitLabel everywhere.
It must be explicity set in MCPureStreamer because otherwise it will
inherit incorrectly from the parent.

llvm-svn: 170383

11 years agofix indentation
Eli Bendersky [Mon, 17 Dec 2012 22:50:56 +0000 (22:50 +0000)]
fix indentation

llvm-svn: 170381

11 years ago[arm fast-isel] Minor cleanup. No functional change intended.
Chad Rosier [Mon, 17 Dec 2012 22:35:29 +0000 (22:35 +0000)]
[arm fast-isel] Minor cleanup. No functional change intended.

llvm-svn: 170379

11 years agoFix isThisDeclarationADefinition for extern following tentative.
Rafael Espindola [Mon, 17 Dec 2012 22:23:47 +0000 (22:23 +0000)]
Fix isThisDeclarationADefinition for extern following tentative.

An extern declaration following a tentative definition should not itself be
considered a tentative definition.
Fixes pr14614.

llvm-svn: 170377

11 years agoFix some integer constant warnings by using a suffix
Nick Kledzik [Mon, 17 Dec 2012 22:11:17 +0000 (22:11 +0000)]
Fix some integer constant warnings by using a suffix

llvm-svn: 170376

11 years agoAdd a triple to this test -- it has to be an ELF platform...
Chandler Carruth [Mon, 17 Dec 2012 21:44:50 +0000 (21:44 +0000)]
Add a triple to this test -- it has to be an ELF platform...

llvm-svn: 170374

11 years agoFix PR14625 by teaching the driver to detect PWD for assembly files.
Chandler Carruth [Mon, 17 Dec 2012 21:40:04 +0000 (21:40 +0000)]
Fix PR14625 by teaching the driver to detect PWD for assembly files.

This also requires adding support to -cc1as for passing the detecting
PWD down through LLVM's debug info (which in turn required the LLVM
change in r170371).

The test case is weak (we only test the driver behavior) because there
is currently to infrastructure for running cc1as in the test suite. So
those four lines are untested (much like all other lines in that file),
but we have a test for the same pattern using llvm-mc in the LLVM
repository.

llvm-svn: 170373

11 years agoMention how to do a (Linux) release build on the build instructions page.
Daniel Malea [Mon, 17 Dec 2012 21:32:49 +0000 (21:32 +0000)]
Mention how to do a (Linux) release build on the build instructions page.

Also, a few minor fixes:
- paragraph formatting
- capitalize "Python" where appropriate

llvm-svn: 170372

11 years agoPrepare LLVM to fix PR14625, exposing a hook in MCContext to manage the
Chandler Carruth [Mon, 17 Dec 2012 21:32:42 +0000 (21:32 +0000)]
Prepare LLVM to fix PR14625, exposing a hook in MCContext to manage the
compilation directory.

This defaults to the current working directory, just as it always has,
but now an assembler can choose to override it with a custom directory.
I've taught llvm-mc about this option and added a test case.

llvm-svn: 170371

11 years ago<rdar://problem/12890948>
Han Ming Ong [Mon, 17 Dec 2012 20:53:19 +0000 (20:53 +0000)]
<rdar://problem/12890948>

Send thread name using hex encoding.

llvm-svn: 170370

11 years agore-enable test cases now that traits work with g++. Fix some g++ warnings
Nick Kledzik [Mon, 17 Dec 2012 20:43:53 +0000 (20:43 +0000)]
re-enable test cases now that traits work with g++.  Fix some g++ warnings

llvm-svn: 170369

11 years agoRemove trailing whitespace
Michael Ilseman [Mon, 17 Dec 2012 20:40:14 +0000 (20:40 +0000)]
Remove trailing whitespace

llvm-svn: 170368

11 years agoRemoved trailing whitespace
Michael Ilseman [Mon, 17 Dec 2012 20:37:55 +0000 (20:37 +0000)]
Removed trailing whitespace

llvm-svn: 170367

11 years ago[c-index-test] Fix warnings about unused results from chdir().
Argyrios Kyrtzidis [Mon, 17 Dec 2012 20:19:56 +0000 (20:19 +0000)]
[c-index-test] Fix warnings about unused results from chdir().
Patch from Edwin Vane!

llvm-svn: 170366

11 years agoJust use begin()/end() instead of "&Vector[0], &Vector[0]+Vector.size()".
Argyrios Kyrtzidis [Mon, 17 Dec 2012 20:10:50 +0000 (20:10 +0000)]
Just use begin()/end() instead of "&Vector[0], &Vector[0]+Vector.size()".

No functionality change.

llvm-svn: 170365

11 years agoDon't include the header outside the include guards, it defeats the purpose of the...
Argyrios Kyrtzidis [Mon, 17 Dec 2012 20:10:49 +0000 (20:10 +0000)]
Don't include the header outside the include guards, it defeats the purpose of the include guards.

llvm-svn: 170364

11 years ago[parser] Push a semi token for recovery only when it is actually missing.
Argyrios Kyrtzidis [Mon, 17 Dec 2012 20:10:43 +0000 (20:10 +0000)]
[parser] Push a semi token for recovery only when it is actually missing.

llvm-svn: 170363

11 years ago[analyzer] Tweak the NumFunctionsAnalyzed stat so that it's more useful.
Anna Zaks [Mon, 17 Dec 2012 20:08:54 +0000 (20:08 +0000)]
[analyzer] Tweak the NumFunctionsAnalyzed stat so that it's more useful.

llvm-svn: 170362

11 years ago[analyzer] Implement "do not inline large functions many times"
Anna Zaks [Mon, 17 Dec 2012 20:08:51 +0000 (20:08 +0000)]
[analyzer] Implement "do not inline large functions many times"
performance heuristic

After inlining a function with more than 13 basic blocks 32 times, we
are not going to inline it anymore. The idea is that inlining large
functions leads to drastic performance implications. Since the function
has already been inlined, we know that we've analyzed it in many
contexts.

The following metrics are used:
 - Large function is a function with more than 13 basic blocks (we
should switch to another metric, like cyclomatic complexity)
 - We consider that we've inlined a function many times if it's been
inlined 32 times. This number is configurable with -analyzer-config
max-times-inline-large=xx

This heuristic addresses a performance regression introduced with
inlining on one benchmark. The analyzer on this benchmark became 60
times slower with inlining turned on. The heuristic allows us to analyze
it in 24% of the time. The performance improvements on the other
benchmarks I've tested with are much lower - under 10%, which is
expected.

llvm-svn: 170361

11 years ago[arm fast-isel] Fast-isel only handles simple VTs, so make sure the necessary
Chad Rosier [Mon, 17 Dec 2012 19:59:43 +0000 (19:59 +0000)]
[arm fast-isel] Fast-isel only handles simple VTs, so make sure the necessary
checks are in place.  Some minor cleanup as well.

llvm-svn: 170360

11 years agoUse different trait techniques to be compatible with g++
Nick Kledzik [Mon, 17 Dec 2012 19:02:05 +0000 (19:02 +0000)]
Use different trait techniques to be compatible with g++

llvm-svn: 170355

11 years agoReapply r170344, this time without forgetting to commit the header changes.
David Chisnall [Mon, 17 Dec 2012 18:54:24 +0000 (18:54 +0000)]
Reapply r170344, this time without forgetting to commit the header changes.

llvm-svn: 170354

11 years agoFix another SROA crasher, PR14601.
Chandler Carruth [Mon, 17 Dec 2012 18:48:07 +0000 (18:48 +0000)]
Fix another SROA crasher, PR14601.

This was a silly oversight, we weren't pruning allocas which were used
by variable-length memory intrinsics from the set that could be widened
and promoted as integers. Fix that.

llvm-svn: 170353

11 years agoRevert "Added support for new property helpers (GNUstep runtime)."
Benjamin Kramer [Mon, 17 Dec 2012 18:02:43 +0000 (18:02 +0000)]
Revert "Added support for new property helpers (GNUstep runtime)."

This reverts commit r170344. Doesn't even compile.

llvm-svn: 170351

11 years agoQuery section for whether it should be executable.
Tim Northover [Mon, 17 Dec 2012 17:59:35 +0000 (17:59 +0000)]
Query section for whether it should be executable.

llvm-svn: 170350

11 years agoTeach MachO which sections contain code
Tim Northover [Mon, 17 Dec 2012 17:59:32 +0000 (17:59 +0000)]
Teach MachO which sections contain code

llvm-svn: 170349

11 years agoInitialize m_done to false in Driver constructor to avoid premature exit bug (spotted...
Daniel Malea [Mon, 17 Dec 2012 17:40:07 +0000 (17:40 +0000)]
Initialize m_done to false in Driver constructor to avoid premature exit bug (spotted on Linux)

Patch by Chia-Hung Duan!

llvm-svn: 170348

11 years ago[msan] Fix lint warning.
Evgeniy Stepanov [Mon, 17 Dec 2012 16:30:05 +0000 (16:30 +0000)]
[msan] Fix lint warning.

llvm-svn: 170347

11 years agotsan: say what thread had created a thread in reports
Dmitry Vyukov [Mon, 17 Dec 2012 16:28:15 +0000 (16:28 +0000)]
tsan: say what thread had created a thread in reports

llvm-svn: 170346

11 years agoAdd instruction encodings / disassembly support for l2r instructions.
Richard Osborne [Mon, 17 Dec 2012 16:28:02 +0000 (16:28 +0000)]
Add instruction encodings / disassembly support for l2r instructions.

llvm-svn: 170345

11 years agoAdded support for new property helpers (GNUstep runtime).
David Chisnall [Mon, 17 Dec 2012 15:59:29 +0000 (15:59 +0000)]
Added support for new property helpers (GNUstep runtime).

llvm-svn: 170344

11 years agoR600: enable S_*N2_* instructions
Tom Stellard [Mon, 17 Dec 2012 15:14:56 +0000 (15:14 +0000)]
R600: enable S_*N2_* instructions

They seem to work fine.

Patch by: Christian König

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
llvm-svn: 170343

11 years agoR600: BB operand support for SI
Tom Stellard [Mon, 17 Dec 2012 15:14:54 +0000 (15:14 +0000)]
R600: BB operand support for SI

Patch by: Christian König

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
llvm-svn: 170342

11 years agoR600: remove nonsense setPrefLoopAlignment
Tom Stellard [Mon, 17 Dec 2012 15:14:53 +0000 (15:14 +0000)]
R600: remove nonsense setPrefLoopAlignment

The Align parameter is a power of two, so 16 results in 64K
alignment. Additional to that even 16 byte alignment doesn't
make any sense, so just remove it.

Patch by: Christian König

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
llvm-svn: 170341

11 years ago[asan] asan_allocator2: implement malloc_usable_size and fix 32-bit
Kostya Serebryany [Mon, 17 Dec 2012 14:57:25 +0000 (14:57 +0000)]
[asan] asan_allocator2: implement malloc_usable_size and fix 32-bit

llvm-svn: 170339

11 years agoTeach the rewriting of memcpy calls to support subvector copies.
Chandler Carruth [Mon, 17 Dec 2012 14:51:24 +0000 (14:51 +0000)]
Teach the rewriting of memcpy calls to support subvector copies.

This also cleans up a bit of the memcpy call rewriting by sinking some
irrelevant code further down and making the call-emitting code a bit
more concrete.

Previously, memcpy of a subvector would actually miscompile (!!!) the
copy into a single vector element copy. I have no idea how this ever
worked. =/ This is the memcpy half of PR14478 which we probably weren't
noticing previously because it didn't actually assert.

The rewrite relies on the newly refactored insert- and extractVector
functions to do the heavy lifting, and those are the same as used for
loads and stores which makes the test coverage a bit more meaningful
here.

llvm-svn: 170338

11 years agoAdd basic support for splitting before function calls if it can't be
Daniel Jasper [Mon, 17 Dec 2012 14:34:14 +0000 (14:34 +0000)]
Add basic support for splitting before function calls if it can't be
avoided.

This required a minor modification of the memoization as now the
"CurrentPenalty" depends on whether or not we break before the current
token. Therefore, the CurrentPenalty should not be memoized but added
after retrieving a value from memory. This should not affect the runtime
behavior.

llvm-svn: 170337

11 years agoRevert/correct some FastISel changes in r170104 (EVT->MVT for
Patrik Hagglund [Mon, 17 Dec 2012 14:30:06 +0000 (14:30 +0000)]
Revert/correct some FastISel changes in r170104 (EVT->MVT for
TargetLowering::getRegClassFor).

Some isSimple() guards were missing, or getSimpleVT() were hoisted too
far, resulting in asserts on valid LLVM assembly input.

llvm-svn: 170336

11 years agoOptimize tree walking in markAliveBlocks.
Evgeniy Stepanov [Mon, 17 Dec 2012 14:28:00 +0000 (14:28 +0000)]
Optimize tree walking in markAliveBlocks.

Check whether a BB is known as reachable before adding it to the worklist.
This way BB's with multiple predecessors are added to the list no more than
once.

llvm-svn: 170335

11 years agoAdd instruction encodings for PEEK and ENDIN.
Richard Osborne [Mon, 17 Dec 2012 14:23:54 +0000 (14:23 +0000)]
Add instruction encodings for PEEK and ENDIN.

Previously these were marked with the wrong format.

llvm-svn: 170334

11 years agoFix a secondary bug I introduced while fixing the first part of PR14478.
Chandler Carruth [Mon, 17 Dec 2012 14:03:01 +0000 (14:03 +0000)]
Fix a secondary bug I introduced while fixing the first part of PR14478.

The first half of fixing this bug was actually in r170328, but was
entirely coincidental. It did however get me to realize the nature of
the bug, and adapt the test case to test more interesting behavior. In
turn, that uncovered the rest of the bug which I've fixed here.

This should fix two new asserts that showed up in the vectorize nightly
tester.

llvm-svn: 170333

11 years agoFix parameter name in prototypes in XCoreDisassembler.
Richard Osborne [Mon, 17 Dec 2012 13:55:49 +0000 (13:55 +0000)]
Fix parameter name in prototypes in XCoreDisassembler.

llvm-svn: 170332

11 years agoHoist a convertValue call to the two paths where it is needed.
Chandler Carruth [Mon, 17 Dec 2012 13:51:03 +0000 (13:51 +0000)]
Hoist a convertValue call to the two paths where it is needed.

I noticed this while looking at r170328. We only ever do a vector
rewrite when the alloca *is* the vector type, so it's good to not paper
over bugs here by doing a convertValue that isn't needed.

llvm-svn: 170331

11 years agoAdd instruction encodings / disassembly support for rus instructions.
Richard Osborne [Mon, 17 Dec 2012 13:50:04 +0000 (13:50 +0000)]
Add instruction encodings / disassembly support for rus instructions.

llvm-svn: 170330

11 years ago[asan] asan_allocator2: don't use TLS and fix calloc
Kostya Serebryany [Mon, 17 Dec 2012 13:43:47 +0000 (13:43 +0000)]
[asan] asan_allocator2: don't use TLS and fix calloc

llvm-svn: 170329

11 years agoHoist the insertVector helper to be a static helper.
Chandler Carruth [Mon, 17 Dec 2012 13:41:21 +0000 (13:41 +0000)]
Hoist the insertVector helper to be a static helper.

This will allow its use inside of memcpy rewriting as well. This routine
is more complex than extractVector, and some of its uses are not 100%
where I want them to be so there is still some work to do here.

While this can technically change the output in some cases, it shouldn't
be a change that matters -- IE, it can leave some dead code lying around
that prior versions did not, etc.

Yet another step in the refactorings leading up to the solution to the
last component of PR14478.

llvm-svn: 170328

11 years agoAdd instruction encodings for ZEXT and SEXT.
Richard Osborne [Mon, 17 Dec 2012 13:20:37 +0000 (13:20 +0000)]
Add instruction encodings for ZEXT and SEXT.

Previously these were marked with the wrong format.

llvm-svn: 170327

11 years agotsan: correct llvm libc++ name
Dmitry Vyukov [Mon, 17 Dec 2012 13:07:35 +0000 (13:07 +0000)]
tsan: correct llvm libc++ name

llvm-svn: 170326

11 years agoLift the extractVector helper all the way out to a static helper function.
Chandler Carruth [Mon, 17 Dec 2012 13:07:30 +0000 (13:07 +0000)]
Lift the extractVector helper all the way out to a static helper function.

The method helpers all implicitly act upon the alloca, and what we
really want is a fully generic helper. Doing memcpy rewrites is more
special than all other rewrites because we are at times rewriting
instructions which touch pointers *other* than the alloca. As
a consequence all of the helpers needed by memcpy rewriting of
sub-vector copies will need to be generalized fully.

Note that all of these helpers ({insert,extract}{Integer,Vector}) are
woefully uncommented. I'm going to go back through and document them
once I get the factoring correct.

No functionality changed.

llvm-svn: 170325

11 years agoFactor the vector load rewriting into a more generic form.
Chandler Carruth [Mon, 17 Dec 2012 12:50:21 +0000 (12:50 +0000)]
Factor the vector load rewriting into a more generic form.

This makes it suitable for use in rewriting memcpy in the presence of
subvector memcpy intrinsics.

No functionality changed.

llvm-svn: 170324

11 years agoAdd instruction encodings / disassembly support for 2r instructions.
Richard Osborne [Mon, 17 Dec 2012 12:29:31 +0000 (12:29 +0000)]
Add instruction encodings / disassembly support for 2r instructions.

llvm-svn: 170323

11 years agoAdd instruction encodings / disassembly support for 0r instructions.
Richard Osborne [Mon, 17 Dec 2012 12:26:29 +0000 (12:26 +0000)]
Add instruction encodings / disassembly support for 0r instructions.

llvm-svn: 170322

11 years agoSimplify assertion in XCoreInstPrinter.
Richard Osborne [Mon, 17 Dec 2012 12:13:46 +0000 (12:13 +0000)]
Simplify assertion in XCoreInstPrinter.

llvm-svn: 170321

11 years agoUpdate comments to match recommended doxygen style.
Richard Osborne [Mon, 17 Dec 2012 12:13:41 +0000 (12:13 +0000)]
Update comments to match recommended doxygen style.

llvm-svn: 170320

11 years agoRemove unnecessary include.
Richard Osborne [Mon, 17 Dec 2012 12:13:32 +0000 (12:13 +0000)]
Remove unnecessary include.

llvm-svn: 170319

11 years agoFix typo that results in new landing pads not getting a name, fixing PR14617.
Duncan Sands [Mon, 17 Dec 2012 12:02:36 +0000 (12:02 +0000)]
Fix typo that results in new landing pads not getting a name, fixing PR14617.
Patch by Chris Toshok.

llvm-svn: 170318