Commit Graph

133450 Commits

Author SHA1 Message Date
Enrico Granata 5c5ae47a8f Patch from Daniel Malea to fix the build on Linux. Thanks
llvm-svn: 163332
2012-09-06 17:10:14 +00:00
Enrico Granata 4e0b1eda9a Enabling the UTF conversion routines that were previously conditionally ifdef'ed out. This change is required to support enhancements in the LLDB data formatters
llvm-svn: 163331
2012-09-06 17:03:42 +00:00
Aaron Ballman 9c00446d2a Fixing the return type information for objc_sync_enter and objc_sync_exit. Patch thanks to Joe Ranieri!
llvm-svn: 163330
2012-09-06 16:44:16 +00:00
Fariborz Jahanian 66c93f443d c: make __attribute__((unused)) transitive.
Don't warn if annotated decl is used inside another
   unused. // rdar://12233989

llvm-svn: 163329
2012-09-06 16:43:18 +00:00
Jakob Stoklund Olesen 83859e7728 Tighten up regexps some more.
These tests were failing for me because the .* was greedily matching up
to the /libexec/ld-elf.so.1" later on the same line.

llvm-svn: 163328
2012-09-06 16:29:03 +00:00
Roman Divacky 6d6c3110b5 Remove unused typedefs. Found by gcc48.
llvm-svn: 163327
2012-09-06 16:14:37 +00:00
Dmitry Vyukov 23ecb4acd9 tsan: fix code style
llvm-svn: 163326
2012-09-06 16:11:30 +00:00
Roman Divacky e637711ae0 Dont cast away const needlessly. Found by gcc48 -Wcast-qual.
llvm-svn: 163325
2012-09-06 15:59:27 +00:00
Roman Divacky 4717a8d654 Dont cast away const needlessly. Found by gcc48 -Wcast-qual.
llvm-svn: 163324
2012-09-06 15:42:13 +00:00
Tim Northover 00e071ad52 Diagnose invalid alignments on duplicating VLDn instructions.
Patch by Chris Lidbury.

llvm-svn: 163323
2012-09-06 15:27:12 +00:00
Dmitry Vyukov c87e7280b8 tsan: increase max shadow stack size + reduce memory consumption at the same time (by not memorizing full stacks in traces)
llvm-svn: 163322
2012-09-06 15:18:14 +00:00
Tim Northover fb3cdd83b0 Check for invalid alignment values when decoding VLDn/VSTn (single ln) instructions.
Patch by Chris Lidbury.

llvm-svn: 163321
2012-09-06 15:17:49 +00:00
Dmitry Vyukov 50d49238a6 tsan: fix Go build script
llvm-svn: 163320
2012-09-06 15:10:19 +00:00
Arnold Schwaighofer 8dc34cfb99 BasicAA: Recognize cyclic NoAlias phis
Enhances basic alias analysis to recognize phis whose first incoming values are
NoAlias and whose other incoming values are just the phi node itself through
some amount of recursion.

Example: With this change basicaa reports that ptr_phi and ptr_phi2 do not alias
each other.

bb:
 ptr = ptr2 + 1

loop:
  ptr_phi = phi [bb, ptr], [loop, ptr_plus_one]
  ptr2_phi = phi [bb, ptr2], [loop, ptr2_plus_one]
  ...
  ptr_plus_one = gep ptr_phi, 1
  ptr2_plus_one = gep ptr2_phi, 1

This enables the elimination of one load in code like the following:

extern int foo;

int test_noalias(int *ptr, int num, int* coeff) {
  int *ptr2 = ptr;
  int result = (*ptr++) * (*coeff--);
  while (num--) {
    *ptr2++ = *ptr;
    result +=  (*coeff--) * (*ptr++);
  }
  *ptr = foo;
  return result;
}

Part 2/2 of fix for PR13564.

llvm-svn: 163319
2012-09-06 14:41:53 +00:00
Tim Northover 262f6f564f Use correct part of complex operand to encode VST1 alignment.
Patch by Chris Lidbury.

