aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend/Backend.cpp
AgeCommit message (Collapse)Author
2010-02-25Frontend: Pull CodeGenAction out more, and eliminate CreateBackendConsumer.Daniel Dunbar
This is the way I would like to move the frontend function towards -- distinct pieces of functionality should be exposed only via FrontendAction implementations which have clean and relatively-stable APIs. This also isolates the surface area in clang which depends on LLVM CodeGen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97110 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-05Tweak inliner thresholds to match llvm-gcc, see r95321.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95379 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-03update for llvm api change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95203 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-03clang -cc1: Wire up -emit-obj, for emitting object files.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95182 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02update for llvm api changes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95125 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02update for llvm api change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95110 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27Remove ModuleProviders from clang after r94686 removed them from LLVM.Jeffrey Yasskin
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94688 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-12Backend: Switch to using TargetOptions or TargetMachine to set some options ↵Daniel Dunbar
instead of llvm::cl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91229 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-08Increase inlining threshold at -O3, to match llvm-gcc.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90897 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04PR5684: Fix refacto, the backend consumer was copying the Diagnostic object,Daniel Dunbar
which meant that hasErrorOccurred() checks to prevent codegen-on-invalid weren't working. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90560 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Fix BackendConsumer to use proper diagnostics.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90433 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30Add CodeGenOptions::{SoftFloat,FloatABI}, and update the all the (far too ↵Daniel Dunbar
many) places to use this instead of using the backend -soft-float and -float-abi= options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90127 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30Eliminate CodeGenOptions::TimePasses.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90118 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30Eliminate CodeGenOptions::SimplifyLibCalls.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90117 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29Move LLVM backend options to explicit clang-cc / clang -cc1 options, which ↵Daniel Dunbar
we then manually pass to the command line library; eventually the latter grossness should be fixed by a real API when creating the target machine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90063 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-28Remove VISIBILITY_HIDDEN from anonymous namespaces in libFrontend.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90033 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15Add TargetOptions and use it when constructing targets.Daniel Dunbar
- This ended up being hard to factor, sorry for the large diff. - Some post-commit cleanup to come. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-12Move CompileOptions -> CodeGenOptions, and sink it into the CodeGen library.Chandler Carruth
This resolves the layering violation where CodeGen depended on Frontend. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86998 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Localize -disable-llvm-optzns handling to BackendConsumer::CreatePasses.Daniel Dunbar
- This is conceptually better since the only thing we want this option to do is preserve the internal module as constructed by IRgen, before running any passes. - This also fixes bugs in -disable-llvm-optzns handling with regards to debug info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86691 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-26Pass the formatted_raw_ostream to createPrintModulePass andDan Gohman
createBitcodeWriterPass instead of the underlying raw_ostream. This avoids trouble with formatted_raw_ostream's behavior of setting the underlying stream to be unbuffered, which resulted in clang -emit-llvm -S using unbuffered output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82857 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09Remove tabs, and whitespace cleanups.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23use errs() instead of cerr.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79829 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04Update for LLVM API changeDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78044 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-03Update for LLVM API change.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77952 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-03Update for LLVM API change.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77947 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29Don't use a formatted ostream when writing .ll either.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77474 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29Don't use a formatted ostream when writing .bc files. I don't really understandDaniel Dunbar
this interface design, Chris please check. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77473 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-26Update for API change.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77112 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-26Lookup targets by Triple instead of Module.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77108 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15Reapply r75764: [llvm up] Switch to using the new TargetRegistryDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15Revert r75764 "[llvm up] Switch to using the new TargetRegistry" to fix build.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75814 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15[llvm up] Switch to using the new TargetRegistry.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75764 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-14fix fallout of the LLVM codegen switching to formatted_raw_ostream.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75675 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-01Update for changes in LLVM. Hopefully this is the last one for a while.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74657 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-01Hold the LLVMContext by reference instead of by pointer.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74642 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-01Update for LLVMContext+Module change.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74615 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-11PR4371: Reduce the inlining threshold outside of -O3. This makes Eli Friedman
the clang inlining threshold consistent with the threshold for llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73204 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03(llvm up) Switch to using StandardPasses.hDaniel Dunbar
- One functionality change, the LoopIndexSplit pass is now reenabled (it was disabled in r60089 but we forgot to reenable it). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72787 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-02Add clang-cc support for -disable-llvm-optzns.Daniel Dunbar
- Avoids running any LLVM optimizations, even at -O2, etc., while still keeping any language changes these optimizations imply. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Unbreak the clang build by applying the same temporaryDuncan Sands
workaround for machine code emitter changes as was used in llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72657 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-18Move ASTConsumers.h to include/clang/Frontend, and move the associated Eli Friedman
.cpp files to lib/Frontend. (As proposed on cfe-dev.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72060 91177308-0d34-0410-b5e6-96231b3b80d8