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
Craig Topper [Wed, 21 Nov 2012 08:08:21 +0000 (08:08 +0000)]
Fix execution domain for packed FMA4 instructions.
llvm-svn: 168417
Craig Topper [Wed, 21 Nov 2012 05:36:24 +0000 (05:36 +0000)]
Mark ISD::FMA as Legal instead of custom for x86 with FMA3/FMA4. Needed so that llvm.muladd can be converted to ISD::FMA for fp_contract.
llvm-svn: 168413
Rafael Espindola [Wed, 21 Nov 2012 02:53:22 +0000 (02:53 +0000)]
Remove redundant code.
llvm-svn: 168411
Rafael Espindola [Wed, 21 Nov 2012 02:47:19 +0000 (02:47 +0000)]
Remove redundant code.
llvm-svn: 168410
Jakub Staszak [Wed, 21 Nov 2012 00:59:34 +0000 (00:59 +0000)]
Make calcLiveInMask method static.
llvm-svn: 168409
Jakub Staszak [Wed, 21 Nov 2012 00:50:57 +0000 (00:50 +0000)]
Make isScratchReg and isFPCopy methods static.
llvm-svn: 168407
Eric Christopher [Wed, 21 Nov 2012 00:34:38 +0000 (00:34 +0000)]
Whitespace.
llvm-svn: 168402
Eric Christopher [Wed, 21 Nov 2012 00:34:35 +0000 (00:34 +0000)]
Update for some of the coding standard before rearranging functions
around.
llvm-svn: 168401
Eric Christopher [Wed, 21 Nov 2012 00:17:49 +0000 (00:17 +0000)]
Update some comments.
llvm-svn: 168400
Eric Christopher [Wed, 21 Nov 2012 00:03:31 +0000 (00:03 +0000)]
Update and add some comments.
llvm-svn: 168399
Eric Christopher [Wed, 21 Nov 2012 00:03:28 +0000 (00:03 +0000)]
Whitespace.
llvm-svn: 168398
Eli Bendersky [Tue, 20 Nov 2012 23:44:22 +0000 (23:44 +0000)]
Add a tests for the new -no-show-raw-insn option of llvm-objdump.
This also initiates a test/tools directory where tools-specific tests can be
placed.
llvm-svn: 168397
Jakub Staszak [Tue, 20 Nov 2012 23:32:32 +0000 (23:32 +0000)]
Add obvious constantness.
llvm-svn: 168396
Eric Christopher [Tue, 20 Nov 2012 23:30:11 +0000 (23:30 +0000)]
Remove constness from this, it modifies the output stream as does
everything else underneath.
llvm-svn: 168395
Rafael Espindola [Tue, 20 Nov 2012 23:23:57 +0000 (23:23 +0000)]
Don't walk a linked list twice in the same function. On my machine this takes
"clang -cc1" on a file with 10k repetitions of
extern int no_such_variable;
from 1.434s to 1.133s.
llvm-svn: 168394
Eli Bendersky [Tue, 20 Nov 2012 22:57:02 +0000 (22:57 +0000)]
Add the -no-show-raw-insn option to llvm-objdump, thus making it a bit more
conformant to binutils objdump.
llvm-svn: 168393
Sebastian Pop [Tue, 20 Nov 2012 22:28:04 +0000 (22:28 +0000)]
removes a few "const" qualifiers
so that I can (someday) call SE->getSCEV without complaint.
No semantic change intended.
Patch from Preston Briggs <preston.briggs@gmail.com>.
llvm-svn: 168391
Anders Waldenborg [Tue, 20 Nov 2012 22:27:55 +0000 (22:27 +0000)]
[python] fix get_library()
Before this fix, the LLVM Python bindings on SVN trunk always fail with:
Exception: LLVM shared library not found!
since it's still looking for a library named "LLVM-3.1svn".
Besides updating the LLVM version in the library name,
this patch also changes llvm.get_library() to make it possible to run
the unit tests without installing the LLVM shared library into a
default linker search path.
e.g. after this patch, running the llvm/python unit tests with:
LD_LIBRARY_PATH=../build/Debug+Asserts/lib nosetests -v bindings/python/llvm/tests/
would work on Linux.
Patch from Scott Tsai (with some minor modifications)
Patch also acked by Gregory Szorc
llvm-svn: 168390
Jyotsna Verma [Tue, 20 Nov 2012 22:14:23 +0000 (22:14 +0000)]
Removing some unused instruction definitions from the Hexagon backend.
llvm-svn: 168388
Eric Christopher [Tue, 20 Nov 2012 22:14:13 +0000 (22:14 +0000)]
Remove unused function argument, add a bit to the comment.
llvm-svn: 168387
Eric Christopher [Tue, 20 Nov 2012 20:34:47 +0000 (20:34 +0000)]
Formatting.
llvm-svn: 168384
Eric Christopher [Tue, 20 Nov 2012 20:34:44 +0000 (20:34 +0000)]
Whitespace.
llvm-svn: 168383
Daniel Malea [Tue, 20 Nov 2012 19:46:54 +0000 (19:46 +0000)]
Clear auto-confirm setting on teardown for tests that use it
llvm-svn: 168382
Eli Bendersky [Tue, 20 Nov 2012 19:37:58 +0000 (19:37 +0000)]
Some sphinx-ing and consistency fixes
llvm-svn: 168380
Daniel Malea [Tue, 20 Nov 2012 18:53:21 +0000 (18:53 +0000)]
Use auto-confirm setting to avoid prompts causing some tests to appear to hang
- this commit addresses bugzilla #14385
llvm-svn: 168375
Eric Christopher [Tue, 20 Nov 2012 18:37:40 +0000 (18:37 +0000)]
Remove some dead code.
llvm-svn: 168374
Joe Abbey [Tue, 20 Nov 2012 18:14:15 +0000 (18:14 +0000)]
Better 80cols... *sigh*
llvm-svn: 168373
Joe Abbey [Tue, 20 Nov 2012 17:51:08 +0000 (17:51 +0000)]
Fixing a broken link.
llvm-svn: 168372
Daniel Malea [Tue, 20 Nov 2012 16:08:36 +0000 (16:08 +0000)]
Fix incorrect usage of buildDsym() in dwarf test
llvm-svn: 168371
Daniel Malea [Tue, 20 Nov 2012 16:07:33 +0000 (16:07 +0000)]
Skip dsym tests on Linux
llvm-svn: 168370
Kostya Serebryany [Tue, 20 Nov 2012 15:15:44 +0000 (15:15 +0000)]
[asan] pop the two internal functions from the stack trace produced by _Unwind_Backtrace (Peter Bergner)
llvm-svn: 168369
Kostya Serebryany [Tue, 20 Nov 2012 14:16:08 +0000 (14:16 +0000)]
[asan] use names of globals instead of an external set to distinguish the globals generated by asan
llvm-svn: 168368
Kostya Serebryany [Tue, 20 Nov 2012 13:11:32 +0000 (13:11 +0000)]
[asan] don't instrument linker-initialized globals even with external linkage in -asan-initialization-order mode
llvm-svn: 168367
Kostya Serebryany [Tue, 20 Nov 2012 13:00:01 +0000 (13:00 +0000)]
[asan] make sure that linker-initialized globals (non-extern) are not instrumented even in -asan-initialization-order mode. This time with a test
llvm-svn: 168366
Sean Silva [Tue, 20 Nov 2012 12:36:27 +0000 (12:36 +0000)]
docs: Fix highlighting.
.git/config was marked as "bash" instead of "ini".
llvm-svn: 168365
NAKAMURA Takumi [Tue, 20 Nov 2012 10:49:01 +0000 (10:49 +0000)]
llvm/test/ExecutionEngine/MCJIT/lit.local.cfg: ppc32-elf is not ready.
llvm-svn: 168364
Chandler Carruth [Tue, 20 Nov 2012 10:23:50 +0000 (10:23 +0000)]
Fix a place where the declaration didn't use LLVM_ENABLE_DUMP but the
definition did.
The last part of PR14324.
llvm-svn: 168363
Chandler Carruth [Tue, 20 Nov 2012 10:23:07 +0000 (10:23 +0000)]
Use LLVM_ENABLE_DUMP for the variables used in printing as well as the
printing functions themselves.
Part of PR14324 (which should have just been a patch to the list, but
hey...)
llvm-svn: 168362
Chandler Carruth [Tue, 20 Nov 2012 10:02:19 +0000 (10:02 +0000)]
Fix PR14132 and handle OOB loads speculated throuh PHI nodes.
The issue is that we may end up with newly OOB loads when speculating
a load into the predecessors of a PHI node, and this confuses the new
integer splitting logic in some cases, triggering an assertion failure.
In fact, the branch in question must be dead code as it loads from
a too-narrow alloca. Add code to handle this gracefully and leave the
requisite FIXMEs for both optimizing more aggressively and doing more to
aid sanitizing invalid code which triggers these patterns.
llvm-svn: 168361
Tim Northover [Tue, 20 Nov 2012 09:56:11 +0000 (09:56 +0000)]
Fix physical register liveness calculations:
+ Take account of clobbers
+ Give outputs priority over inputs since they happen later.
llvm-svn: 168360
Elena Demikhovsky [Tue, 20 Nov 2012 09:37:57 +0000 (09:37 +0000)]
Intel OCL built-ins calling conventions now support MacOS 32-bit.
llvm-svn: 168359
Kostya Serebryany [Tue, 20 Nov 2012 08:57:26 +0000 (08:57 +0000)]
[asan] better support for powerpc and sparc targets (thanks to H.J. Liu and David Miller)
llvm-svn: 168358
Simon Atanasyan [Tue, 20 Nov 2012 07:25:17 +0000 (07:25 +0000)]
Marking remote mcjit tests as XFAIL for MIPS.
llvm-svn: 168357
Kostya Serebryany [Tue, 20 Nov 2012 07:00:42 +0000 (07:00 +0000)]
[asan] more support for powerpc, patch by Peter Bergner
llvm-svn: 168356
Bill Wendling [Tue, 20 Nov 2012 05:09:43 +0000 (05:09 +0000)]
Update method calls to the new interface re r168354.
llvm-svn: 168355
Bill Wendling [Tue, 20 Nov 2012 05:09:20 +0000 (05:09 +0000)]
Make the AttrListPtr object a part of the LLVMContext.
When code deletes the context, the AttributeImpls that the AttrListPtr points to
are now invalid. Therefore, instead of keeping a separate managed static for the
AttrListPtrs that's reference counted, move it into the LLVMContext and delete
it when deleting the AttributeImpls.
llvm-svn: 168354
Hal Finkel [Tue, 20 Nov 2012 04:20:31 +0000 (04:20 +0000)]
Note Freescale's contributions in the PPC release notes.
This mainly reflects the work of Tobias von Koch.
llvm-svn: 168352
Sean Silva [Tue, 20 Nov 2012 03:13:53 +0000 (03:13 +0000)]
docs: Sphinxify LLVMBuild documentation.
llvm-svn: 168348
Chandler Carruth [Tue, 20 Nov 2012 01:27:48 +0000 (01:27 +0000)]
Add a comment to associate a FIXME with a PR where it is matters.
llvm-svn: 168347
Chandler Carruth [Tue, 20 Nov 2012 01:12:50 +0000 (01:12 +0000)]
Rework the rewriting of loads and stores for vector and integer allocas
to properly handle the combinations of these with split integer loads
and stores. This essentially replaces Evan's r168227 by refactoring the
code in a different way, and trynig to mirror that refactoring in both
the load and store sides of the rewriting.
Generally speaking there was some really problematic duplicated code
here that led to poorly founded assumptions and then subtle bugs. Now
much of the code actually flows through and follows a more consistent
style and logical path. There is still a tiny bit of duplication on the
store side of things, but it is much less bad.
This also changes the logic to never re-use a load or store instruction
as that was simply too error prone in practice.
I've added a few tests (one a reduction of the one in Evan's original
patch, which happened to be the same as the report in PR14349). I'm
going to look at adding a few more tests for things I found and fixed in
passing (such as the volatile tests in the vectorizable predicate).
This patch has survived bootstrap, and modulo one bugfix survived
Duncan's test suite, but let me know if anything else explodes.
llvm-svn: 168346
Eli Bendersky [Tue, 20 Nov 2012 00:26:08 +0000 (00:26 +0000)]
ReST-ify some markup in the LIT document
llvm-svn: 168345
Eric Christopher [Tue, 20 Nov 2012 00:15:36 +0000 (00:15 +0000)]
80-column and whitespace fixups.
llvm-svn: 168344
Filipe Cabecinhas [Tue, 20 Nov 2012 00:11:13 +0000 (00:11 +0000)]
Rest of the fix for Thread
llvm-svn: 168343
Filipe Cabecinhas [Tue, 20 Nov 2012 00:03:38 +0000 (00:03 +0000)]
Remove unneeded const qualifier
llvm-svn: 168342
Sean Silva [Mon, 19 Nov 2012 23:21:47 +0000 (23:21 +0000)]
Allow using MemoryBuffers with yaml::Stream directly.
The rationale is to get YAML filenames in diagnostics from
yaml::Stream::printError -- currently the filename is hard-coded as
"YAML" because there's no buffer information available.
Patch by Kim Gräsman!
llvm-svn: 168341
David Blaikie [Mon, 19 Nov 2012 23:12:51 +0000 (23:12 +0000)]
Fix some trailing whitespace (on a blank line) to cycle/test bots.
llvm-svn: 168340
Filipe Cabecinhas [Mon, 19 Nov 2012 23:00:57 +0000 (23:00 +0000)]
Remove unused member variable.
llvm-svn: 168339