path: root/tools/llvm-stress
AgeCommit message (Collapse)AuthorFilesLines
2014-04-29raw_ostream: Forward declare OpenFlags and include FileSystem.h only where ↵Benjamin Kramer1-0/+1
necessary. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-25[C++] Use 'nullptr'. Tools edition.Craig Topper1-2/+2
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-15verify-di: Implement DebugInfoVerifierDuncan P. N. Exon Smith1-0/+1
Implement DebugInfoVerifier, which steals verification relying on DebugInfoFinder from Verifier. - Adds LegacyDebugInfoVerifierPassPass, a ModulePass which wraps DebugInfoVerifier. Uses -verify-di command-line flag. - Change verifyModule() to invoke DebugInfoVerifier as well as Verifier. - Add a call to createDebugInfoVerifierPass() wherever there was a call to createVerifierPass(). This implementation as a module pass should sidestep efficiency issues, allowing us to turn debug info verification back on. <rdar://problem/15500563> git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-08[C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper1-11/+11
class. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-06Replace OwningPtr<T> with std::unique_ptr<T>.Ahmed Charles1-12/+12
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-04[Modules] Move the PassNameParser to the IR library as it deals in theChandler Carruth1-1/+1
PassInfo structures of the legacy pass manager. Also give it the Legacy prefix as it is not a particularly widely used header. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-24Replace the F_Binary flag with a F_Text one.Rafael Espindola1-1/+1
After this I will set the default back to F_None. The advantage is that before this patch forgetting to set F_Binary would corrupt a file on windows. Forgetting to set F_Text produces one that cannot be read in notepad, which is a better failure mode :-) git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-13[cleanup] Move the Dominators.h and Verifier.h headers into the IRChandler Carruth1-1/+1
directory. These passes are already defined in the IR library, and it doesn't make any sense to have the headers in Analysis. Long term, I think there is going to be a much better way to divide these matters. The dominators code should be fully separated into the abstract graph algorithm and have that put in Support where it becomes obvious that evn Clang's CFGBlock's can use it. Then the verifier can manually construct dominance information from the Support-driven interface while the Analysis library can provide a pass which both caches, reconstructs, and supports a nice update API. But those are very long term, and so I don't want to leave the really confusing structure until that day arrives. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-12[PM] Update one user of the printing pass API that I missed.Chandler Carruth1-1/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-12[PM] Rename the IR printing pass header to a more generic and correctChandler Carruth1-2/+2
name to match the source file which I got earlier. Update the include sites. Also modernize the comments in the header to use the more recommended doxygen style. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-07Move the LLVM IR asm writer header files into the IR directory, as theyChandler Carruth1-1/+1
are part of the core IR library in order to support dumping and other basic functionality. Rename the 'Assembly' include directory to 'AsmParser' to match the library name and the only functionality left their -- printing has been in the core IR library for quite some time. Update all of the #includes to match. All of this started because I wanted to have the layering in good shape before I started adding support for printing LLVM IR using the new pass infrastructure, and commandline support for the new pass infrastructure. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-10[CMake] Update LLVM_LINK_COMPONENTS for each CMakeLists.txt.NAKAMURA Takumi1-1/+5
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-05Correct word hyphenationsAlp Toker1-2/+2
This patch tries to avoid unrelated changes other than fixing a few hyphen-related ambiguities and contractions in nearby lines. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-05Export symbols in tools that support loading plugins.Will Dietz2-3/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-19[weak vtables] Place class definitions into anonymous namespaces to prevent ↵Juergen Ributzka1-32/+6
weak vtables. This patch places class definitions in implementation files into anonymous namespaces to prevent weak vtables. This eliminates the need of providing an out-of-line definition to pin the vtable explicitly to the file. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-19[weak vtables] Remove a bunch of weak vtablesJuergen Ributzka1-1/+30
This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. The memory leaks in this version have been fixed. Thanks Alexey for pointing them out. Differential Revision: Reviewed by Andy git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-18Revert r194865 and r194874.Alexey Samsonov1-39/+1
This change is incorrect. If you delete virtual destructor of both a base class and a subclass, then the following code: Base *foo = new Child(); delete foo; will not cause the destructor for members of Child class. As a result, I observe plently of memory leaks. Notable examples I investigated are: ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-15[weak vtables] Remove a bunch of weak vtablesJuergen Ributzka1-1/+39
This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. Differential Revision: Reviewed by Andy git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-19Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit."Andrew Trick1-4/+0
Working on a better solution to this. This reverts commit 7d4e9934e7ca83094c5cf41346966c8350179ff2. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-18Encapsulate PassManager debug flags to avoid static init and cxa_exit.Andrew Trick1-0/+4
This puts all the global PassManager debugging flags, like -print-after-all and -time-passes, behind a managed static. This eliminates their static initializers and, more importantly, exit-time destructors. The only behavioral change I anticipate is that tools need to initialize the PassManager before parsing the command line in order to export these options, which makes sense. Tools that already initialize the standard passes (opt/llc) don't need to do anything new. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-16Add a wrapper for open.Rafael Espindola1-1/+1
This centralizes the handling of O_BINARY and opens the way for hiding more differences (like how open behaves with directories). git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Manually update the dependencies in the Makefiles. It turns out that allChandler Carruth1-1/+1
that work on the LLVMBuild based dependency specification didn't actually work, we just now maintain dependencies in *3* places instead of 2. Yay. There may still be some missing dependencies, I'm still sifting through the bots and my builds, but this is a step in the right direction. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-26Fix auto_ptr is deprecated warningsMatt Arsenault1-11/+11
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-22Fix missed out llvm-stress after APFloat change.Tim Northover1-3/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-07Move CallGraphSCCPass.h into the Analysis tree; that's where theChandler Carruth1-1/+1
implementation lives already. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-02Move all of the header files which are involved in modelling the LLVM IRChandler Carruth1-4/+4
into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-04Sort the #include lines for tools/...Chandler Carruth1-8/+8
Again, tools are trickier to pick the main module header for than library source files. I've started to follow the pattern of using LLVMContext.h when it is included as a stub for program source files. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-29One more step towards making doInitialization and doFinalization useful forPedro Artigas1-2/+0
start up and clean up module passes, now that ASAN and TSAN are fixed the tests pass git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27Revert r168635 "Step towards implementation of pass manager with ↵Owen Anderson1-0/+2
doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model". It appears to have broken at least one buildbot. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-26Step towards implementation of pass manager with doInitialization and ↵Owen Anderson1-2/+0
doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model Patch by Pedro Artigas, with feedback from by Chandler Carruth. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-15Add doInitialization and doFinalization methods to ModulePass's, to allow ↵Owen Anderson1-0/+2
them to be re-initialized and reused on multiple Module's. Patch by Pedro Artigas. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-19Silence -Wnon-virtual-dtor in llvm-stress.Andrew Trick1-0/+4
This was making it hard to scan my builds for new warnings. The warning still fires with ToT clang. But if my workaround is unnecessary for whatever reason, feel free to revert. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-21llvm-stress: Stabalize (by using an ordered container) and add randomness to ↵Nadav Rotem1-9/+20
the order in which loops are generated. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-15Do not convert between fp128 <-> ppc_fp128 since there is no legal cast ↵Nadav Rotem1-9/+12
conversion between the two. Patch by nobled <> git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-10llvm-stress: stop abusing ConstantFP::get()Dylan Noblesmith1-5/+29
ConstantFP::get(Type*, double) is unreliably host-specific: it can't handle a type like PPC128 on an x86 host. It even has a comment to that effect: "This should only be used for simple constant values like 2.0/1.0 etc, that are known-valid both as host double and as the target format." Instead, use APFloat. While we're at it, randomize the floating point value more thoroughly; it was previously limited to the range 0 to 2**19 - 1. PR12451. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-10llvm-stress: don't make vectors of x86_mmx typeDylan Noblesmith1-1/+7
LangRef.html says: "There are no arrays, vectors or constants of this type." This was hitting assertions when passing the -generate-x86-mmx option. PR12452. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-29Fix some stray semi-colons.Daniel Dunbar1-3/+3
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-27Allow llvm-stress to optionally generate the other floating-point types ↵Hal Finkel1-14/+40
(half, ppcf128, mmx, etc.) git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26Add support for random constant vectors.Nadav Rotem1-1/+23
Patch by Joey Gouly. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26Style fix: Remove unneeded parentheses.Nadav Rotem1-2/+2
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26Fix a bug in the code that checks if a store value is a vector of i1sNadav Rotem1-1/+2
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26Fix compilation on MSVC. Rename "_BB" to "Block"Nadav Rotem1-2/+2
Thanks zygoloid. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26fix a copy-and-paste error in the docsNadav Rotem1-1/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26Add a random .LL file generator to stress-test different llvm components.Nadav Rotem4-0/+668
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8