llvm-svn: 163318
2012-09-06 14:36:55 +00:00
Arnold Schwaighofer 76dca58c66 BasicAA: GEPs of NoAlias'ing base ptr with equivalent indices are NoAlias
If we can show that the base pointers of two GEPs don't alias each other using
precise analysis and the indices and base offset are equal then the two GEPs
also don't alias each other.
This is primarily needed for the follow up patch that analyses NoAlias'ing PHI
nodes.

Part 1/2 of fix for PR13564.

llvm-svn: 163317
2012-09-06 14:31:51 +00:00
Nadav Rotem 9e3cc9f884 Disable stack coloring by default in order to resolve the i386 failures.
llvm-svn: 163316
2012-09-06 14:27:06 +00:00
Tom Stellard b7246a763b Tablegen: Add OperandWithDefaultOps Operand type
This Operand type takes a default argument, and is initialized to
this value if it does not appear in a patter.

llvm-svn: 163315
2012-09-06 14:15:52 +00:00
Alexander Potapenko 35bc23ce58 Fix two compiler warnings: must use at least one argument for "..." in a variadic macros, signed vs. unsigned comparison.
llvm-svn: 163314
2012-09-06 13:31:13 +00:00
Evgeniy Stepanov 65fb0a5425 [asan] Use __ANDROID__ guard in asan_test.
llvm-svn: 163313
2012-09-06 12:50:28 +00:00
Elena Demikhovsky 42777877c2 AVX2 optimization.
Added generation of VPSHUB instruction for <32 x i8> vector shuffle when possible.

llvm-svn: 163312
2012-09-06 12:42:01 +00:00
Alexander Potapenko 3ecf916c33 Use the return value of dladdr() to avoid Clang warning.
llvm-svn: 163311
2012-09-06 12:18:45 +00:00
Nadav Rotem a8e15b0892 Fix a few old-GCC warnings. No functional change.
llvm-svn: 163309
2012-09-06 11:13:55 +00:00
Kostya Serebryany f9caa28ccf [asan] increase max stack size to 256 (+test)
llvm-svn: 163308
2012-09-06 10:57:03 +00:00
Nadav Rotem ea0d36be95 Fix the test by specifying an exact cpu model.
llvm-svn: 163307
2012-09-06 10:33:33 +00:00
James Molloy 9d30dc2432 Fix self-host; ensure signedness is consistent.
llvm-svn: 163306
2012-09-06 10:32:08 +00:00
Hans Wennborg feb4d07d88 Fix switch_to_lookup_table.ll test from r163302.
The lookup tables did not get built in a deterministic order.
This makes them get built in the order that the corresponding phi nodes
were found.

llvm-svn: 163305
2012-09-06 10:10:35 +00:00
James Molloy 49bdbce8e1 Improve codegen for BUILD_VECTORs on ARM.
If we have a BUILD_VECTOR that is mostly a constant splat, it is often better to splat that constant then insertelement the non-constant lanes instead of insertelementing every lane from an undef base.

