Craig Topper [Sun, 25 Nov 2012 00:48:58 +0000 (00:48 +0000)]
Remove duplicate check of LimitFloatPrecision. It was already checked earlier before IsExp10 could be set to true.
llvm-svn: 168553
Craig Topper [Sun, 25 Nov 2012 00:15:07 +0000 (00:15 +0000)]
Factor common code out of individual if blocks into common tail.
llvm-svn: 168551
NAKAMURA Takumi [Sat, 24 Nov 2012 23:17:09 +0000 (23:17 +0000)]
Revert r168519, "Merge used flags so that we don't have to iterate on isUsed. With this change"
It brought bunch of (possibly false) warnings.
llvm/unittests/VMCore/PassManagerTest.cpp:60:22: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration]
char ModuleNDNM::ID=0;
^
llvm/unittests/VMCore/PassManagerTest.cpp:86:22: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration]
char ModuleNDM2::ID=0;
^
llvm/unittests/VMCore/PassManagerTest.cpp:106:21: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration]
char ModuleDNM::ID=0;
^
llvm/unittests/VMCore/PassManagerTest.cpp:217:16: warning: variable 'initcount' is not needed and will not be emitted [-Wunneeded-internal-declaration]
int LPass::initcount=0;
^
llvm/unittests/VMCore/PassManagerTest.cpp:218:16: warning: variable 'fincount' is not needed and will not be emitted [-Wunneeded-internal-declaration]
int LPass::fincount=0;
^
llvm/unittests/VMCore/PassManagerTest.cpp:259:16: warning: variable 'inited' is not needed and will not be emitted [-Wunneeded-internal-declaration]
int BPass::inited=0;
^
llvm/unittests/VMCore/PassManagerTest.cpp:260:16: warning: variable 'fin' is not needed and will not be emitted [-Wunneeded-internal-declaration]
int BPass::fin=0;
^
llvm/unittests/VMCore/PassManagerTest.cpp:283:24: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration]
char OnTheFlyTest::ID=0;
^
8 warnings generated.
llvm-svn: 168549
Craig Topper [Sat, 24 Nov 2012 23:05:23 +0000 (23:05 +0000)]
Remove redundant calls to getCurDebugLoc in visitIntrinsicCall. It's already called at the start of the function and captured in a local variable.
llvm-svn: 168548
Craig Topper [Sat, 24 Nov 2012 18:52:06 +0000 (18:52 +0000)]
Refactor a bit to make some helper methods static.
llvm-svn: 168546
Benjamin Kramer [Sat, 24 Nov 2012 16:59:10 +0000 (16:59 +0000)]
libLTO: Add a utility method to initialize the disassemblers.
Necessary to give disassembler users (like darwin's otool) a possibility to
dlopen libLTO and still initialize the required LLVM bits. This used to go
through libMCDisassembler but that's a gross layering violation, the MC layer
can't pull in functions from the targets. Adding a function to libLTO is a bit
of a hack but not worse than exposing other disassembler bits from libLTO.
Fixes PR14362.
llvm-svn: 168545
Benjamin Kramer [Sat, 24 Nov 2012 15:23:49 +0000 (15:23 +0000)]
PPC: Reinstate the fatal error when trying to emit a macho file.
llvm-svn: 168543
Benjamin Kramer [Sat, 24 Nov 2012 14:36:43 +0000 (14:36 +0000)]
ARM: Share applyFixup between ELF and Darwin.
The implementations already diverged a bit, merge them back together.
llvm-svn: 168542
Benjamin Kramer [Sat, 24 Nov 2012 13:18:25 +0000 (13:18 +0000)]
PPC: MCize most of the darwin PIC emission.
The last remaining bit is "bcl 20, 31, AnonSymbol", which I couldn't find the
instruction definition for. Only whitespace changes in assembly output.
llvm-svn: 168541
Benjamin Kramer [Sat, 24 Nov 2012 13:18:17 +0000 (13:18 +0000)]
PPC: Share applyFixup between ELF and Darwin.
llvm-svn: 168540
Benjamin Kramer [Sat, 24 Nov 2012 13:18:11 +0000 (13:18 +0000)]
PPC: Simplify code with Twines.
No functionality change.
llvm-svn: 168539
Craig Topper [Sat, 24 Nov 2012 08:22:37 +0000 (08:22 +0000)]
Factor some common code out of individual if blocks.
llvm-svn: 168538
Kostya Serebryany [Sat, 24 Nov 2012 05:03:11 +0000 (05:03 +0000)]
[asan/tsan] get rid of kPageSize completely in favor of GetPageSizeCached(). This makes the code friendly to more platforms
llvm-svn: 168537
Rafael Espindola [Sat, 24 Nov 2012 04:33:48 +0000 (04:33 +0000)]
Change the representation of MCCFIInstruction.
We now store the Register and Offset directly. MachineLocation is gone (from
this file)!
llvm-svn: 168536
Nico Weber [Sat, 24 Nov 2012 03:20:20 +0000 (03:20 +0000)]
Make err_module_expected_semi consistent with all the other expected_semi diags.
llvm-svn: 168535
Rafael Espindola [Sat, 24 Nov 2012 03:10:54 +0000 (03:10 +0000)]
Give each MCCFIInstruction its own opcode.
This untangles the switch cases of the old Move and RelMove opcodes a bit
and makes it clear how to add new instructions.
llvm-svn: 168534
Rafael Espindola [Sat, 24 Nov 2012 02:18:49 +0000 (02:18 +0000)]
Move a bit of duplicated code into a helper function.
llvm-svn: 168533
Rafael Espindola [Sat, 24 Nov 2012 02:01:08 +0000 (02:01 +0000)]
Refactor how MCCFIInstructions are created.
Give MCCFIInstruction a single, private constructor and add helper static
methods that create each type of cfi instruction. This is is preparation
for changing its representation. The representation with a pair
MachineLocations older than MC and has been abused quiet a bit to support
more cfi instructions.
llvm-svn: 168532
Daniel Malea [Fri, 23 Nov 2012 22:15:09 +0000 (22:15 +0000)]
Skip objC test on non-darwin platforms
llvm-svn: 168531
Daniel Malea [Fri, 23 Nov 2012 22:10:20 +0000 (22:10 +0000)]
Remove decorator to skip event tests
- hang resolved in r168503
llvm-svn: 168530
Daniel Malea [Fri, 23 Nov 2012 21:59:29 +0000 (21:59 +0000)]
Update test status on Linux
- add decorators @expectedFailLinux and @skipOnLinux
- skip/mark xfail cases due to open bugzillas # 14323, 14416, 14423, 14424, 14425, 14426
Patch by Ashok Thirumurthi!
llvm-svn: 168529
Benjamin Kramer [Fri, 23 Nov 2012 19:17:06 +0000 (19:17 +0000)]
CodeGenPrepare: Move ret duplication out of the instruction iteration loop.
It can delete the block, and the loop continues on free'd memory.
No change in output. Found by valgrind.
llvm-svn: 168525
Craig Topper [Fri, 23 Nov 2012 18:38:31 +0000 (18:38 +0000)]
Refactor a bit to make some helper functions static.
llvm-svn: 168524
Daniel Malea [Fri, 23 Nov 2012 18:09:58 +0000 (18:09 +0000)]
Fix Linux bug that leaves lldb in invalid state after expression evaluation times out.
- Handle EINVAL return code from ptrace(GETSIGINFO, ...): not an error, but 'group-stop' state on Linux
- propagate SIGSTOP to inferior in above case
- this commit resolves the failure in expression_command/timeout testcase
Thanks to Sean Callanan & Matt Kopec for helping debug this problem
llvm-svn: 168523
Rafael Espindola [Fri, 23 Nov 2012 17:37:34 +0000 (17:37 +0000)]
Add a -disable-cfi option to llvm-mc. This is useful for debugging as
it will expand any .cfi_* directives in the input assembly.
Unfortunately this cannot replace elf-dump in tests as the asm streamer
cannot relax the line advance opcodes.
llvm-svn: 168522
Benjamin Kramer [Fri, 23 Nov 2012 17:04:52 +0000 (17:04 +0000)]
Sema: Provide a valid source location when instantiating templates based on a CXXDefaultArgExpr.
Fixes PR13758.
llvm-svn: 168521
Rafael Espindola [Fri, 23 Nov 2012 16:59:41 +0000 (16:59 +0000)]
Implement .cfi_undefined. Based on a patch from PaX team, updated by
Roman Divacky. I just added the testcase.
llvm-svn: 168520
Rafael Espindola [Fri, 23 Nov 2012 16:26:30 +0000 (16:26 +0000)]
Merge used flags so that we don't have to iterate on isUsed. With this change
"clang -cc1 -fsyntax-only" on the preprocessed output of
#define M extern int a;
#define M2 M M
#define M4 M2 M2
#define M8 M4 M4
#define M16 M8 M8
#define M32 M16 M16
#define M64 M32 M32
#define M128 M64 M64
#define M256 M128 M128
#define M512 M256 M256
#define M1024 M512 M512
#define M2048 M1024 M1024
#define M4096 M2048 M2048
#define M8192 M4096 M4096
#define M16384 M8192 M8192
M16384
goes from 2.994s to 1.416s. GCC is at 0.022s, so we still have a long way to go.
llvm-svn: 168519
Dmitry Vyukov [Fri, 23 Nov 2012 15:51:45 +0000 (15:51 +0000)]
tsan: add failure memory order to atomic compare exchange functions
llvm-svn: 168518
Kostya Serebryany [Fri, 23 Nov 2012 15:38:49 +0000 (15:38 +0000)]
[asan] get rid of some of the uses of kPageSize. The intent is to get rid of it completely to support platforms with multiple possible page sizes.
llvm-svn: 168517
Patrik Hägglund [Fri, 23 Nov 2012 14:51:42 +0000 (14:51 +0000)]
Disallow the undocumented practice of starting the datalayout string with '-'.
Update some test cases accordingly.
llvm-svn: 168516
Rafael Espindola [Fri, 23 Nov 2012 14:29:54 +0000 (14:29 +0000)]
Remove redundant check.
llvm-svn: 168515
Rafael Espindola [Fri, 23 Nov 2012 13:54:40 +0000 (13:54 +0000)]
Check that we don't warn on this testcase. This is basically a test that
Decl::isUsed checks the attribute. If the function had a body just the check
is DeclMustBeEmitted would be sufficient.
llvm-svn: 168514
Alexey Samsonov [Fri, 23 Nov 2012 11:20:54 +0000 (11:20 +0000)]
[ASan] move swapcontext_test to Linux-specific tests
llvm-svn: 168513
Bill Wendling [Fri, 23 Nov 2012 11:05:35 +0000 (11:05 +0000)]
Update call to the new syntax.
llvm-svn: 168512
Joey Gouly [Fri, 23 Nov 2012 10:47:35 +0000 (10:47 +0000)]
Remove unused parameter Penalty from the BoundsChecking pass.
llvm-svn: 168511
Joey Gouly [Fri, 23 Nov 2012 10:39:49 +0000 (10:39 +0000)]
PR14306: Move -fbounds-checking to -fsanitize=bounds.
llvm-svn: 168510
Alexey Samsonov [Fri, 23 Nov 2012 10:14:44 +0000 (10:14 +0000)]
[ASan] intercept swapcontext on Linux only
llvm-svn: 168509
Alexey Samsonov [Fri, 23 Nov 2012 09:46:34 +0000 (09:46 +0000)]
[ASan] Add interceptor for swapcontext to fight with false positives in some of its use cases.
llvm-svn: 168508
Patrik Hägglund [Fri, 23 Nov 2012 08:35:04 +0000 (08:35 +0000)]
Cleanup: Simplify loop end logic in computeRegisterProperties().
llvm-svn: 168507
Dmitry Vyukov [Fri, 23 Nov 2012 07:14:11 +0000 (07:14 +0000)]
tsan: ensure than func entry/exit are inlined
llvm-svn: 168506
Bob Wilson [Fri, 23 Nov 2012 06:14:39 +0000 (06:14 +0000)]
Reapply a subset of r167567 to clean up Darwin-specific code for invoking gcc.
Unlike my previous attempt at this, this patch leaves intact the check for
whether clang can handle the input file type, and for non-Darwin toolchains it
will invoke gcc for things it cannot handle. For Darwin toolchains, the
behavior reported in pr14338 still occurs with this patch, but that is a
definite improvement from what happens currently, where it just crashes with
an assertion failure.
llvm-svn: 168505
Venkatraman Govindaraju [Thu, 22 Nov 2012 22:14:48 +0000 (22:14 +0000)]
Added me as the owner of the Sparc backend
llvm-svn: 168504
Daniel Malea [Thu, 22 Nov 2012 18:21:05 +0000 (18:21 +0000)]
Remove call to StopMonitor() from ProcessMonitor::Detach()
- StopMonitor() is called anyways from ProcessMonitor destructor later
- resolves hang in TestEvents.py
Patch by Matt Kopec!
llvm-svn: 168503
Rafael Espindola [Thu, 22 Nov 2012 16:43:44 +0000 (16:43 +0000)]
Mark me as the owner of the gold plugin.
llvm-svn: 168502
Meador Inge [Thu, 22 Nov 2012 15:36:42 +0000 (15:36 +0000)]
Add more functions to the target library information.
I discovered a few more missing functions while migrating optimizations
from the simplify-libcalls pass to the instcombine (I already added some
in r167659).
llvm-svn: 168501
Benjamin Kramer [Thu, 22 Nov 2012 15:02:44 +0000 (15:02 +0000)]
Make helpers static/anonymous.
llvm-svn: 168500
NAKAMURA Takumi [Thu, 22 Nov 2012 14:18:25 +0000 (14:18 +0000)]
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp: Prune AddressSanitizerCreateGlobalRedzonesPass::ID. [-Wunused-variable]
llvm-svn: 168499
Eli Bendersky [Thu, 22 Nov 2012 14:10:40 +0000 (14:10 +0000)]
Fix 80-col violation
llvm-svn: 168498
Dmitry Vyukov [Thu, 22 Nov 2012 13:53:54 +0000 (13:53 +0000)]
tsan: fix more bugs in signal handling
llvm-svn: 168497
Dmitry Vyukov [Thu, 22 Nov 2012 13:38:28 +0000 (13:38 +0000)]
tsan: add missing \n in report
llvm-svn: 168496
NAKAMURA Takumi [Thu, 22 Nov 2012 13:18:37 +0000 (13:18 +0000)]
IntelJITEventsWrapper.h: Prune two members, FinalizeThreadFunc and FinalizeProcessFunc, for now. [-Wunused-private-field]
llvm-svn: 168495
Dmitri Gribenko [Thu, 22 Nov 2012 11:56:02 +0000 (11:56 +0000)]
Documentation: convert SourceLevelDebugging.html to reST
llvm-svn: 168493
Chandler Carruth [Thu, 22 Nov 2012 11:17:08 +0000 (11:17 +0000)]
Remove 'sretpromotion' pass from the documentation. This pass is long
dead.
Patch by Stephan Falke.
llvm-svn: 168492
Dmitry Vyukov [Thu, 22 Nov 2012 08:42:01 +0000 (08:42 +0000)]
tsan: better error message for OOM
llvm-svn: 168491
Ted Kremenek [Thu, 22 Nov 2012 07:48:52 +0000 (07:48 +0000)]
Generalize matching of add_executable to add_XXX_executable.
llvm-svn: 168490
Lang Hames [Thu, 22 Nov 2012 03:31:45 +0000 (03:31 +0000)]
llvm.fmuladd.* lowering should be checking isOperationLegalOrCustom, rather than
isOperationLegal. Thanks to Craig Topper for pointing this out.
llvm-svn: 168485
Kostya Serebryany [Thu, 22 Nov 2012 03:18:50 +0000 (03:18 +0000)]
[asan] rip off the creation of global redzones from the main AddressSanitizer class into a separate class. The intent is to make it a separate ModulePass in the following commmits
llvm-svn: 168484
Eric Christopher [Thu, 22 Nov 2012 00:59:49 +0000 (00:59 +0000)]
Pull some code out into functions to make rearranging them a bit easier.
llvm-svn: 168481
Richard Smith [Thu, 22 Nov 2012 00:40:54 +0000 (00:40 +0000)]
Fix regression in r168477. Use canonical decl when looking for base class
specified as a qualified name.
llvm-svn: 168479
Richard Smith [Thu, 22 Nov 2012 00:24:47 +0000 (00:24 +0000)]
Fix CXXRecordDecl::forallBases to not look through bases which are dependent
and defined within the current instantiation, but which are not part of the
current instantiation. Previously, it would look at bases which could be
specialized separately from the current template.
llvm-svn: 168477
Richard Smith [Thu, 22 Nov 2012 00:21:13 +0000 (00:21 +0000)]
Test that we correctly deal with multiple copy constructors when detecting
non-trivial special members for varargs calls.
llvm-svn: 168476
Preston Briggs [Wed, 21 Nov 2012 23:50:04 +0000 (23:50 +0000)]
Corrects a problem where we reply exclusively of GEPs to drive
analysis. Better is to look for cases with useful GEPs and use them
when possible. When a pair of useful GEPs is not available, use the
raw SCEVs directly. This approach supports better analysis of pointer
dereferencing.
In parallel, all the test cases are updated appropriately.
Cases where we have a store to *B++ can now be analyzed!
llvm-svn: 168474
Chandler Carruth [Wed, 21 Nov 2012 23:40:23 +0000 (23:40 +0000)]
Fix the '-fuse-init-array' option to actually be an option.
Previously, this flag to CC1 was never exposed at the clang driver
layer, and if you happened to enable it (by being on Android or GCC 4.7
platform), you couldn't *disable* it, because there was no 'no' variant.
The whole thing was confusingly implemented.
Now, the target-specific flag processing gets the driver arg list, and
we use standard hasFlag with a default based on the GCC version and/or
Android platform. The user can still pass the 'no-' variant to forcibly
disable the flag, or pass the positive variant to clang itself to enable
the flag.
The test has also been substantially cleaned up and extended to cover
these use cases.
llvm-svn: 168473
Jack Carter [Wed, 21 Nov 2012 23:38:59 +0000 (23:38 +0000)]
Mips direct object xgot support
This patch provides support for the MIPS relocations:
*) R_MIPS_GOT_HI16
*) R_MIPS_GOT_LO16
*) R_MIPS_CALL_HI16
*) R_MIPS_CALL_LO16
These are used for large GOT instruction sequences.
Contributer: Jack Carter
llvm-svn: 168471
Eli Bendersky [Wed, 21 Nov 2012 22:40:52 +0000 (22:40 +0000)]
Fix a typo in FileCheck.rst
llvm-svn: 168466
Hemant Kulkarni [Wed, 21 Nov 2012 21:07:36 +0000 (21:07 +0000)]
Populate entry point into ELF executable.
llvm-svn: 168461
Akira Hatanaka [Wed, 21 Nov 2012 20:40:38 +0000 (20:40 +0000)]
[mips] Generate big GOT code.
llvm-svn: 168460
Andrew Kaylor [Wed, 21 Nov 2012 20:38:26 +0000 (20:38 +0000)]
Adding tests for the Intel JIT event listener's MCJIT support.
llvm-svn: 168459
Akira Hatanaka [Wed, 21 Nov 2012 20:30:40 +0000 (20:30 +0000)]
[mips] Simplify lowering functions in MipsISelLowering.cpp by using the helper
functions added in r168456.
llvm-svn: 168458
Akira Hatanaka [Wed, 21 Nov 2012 20:26:38 +0000 (20:26 +0000)]
[mips] Add helper functions that create nodes for computing address.
llvm-svn: 168456
Akira Hatanaka [Wed, 21 Nov 2012 20:21:11 +0000 (20:21 +0000)]
[mips] Add command line option "-mxgot".
llvm-svn: 168455
Daniel Malea [Wed, 21 Nov 2012 20:17:07 +0000 (20:17 +0000)]
Disable darwin-specific test on non-darwin platforms
llvm-svn: 168454
Akira Hatanaka [Wed, 21 Nov 2012 20:16:34 +0000 (20:16 +0000)]
[mips] When a node which loads from a GOT is created, pass a MachinePointerInfo
referring to a GOT entry.
llvm-svn: 168453
Daniel Malea [Wed, 21 Nov 2012 20:12:12 +0000 (20:12 +0000)]
Linux test case fixes
- missing includes in cpp test programs
- mismatched dwarf/dsym test cases
- make "com.apple.main-thread" expected string conditional on darwin platform
llvm-svn: 168452
Jyotsna Verma [Wed, 21 Nov 2012 20:05:09 +0000 (20:05 +0000)]
Add new predicates for the immediate operands.
llvm-svn: 168451
Akira Hatanaka [Wed, 21 Nov 2012 19:59:51 +0000 (19:59 +0000)]
[mips] Add target operand flag enums for big GOT relocations.
llvm-svn: 168450
Jyotsna Verma [Wed, 21 Nov 2012 19:53:42 +0000 (19:53 +0000)]
Use one common 'let' expression to set PrintMethod for all immediate operands.
llvm-svn: 168449
Akira Hatanaka [Wed, 21 Nov 2012 19:50:22 +0000 (19:50 +0000)]
Add relocations used for mips big GOT.
llvm-svn: 168448
Preston Briggs [Wed, 21 Nov 2012 18:53:19 +0000 (18:53 +0000)]
test commit: added a few comments
llvm-svn: 168445
Andrew Kaylor [Wed, 21 Nov 2012 18:50:33 +0000 (18:50 +0000)]
Implementing basic function-level profiling support in IntelJITEventListener.
Tests to follow in another patch.
llvm-svn: 168444
Benjamin Kramer [Wed, 21 Nov 2012 17:42:47 +0000 (17:42 +0000)]
SemaCXX: an enumeral type can be of character or boolean type in a C++11 enum class. Make sure we create a literal of the right type.
Fixes PR14386.
llvm-svn: 168441
Anton Korobeynikov [Wed, 21 Nov 2012 17:28:27 +0000 (17:28 +0000)]
Add support for varargs functions for msp430.
Patch by Job Noorman!
llvm-svn: 168440
Anton Korobeynikov [Wed, 21 Nov 2012 17:23:03 +0000 (17:23 +0000)]
Add support for byval args. Patch by Job Noorman!
llvm-svn: 168439
Rafael Espindola [Wed, 21 Nov 2012 16:56:33 +0000 (16:56 +0000)]
Finish the renaming.
llvm-svn: 168437
Joey Gouly [Wed, 21 Nov 2012 16:54:35 +0000 (16:54 +0000)]
Test commit: Remove blank line.
llvm-svn: 168436
Jyotsna Verma [Wed, 21 Nov 2012 16:28:18 +0000 (16:28 +0000)]
Renamed HexagonImmediates.td -> HexagonOperands.td.
llvm-svn: 168434
Alexey Samsonov [Wed, 21 Nov 2012 15:52:36 +0000 (15:52 +0000)]
Try to fix test from r168428 on mingw bot
llvm-svn: 168431
NAKAMURA Takumi [Wed, 21 Nov 2012 14:46:18 +0000 (14:46 +0000)]
llvm/test/Transforms/InstCombine/sdiv-1.ll: FileCheck-ize.
"not grep '-
715827882'" performed as below...bad...
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
llvm-svn: 168430
NAKAMURA Takumi [Wed, 21 Nov 2012 14:45:57 +0000 (14:45 +0000)]
clang/test/Driver/x86_64-nacl-defines.cpp: Specify filename generated.
FIXME: It could be /dev/null.
llvm-svn: 168429
Alexey Samsonov [Wed, 21 Nov 2012 14:17:42 +0000 (14:17 +0000)]
[Sanitizer] force linking with static sanitizer runtimes on Darwin even if they are not found in resource directory. Add test checking sanitizer linker flags on Darwin.
llvm-svn: 168428
Rafael Espindola [Wed, 21 Nov 2012 14:17:23 +0000 (14:17 +0000)]
Using "not grep" is brittle as the test passes if llvm-as fails.
Fix the testcase to be valid IL and uses FileCheck.
Thanks to NAKAMURA Takumi for noticing it.
llvm-svn: 168427
Kostya Serebryany [Wed, 21 Nov 2012 13:31:07 +0000 (13:31 +0000)]
[asan] get rid of kPageSizeBits
llvm-svn: 168426
Evgeniy Stepanov [Wed, 21 Nov 2012 13:00:04 +0000 (13:00 +0000)]
Allow PopStackFrames leave the stack empty.
llvm-svn: 168425
Kostya Serebryany [Wed, 21 Nov 2012 12:38:58 +0000 (12:38 +0000)]
[asan/tsan] do not use __WORDSIZE macro, as it is glibc-private thing. Instead, define our own SANITIZER_WORDSIZE
llvm-svn: 168424
Dmitry Vyukov [Wed, 21 Nov 2012 11:44:20 +0000 (11:44 +0000)]
tsan: explictly say when we fail to restore a stack trace
llvm-svn: 168423
Alexey Samsonov [Wed, 21 Nov 2012 11:12:57 +0000 (11:12 +0000)]
[Sanitizer] replace while with internal_memset to make sure compiler won't replace it with library memset
llvm-svn: 168422
Dmitry Vyukov [Wed, 21 Nov 2012 11:12:33 +0000 (11:12 +0000)]
tsan: fix handling of signals
(do not execute synchronous signals in recursive interceptors)
llvm-svn: 168421
Dmitri Gribenko [Wed, 21 Nov 2012 10:54:55 +0000 (10:54 +0000)]
Use color for -ast-dump-filter only when it is supported
Patch by Philip Craig.
llvm-svn: 168420
Chandler Carruth [Wed, 21 Nov 2012 08:16:30 +0000 (08:16 +0000)]
PR14055: Implement support for sub-vector operations in SROA.
Now if we can transform an alloca into a single vector value, but it has
subvector, non-element accesses, we form the appropriate shufflevectors
to allow SROA to proceed. This fixes PR14055 which pointed out a very
common pattern that SROA couldn't handle -- mixed vec3 and vec4
operations on a single alloca.
llvm-svn: 168418