summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [tsan] fix compiler warningsKostya Serebryany2012-02-141-3/+3
| | | | llvm-svn: 150449
* Third time's the charm...?Lang Hames2012-02-141-2/+2
| | | | llvm-svn: 150447
* [analyzer] Malloc Checker: realloc: add dependency between the symbolsAnna Zaks2012-02-142-9/+47
| | | | | | | | | | | | | in realloc map. If there is no dependency, the reallocated ptr will get garbage collected before we know that realloc failed, which would lead us to missing a memory leak warning. Also added new test cases, which we can handle now. Plus minor cleanups. llvm-svn: 150446
* Fixed a bug that caused the description stringsSean Callanan2012-02-141-1/+2
| | | | | | | for assembly instructions to occasionally come out empty. llvm-svn: 150445
* Unswap swap operands, partially reducing confusion.Lang Hames2012-02-141-2/+2
| | | | llvm-svn: 150444
* Made loading sections in the DynamicLoaderDarwinKernel more robust as itGreg Clayton2012-02-141-31/+28
| | | | | | | | | seems that sections in the memory module might be quite different from the sections in the file module. Now we find all segments in the on disk file and find that segment by name in the memory module and it is ok if any sections from the file are missing in the memory image. llvm-svn: 150443
* Simple test ensuring that we perform direct initialization when ↵Douglas Gregor2012-02-141-0/+9
| | | | | | copy-capturing in lambdas llvm-svn: 150442
* [asan] fix asan-vs-gvn.ll test (it did not actually check much before this ↵Kostya Serebryany2012-02-141-4/+17
| | | | | | change) llvm-svn: 150441
* Link together the call operator produced from transforming a lambdaDouglas Gregor2012-02-143-24/+99
| | | | | | | | expression with the original call operator, so that we don't try to separately instantiate the call operator. Test and tweak a few more bits for template instantiation of lambda expressions. llvm-svn: 150440
* Add simplifyLoopLatch to LoopRotate pass.Andrew Trick2012-02-142-0/+142
| | | | | | This folds a simple loop tail into a loop latch. It covers the common (in fortran) case of postincrement loops. It's a "free" way to expose this type of loop to downstream loop optimizations that bail out on non-canonical loops (getLoopLatch is a heavily used check). llvm-svn: 150439
* whitespaceAndrew Trick2012-02-141-30/+30
| | | | llvm-svn: 150438
* Don't reserve the R0 and R1 registers here. We don't use these registers, andBill Wendling2012-02-132-4/+15
| | | | | | | marking them as "live-in" into a BB ruins some invariants that the back-end tries to maintain. llvm-svn: 150437
* Don't recalculate the size of the vector each time through the loop.Bill Wendling2012-02-131-2/+2
| | | | llvm-svn: 150436
* Mark the cxa_guard_{abort,acquire,release} functions nounwind.Nick Lewycky2012-02-131-3/+6
| | | | llvm-svn: 150435
* Make operands for VSWP read-modify-write.Lang Hames2012-02-131-4/+6
| | | | llvm-svn: 150433
* Revert "CodeGen: Maintain a valid CFG during code generation"Tobias Grosser2012-02-131-57/+56
| | | | | | This commit contained some bugs. Revert it until I get around to fix them. llvm-svn: 150431
* ScheduleOptimizer: Change vars to start with uppercase letterTobias Grosser2012-02-131-34/+34
| | | | llvm-svn: 150430
* Add register mask support to ScheduleDAGRRList.Jakob Stoklund Olesen2012-02-131-11/+49
| | | | | | | | | The scheduler will sometimes check the implicit-def list on instructions to properly handle pre-colored DAG edges. Also check any register mask operands for physreg clobbers. llvm-svn: 150428
* Add a test case for completion from 'settings set target.exec' to 'settings ↵Johnny Chen2012-02-131-0/+4
| | | | | | set target.exec-search-paths '. llvm-svn: 150427
* Full core file support has been added for mach-o core files.Greg Clayton2012-02-1334-764/+1088
| | | | | | | | | | | | | | | | Tracking modules down when you have a UUID and a path has been improved. DynamicLoaderDarwinKernel no longer parses mach-o load commands and it now uses the memory based modules now that we can load modules from memory. Added a target setting named "target.exec-search-paths" which can be used to supply a list of directories to use when trying to look for executables. This allows one or more directories to be used when searching for modules that may not exist in the SDK/PDK. The target automatically adds the directory for the main executable to this list so this should help us in tracking down shared libraries and other binaries. llvm-svn: 150426
* Check against umin while converting fcmp into an icmp.Devang Patel2012-02-132-0/+46
| | | | llvm-svn: 150425
* Just like in regular escape analysis, loads and stores throughDan Gohman2012-02-132-0/+61
| | | | | | | (but not of) a block pointer do not cause the block pointer to escape. This fixes rdar://10803830. llvm-svn: 150424
* ThreadSanitizer, a race detector. First LLVM commit.Kostya Serebryany2012-02-137-0/+200
| | | | | | | Clang patch (flags) will follow shortly. The run-time library will also follow, but not immediately. llvm-svn: 150423
* Tightened up type uniq'ing so we don't uniq twoSean Callanan2012-02-131-0/+1
| | | | | | | anonymous types to each other unless they have the same byte_size. llvm-svn: 150422
* Bump version number up to 115.Jason Molenda2012-02-132-16/+16
| | | | llvm-svn: 150421
* Deal with a horrible C++11 special case. If a non-literal type has a constexprRichard Smith2012-02-1313-46/+179
| | | | | | | | | | | constructor, and that constructor is used to initialize an object of static storage duration such that all members and bases are initialized by constant expressions, constant initialization is performed. In this case, the object can still have a non-trivial destructor, and if it does, we must emit a dynamic initializer which performs no initialization and instead simply registers that destructor. llvm-svn: 150419
* Add a subgroup of -Wreturn-type, -Wreturn-type-c-linkage.Matt Beaumont-Gay2012-02-132-2/+3
| | | | llvm-svn: 150418
* Introduce support for template instantiation of lambdaDouglas Gregor2012-02-1311-100/+376
| | | | | | | | | | | | | | | | | | expressions. This is mostly a simple refact, splitting the main "start a lambda expression" function into smaller chunks that are driven either from the parser (Sema::ActOnLambdaExpr) or during AST transformation (TreeTransform::TransformLambdaExpr). A few minor interesting points: - Added new entry points for TreeTransform, so that we can explicitly establish the link between the lambda closure type in the template and the lambda closure type in the instantiation. - Added a bit into LambdaExpr specifying whether it had an explicit result type or not. We should have had this anyway. This code is 'lightly' tested. llvm-svn: 150417
* v2f16 is a floating point type. Add symbolic floating point type ranges to ↵Owen Anderson2012-02-131-2/+9
| | | | | | prevent this kind of issue in the future. llvm-svn: 150416
* modern objc translator. More ivar rewrite work.Fariborz Jahanian2012-02-131-14/+17
| | | | llvm-svn: 150415
* [asan] implement __asan_set_death_callbackKostya Serebryany2012-02-136-24/+49
| | | | llvm-svn: 150414
* objc modern translator. ivar offset symbols.Fariborz Jahanian2012-02-131-2/+40
| | | | llvm-svn: 150413
* [analyzer] Malloc Checker: realloc: correct the way we are handing theAnna Zaks2012-02-132-8/+60
| | | | | | case when size is 0. llvm-svn: 150412
* LiveIntervalAnalysis does not depend on MachineLoopInfo.Andrew Trick2012-02-131-4/+2
| | | | llvm-svn: 150411
* Add a script that produces a list of all diagnostics that are defined inDmitri Gribenko2012-02-131-0/+19
| | | | | | Diagnostic*.td files but not used in sources. llvm-svn: 150410
* Remove unused diagnostics from include/clang/Basic/Diagnostic*.td files.Dmitri Gribenko2012-02-139-188/+3
| | | | llvm-svn: 150409
* Don't route explicit construction via list-initialization through the ↵Sebastian Redl2012-02-134-21/+56
| | | | | | functional cast code path. It sometimes does the wrong thing, produces horrible error messages, and is just unnecessary. llvm-svn: 150408
* Sink variable into assertMatt Beaumont-Gay2012-02-131-2/+2
| | | | llvm-svn: 150407
* objective-c translator: more rewriting of ivar typesFariborz Jahanian2012-02-131-8/+29
| | | | | | into a c-type which closely matches the objective-c type. llvm-svn: 150406
* add LLVM_VERSION_MAJOR and _MINOR definesDylan Noblesmith2012-02-138-4/+45
| | | | | | | | | | | | This is useful for clients that want to maintain compatibility across multiple releases of LLVM. Currently users like Klee and Mesa all have to roll their own 'parse llvm-config --version output and generate defines' solution. Also reuse the new macros so that version information is less redundant/likely to fall out of sync again in the future. llvm-svn: 150405
* Check regmask interference for -join-physregs.Jakob Stoklund Olesen2012-02-131-0/+8
| | | | llvm-svn: 150404
* When generating diagnostic information due to a clang failure, allow multipleChad Rosier2012-02-131-9/+10
| | | | | | | | | -arch options if the're all the same. Patch by Jeremy Huddleston. rdar://10849701 llvm-svn: 150403
* [analyzer] Malloc checker: rework realloc handling:Anna Zaks2012-02-133-47/+107
| | | | | | | | | | | | | | | | | | | 1) Support the case when realloc fails to reduce False Positives. (We essentially need to restore the state of the pointer being reallocated.) 2) Realloc behaves differently under special conditions (from pointer is null, size is 0). When detecting these cases, we should consider under-constrained states (size might or might not be 0). The old version handled this in a very hacky way. The code did not differentiate between definite and possible (no consideration for under-constrained states). Further, after processing each special case, the realloc processing function did not return but chained to the next special case processing. So you could end up in an execution in which you first see the states in which size is 0 and realloc ~ free(), followed by the states corresponding to size is not 0 followed by the evaluation of the regular realloc behavior. llvm-svn: 150402
* Split the storage of lambda information between the LambdaExpr and theDouglas Gregor2012-02-134-131/+95
| | | | | | | | | | | | CXXRecordDecl in a way that actually makes some sense: - LambdaExpr contains all of the information for initializing the lambda object, including the capture initializers and associated array index variables. - CXXRecordDecl's LambdaDefinitionData contains the captures, which are needed to understand the captured variable references in the body of the lambda. llvm-svn: 150401
* Fix compilation on Mac.Alexander Potapenko2012-02-131-0/+1
| | | | llvm-svn: 150400
* Lint fixAlexander Potapenko2012-02-131-2/+2
| | | | llvm-svn: 150399
* Move the non-trivial implementation of AsanShadowRangeIsAvailable to asan_mac.ccAlexander Potapenko2012-02-135-37/+48
| | | | | | to avoid crashes on Linux and Win. llvm-svn: 150398
* Remove empty directories.Benjamin Kramer2012-02-130-0/+0
| | | | llvm-svn: 150397
* Keep track of the set of array index variables we use when weDouglas Gregor2012-02-137-15/+92
| | | | | | | synthesize a by-copy captured array in a lambda. This information will be needed by IR generation. llvm-svn: 150396
* Remove empty directories left behind by git-svn.Benjamin Kramer2012-02-130-0/+0
| | | | llvm-svn: 150395
OpenPOWER on IntegriCloud