about summary refs log tree commit diff homepage
path: root/lib/Module/Optimize.cpp
AgeCommit message (Collapse)Author
2024-02-16drop llvm 9 and 10Daniel Schemmel
2024-02-08Refactor invocation of old pass manager into legacy functionMartin Nowack
2023-04-06Support disabling compiler warnings; Use with external headersMartin Nowack
2022-06-30remove LLVM < 9Frank Busse
2022-03-17remove LLVM < 6 from sourcesFrank Busse
2020-12-04llvm11: IPConstantPropagationPass has been removedLukas Zaoral
See: https://reviews.llvm.org/D84447
2020-04-30Moved header files that were placed directly in include/klee/ into ↵Cristian Cadar
appropriate existing directories and a new directory Statistics; a few missing renames.
2019-03-21drop support for LLVM <= 3.7Julian Büning
2019-03-21remove obsolete LegacyLLVMPassManagerTyJulian Büning
2019-03-17run VerifierPass after optimization and instrumentationJulian Büning
2019-03-15Moved the options in Optimize.cpp to the module categoryCristian Cadar
2019-03-12Removed unneeded and confusing disable-opt option, reformatted Optimize() ↵Cristian Cadar
function and updated some .ll tests to use --optimize=false instead of --disable-opt
2019-03-05workaround for LLVM PR39177Julian Büning
provides a workaround for LLVM bug PR39177, which affects LLVM versions 3.9 - 7.0.0: https://bugs.llvm.org/show_bug.cgi?id=39177 This commit is intended to be reverted once support for LLVM versions <= 7 is dropped from KLEE.
2018-10-26llvm7: handle new header filesJiri Slaby
createLowerSwitchPass moved in llvm commit 49ca55e3813c to Utils.h. createInstructionCombiningPass moved in llvm commitb5b7fce64c1d to InstCombine.h. So add the includes where needed. Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2018-09-14llvm: make KLEE compile against LLVM 3.9Jiri Slaby
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2018-07-12llvm38: handle optimization passes changesJiri Slaby
createFunctionAttrsPass was split to createPostOrderFunctionAttrsPass and createReversePostOrderFunctionAttrsPass in LLVM commit e96fb9ab15d4. createGlobalsModRefPass was changed to createGlobalsAAWrapperPass in LLVM commit 9146833fa313. Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2018-07-04Reorder linking and optimizationsMartin Nowack
Link intrinsic library before executing optimizations. This makes sure that any optimization run by KLEE on the module is executed for the intrinsic library as well. Support .ll files as input for KLEE as well.
2018-05-24llvm: make KLEE compile against LLVM 3.7Richard Trembecký
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2017-07-23Remove support for LLVM < 3.4Martin Nowack
Request LLVM 3.4 as minimal requirement for KLEE
2017-06-16llvm37: introduce type for PassManagerJiri Slaby
In LLVM 3.7, PassManager was moved to the legacy:: namespace. Introduce a type for it and use it in the code. Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2017-05-24llvm: make KLEE compile against LLVM 3.5 and 3.6Richard Trembecký
Based on work by @ccadeptic23 and @delcypher. Formatting fixed by @snf. Fix compiler warning by @martijnthe. Further fixes by @mchalupa. Refactored, so that changes can be reviewed -- no massive changes in whitespace and in the surrounding code. Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2016-09-16Avoid internalization of non-standard entry point (i.e. not the main ↵Andrea Mattavelli
function) (#455)
2014-09-14Fix LLVM3.5 compilation. This is due to r202168Dan Liew
2014-09-14[LLVM3.5] Drop use of PassNameParser, which we don't even use anymore.Daniel Dunbar
2014-09-14[LLVM3.5] Update for more random headers moving around.Daniel Dunbar
2014-05-29Remove #include <iostream> to avoid static constructorsMartin Nowack
iostream injects static constructor function into every compilation unit. Remove this to avoid it.
2014-05-29Refactoring from std::ostream to llvm::raw_ostreamMartin Nowack
According to LLVM: lightweight and simpler implementation of streams.
2014-04-14Do not add SimplifyLibCallsPass for LLVM 3.4 and newer becauseDan Liew
it has been removed. From the LLVM 3.4 release notes: " The library call simplification pass has been removed. Its functionality has been integrated into the instruction combiner and function attribute marking passes. "
2013-12-06Deprecate LLVM 2.8 and lowerMartin Nowack
2013-08-27Port to LLVM 3.3Martin Nowack
Major changes are: - Switching to llvm-link to build archive files - Use GetMallocUsage instead of GetTotalMemoryUsage (be aware of bug in LLVM 3.3 http://llvm.org/bugs/show_bug.cgi?id=16847) - intrinsic library functions like memcpy/mov/set use weak linkage to be replaced by e.g. uclibc functions - rewrote linking with library - enhanced MemoryLimit test case to check if mallocs were successful
2013-04-05Fixed error that I introduced by mistake in the last commit (thanks again to ↵Cristian Cadar
Michael Contreras) git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@178863 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-04Patch by Michael Contreras and Jiri Slaby for compiling KLEE with LLVM 3.2Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@178759 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27Patch sent by both Bogdan Copos and Nick Sumner fixing compilation with LLVM 3.1Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@168695 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-08Make the changes in r165394 be conditional on post LLVM 3.1 changes.Micah Villmow
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@165405 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-08Move TargetData to DataLayout.Micah Villmow
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@165394 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-09Disable the LowerSetJmpPass on LLVM 3.0+Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@137116 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-20Updates for LLVM 3.0. Based on changes by arrowdodger, thanks!Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@135598 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-20Deprecate LLVM_VERSION_MAJOR and LLVM_VERSION_MINOR in favour ofPeter Collingbourne
version codes. This makes the preprocessor-based version tests more concise and less error prone. Also, fix the version tests in lib/Expr/Parser.cpp (immutable zext and trunc were introduced in LLVM 2.9); now 2.9 passes "make test". git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@135583 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-23Patch by arrowdodger ↵Cristian Cadar
(http://keeda.stanford.edu/pipermail/klee-dev/2011-April/000617.html) for compiling KLEE with the latest LLVM changes. Tested against LLVM 2.7 and 2.8. The AsmAddresses test fails in 2.8 unless assertions are explicitely enabled (--enable-assertions). git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@130065 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22Disable loop index split pass for LLVM 2.9+Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@117117 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Update for 2.7.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@98467 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-21Initial KLEE checkin.Daniel Dunbar
- Lots more tweaks, documentation, and web page content is needed, but this should compile & work on OS X & Linux. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72205 91177308-0d34-0410-b5e6-96231b3b80d8