llvm-svn: 163304
2012-09-06 09:55:02 +00:00
Alexey Samsonov 0fcf09ede6 Update AddressSanitizer docs
llvm-svn: 163303
2012-09-06 09:49:03 +00:00
Hans Wennborg 8a62fc5294 Build lookup tables for switches (PR884)
This adds a transformation to SimplifyCFG that attemps to turn switch
instructions into loads from lookup tables. It works on switches that
are only used to initialize one or more phi nodes in a common successor
basic block, for example:

  int f(int x) {
    switch (x) {
    case 0: return 5;
    case 1: return 4;
    case 2: return -2;
    case 5: return 7;
    case 6: return 9;
    default: return 42;
  }

This speeds up the code by removing the hard-to-predict jump, and
reduces code size by removing the code for the jump targets.

llvm-svn: 163302
2012-09-06 09:43:28 +00:00
Alexander Potapenko 447ff70280 Add "movsbl %dh, %ecx" and "testb %r8, %r8" to mach_override.
This should fix http://code.google.com/p/address-sanitizer/issues/detail?id=105

llvm-svn: 163301
2012-09-06 09:38:27 +00:00
Alexey Samsonov 36853a7a3b [ASan] actually remove old makefile
llvm-svn: 163300
2012-09-06 09:30:09 +00:00
Nadav Rotem 7c277da364 Add a new optimization pass: Stack Coloring, that merges disjoint static allocations (allocas). Allocas are known to be
disjoint if they are marked by disjoint lifetime markers (@llvm.lifetime.XXX intrinsics).

llvm-svn: 163299
2012-09-06 09:17:37 +00:00
James Molloy 34e9931bec Optimize codegen for VSETLNi{8,16,32} operating on Q registers. Degenerate to a VSETLN on D registers, instead of an (INSERT_SUBREG (VSETLN (EXTRACT_SUBREG ))) sequence to help the register coalescer.
llvm-svn: 163298
2012-09-06 09:16:01 +00:00
Alexey Samsonov fdff4a8e0b [TSan] add support for running external symbolizer other than addr2line (for testing purposes)
llvm-svn: 163297
2012-09-06 08:48:43 +00:00
Alexey Samsonov 3ebf2fa654 [Sanitizer] remove unused field
llvm-svn: 163296
2012-09-06 08:47:38 +00:00
Michael Liao 2d95a2b5c4 Remove duplicated helper function
llvm-svn: 163295
2012-09-06 07:11:22 +00:00
Alexey Samsonov ac87a5bddc [ASan] Nuke output_tests/ in favor of lit_tests/. Stop using Makefile.old.
llvm-svn: 163294
2012-09-06 06:39:02 +00:00
Craig Topper f3e4aa8cdd Use iPTR instead of i32 for extract_subvector/insert_subvector index in lowering and patterns. This makes it consistent with the incoming DAG nodes from the DAG builder.
llvm-svn: 163293
2012-09-06 06:09:01 +00:00
Craig Topper daa5ed1e0a Add patterns for converting stores of subvector_extracts of lower 128-bits of a 256-bit vector to VMOVAPSmr/VMOVUPSmr.
llvm-svn: 163292
2012-09-06 05:15:01 +00:00
Kostya Serebryany ae350f66d4 [asan] increase the maximal size of malloc/free stack
llvm-svn: 163291
2012-09-06 04:46:47 +00:00
Jim Grosbach 2c1b00a991 Revert "Enable MCJIT tests on Darwin."
This reverts commit 163278.

Works OK on x86_64, but not i386. Will re-enable when that's cleared up.

llvm-svn: 163290
2012-09-06 03:24:09 +00:00
NAKAMURA Takumi ffa157177e Whitespace.
llvm-svn: 163289
2012-09-06 03:02:56 +00:00
NAKAMURA Takumi 8a54d812c5 Unix/Signals.inc: Fix a typo. Thanks to Dani Berg!
llvm-svn: 163288
2012-09-06 03:01:43 +00:00
Jack Carter 0744143370 There are some Mips instructions that are lowered by the
assembler such as shifts greater than 32. In the case 
of direct object, the code gen needs to do this lowering 
since the assembler is not involved.

With the advent of the llvm-mc assembler, it also needs 
to do the same lowering.

This patch makes that specific lowering code accessible 
to both the direct object output and the assembler.

This patch does not affect generated output.

llvm-svn: 163287
2012-09-06 02:31:34 +00:00
Jordan Rose 6912a326b3 Fix a mistake in an HTML example code snippet.
Caught by Kurt Arnlund!

llvm-svn: 163286
2012-09-06 02:19:13 +00:00
Jason Molenda 9a9422a4ff For the eEncodingIEEE754 registers in RegisterValue::SetType,
only accept the first matching type based on lldb's sizeofs.
<rdar://problem/12222109>

llvm-svn: 163285
2012-09-06 02:17:36 +00:00
Sean Callanan 4ed61b001c Disable the "pretty stack trace" signal handler,
which can conflict with accurate crash reporting
in multithreaded contexts.

llvm-svn: 163282
2012-09-06 01:39:02 +00:00
Richard Smith aa31b4b816 PR13775: When checking for a tag type being shadowed by some other declaration,
don't trample over the caller's LookupResult in the case where the check fails.

llvm-svn: 163281
2012-09-06 01:37:56 +00:00
Jim Grosbach 30c4282f88 Update function names to conform to guidelines.
No functional change.

llvm-svn: 163279
2012-09-06 00:59:08 +00:00