summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/BackendUtil.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a flag -fthread-sanitizer.Kostya Serebryany2012-03-011-1/+13
| | | | | | | | | | This flag enables ThreadSanitizer instrumentation committed to llvm as r150423. The patch includes one test for -fthread-sanitizer and one similar test for -faddress-sanitizer. This patch does not modify the linker flags (as we do it for -faddress-sanitizer) because the run-time library is not yet committed and it's structure in compiler-rt is not 100% clear. The users manual wil be changed in a separate commit. llvm-svn: 151846
* Allocate TargetLibraryInfo for the CodeGen passes. Otherwise, it's instantiatedChad Rosier2012-02-291-0/+6
| | | | | | | | | by the BAA pass, which uses the default TargetLibraryInfo constructor. Unfortunately, the default TargetLibraryInfo constructor assumes all library calls are available and thus ignores -fno-builtin. rdar://10947759 llvm-svn: 151745
* Prevent llvm.lifetime intrinsics from being emitted at -O0.Chad Rosier2012-02-251-1/+5
| | | | | | rdar://10921594 llvm-svn: 151430
* Make use of const-correct ParseCommandLineOptionsDavid Blaikie2012-02-071-3/+2
| | | | llvm-svn: 150000
* Reserve a moderate amount of space for the back-end arguments.Bill Wendling2012-02-071-0/+1
| | | | llvm-svn: 149973
* Fix -ftrap-function fallout from llvm r145714. <rdar://problem/10799325>Bob Wilson2012-02-031-0/+1
| | | | | | | | | That llvm change removed the -trap-func backend option, so that using -ftrap-function with clang would cause the backend to complain. Fix it by adding the trap function name to the CodeGenOptions and passing it through to the TargetOptions. llvm-svn: 149679
* Add support for -fno-optimize-sibling-calls. Currently only implemented in theNick Lewycky2012-01-231-0/+1
| | | | | | X86 backend in LLVM. llvm-svn: 148689
* Enable the new ObjC ARC autorelease pool elimination pass.Dan Gohman2012-01-171-0/+7
| | | | llvm-svn: 148331
* Per discussion on the list, remove BitcodeVerify pass to reimplement as a ↵Chad Rosier2011-12-141-3/+0
| | | | | | free function. llvm-svn: 146530
* Add frontend flags to enable bitcode verifier pass.Chad Rosier2011-12-121-0/+3
| | | | llvm-svn: 146441
* Stack realignment is a tristate. Add -mno-stackrealign to turn off all stackNick Lewycky2011-12-061-5/+2
| | | | | | realignment, even with locals with alignment exceeding the ABI guarantee. llvm-svn: 145909
* Add -mstack-alignment=X and fix -mstackrealign handling now that theJoerg Sonnenberger2011-12-051-0/+5
| | | | | | backend options are gone. llvm-svn: 145868
* Update for change to LLVM TargetMachine API in r145714.Nick Lewycky2011-12-021-34/+37
| | | | llvm-svn: 145715
* make asan work at -O0, clang part. Patch by glider@google.comKostya Serebryany2011-11-301-0/+2
| | | | llvm-svn: 145531
* implement __has_feature(address_sanitizer); also use ↵Kostya Serebryany2011-11-221-1/+1
| | | | | | LangOpts.AddressSanitizer instead of CodeGenOpts.AddressSanitizer llvm-svn: 145054
* Add -f[no-]address-sanitizer flagKostya Serebryany2011-11-161-0/+10
| | | | llvm-svn: 144800
* Match LLVM API change.Evan Cheng2011-11-161-9/+10
| | | | llvm-svn: 144789
* Turn on the new .file directive when appropriate, instead of turning it off.Nick Lewycky2011-10-311-2/+2
| | | | llvm-svn: 143327
* Wire up support for the controlling the extended dwarf .file directive. WithNick Lewycky2011-10-171-0/+2
| | | | | | | r142300 but not this patch, clang -S may emit .s files that assemblers other than llvm-mc can't parse. llvm-svn: 142301
* Rename Diagnostic to DiagnosticsEngine as per issue 5397David Blaikie2011-09-251-3/+4
| | | | llvm-svn: 140478
* [driver] Add -mglobal-merge/-mno-global-merge machine options to ↵Chad Rosier2011-08-261-0/+2
| | | | | | | | | enable/disable merging of globals during codegen. Fixes <rdar://problem/10017909>. llvm-svn: 138612
* Match LLVM change: TargetRegistry and TargetSelect have been moved to Support.Evan Cheng2011-08-241-1/+1
| | | | llvm-svn: 138451
* Update for LLVM change in PassManagerBuilder.Rafael Espindola2011-08-021-1/+5
| | | | llvm-svn: 136728
* Unbreak build after API change.Benjamin Kramer2011-07-201-6/+7
| | | | llvm-svn: 135585
* Match createTargetMachine API change.Evan Cheng2011-07-191-11/+13
| | | | llvm-svn: 135469
* Add the ObjC ARC optimization passes manually, now that they're notDan Gohman2011-07-051-3/+33
| | | | | | hardwired into the default pass list. llvm-svn: 134445
* createTargetMachine now takes a CPU string.Evan Cheng2011-06-301-3/+3
| | | | llvm-svn: 134128
* SubtargetFeature.h has been moved to MC.Evan Cheng2011-06-291-1/+1
| | | | llvm-svn: 134050
* Add support for -Wa,--noexecstack when building from a non-assembly file. ForNick Lewycky2011-06-211-0/+2
| | | | | | | an assembly file it worked correctly, while for a .c file it would given an error about how --noexecstack is not a supported argument to -Wa. llvm-svn: 133489
* Update for llvm api change.Rafael Espindola2011-05-251-1/+0
| | | | llvm-svn: 132034
* adjust to mainline api change.Chris Lattner2011-05-211-11/+9
| | | | llvm-svn: 131815
* switch clang off StandardPasses.h onto PassManagerBuilder.hChris Lattner2011-05-211-36/+30
| | | | llvm-svn: 131808
* Conditionalize the use of 4.4 or 4.2 format based on the target.Bill Wendling2011-05-171-4/+6
| | | | | | <rdar://problem/8107317> llvm-svn: 131504
* Implement -fno-dwarf2-cfi-asm.Rafael Espindola2011-04-301-0/+2
| | | | llvm-svn: 130616
* Add -Oz option and use it to set the inline threshold to 25.Bob Wilson2011-04-291-1/+3
| | | | | | Radar 9333566. Patch by Chad Rosier! llvm-svn: 130554
* Wire up the -ftest-coverage and -fprofile-arcs flags to .gcno file emission (atNick Lewycky2011-04-211-0/+8
| | | | | | | | | compile time) and .gcda emission (at runtime). --coverage enables both. This does not yet add the profile_rt library to the link step if -fprofile-arcs is enabled when linking. llvm-svn: 129956
* Added *hidden* flags -print-options and -print-all-options soAndrew Trick2011-04-051-0/+3
| | | | | | | | | | | | | | | | | | | developers can see if their driver changed any cl::Option's. The current implementation isn't perfect but handles most kinds of options. This is nice to have when decomposing the stages of compilation and moving between different drivers. It's also a good sanity check when comparing results produced by different command line invocations that are expected to produce the comparable results. Note: This is not an attempt to prolong the life of cl::Option. On the contrary, it's a placeholder for a feature that must exist when cl::Option is replaced by a more appropriate framework. A new framework needs: a central option registry, dynamic name lookup, non-global containers of option values (e.g. per-module, per-function), *and* the ability to print options values and their defaults at any point during compilation. llvm-svn: 128911
* whitespaceAndrew Trick2011-04-051-3/+3
| | | | llvm-svn: 128908
* Set AAPCS-VFP calling convention accordingly and hard float ABI command ↵Sandeep Patel2011-04-051-1/+1
| | | | | | handling. llvm-svn: 128866
* Integrated-As: Support -Wa,-L when using the integrated assembler.Daniel Dunbar2011-03-281-0/+2
| | | | llvm-svn: 128433
* Frontend: Add a more explicit -backend-option flag for passing backend commandDaniel Dunbar2011-03-221-0/+2
| | | | | | | | line options, instead of leveraging the blanket -mllvm option. - This allows using the frontend itself without requiring the backend have those options available (i.e., if the target wasn't built). llvm-svn: 128087
* If -fno-builtin is passed, tell TargetLibraryInfo toChris Lattner2011-02-181-2/+9
| | | | | | turn off all builtin optimizations. llvm-svn: 125979
* install a TargetLibraryInfo configured with the appropriate Chris Lattner2011-02-181-3/+12
| | | | | | | target triple. This would be a decent place to add -fno-builtin info for example. llvm-svn: 125971
* Implement -cl-mad-enablePeter Collingbourne2010-12-041-0/+1
| | | | llvm-svn: 120881
* Implement -cl-unsafe-math-optimizationsPeter Collingbourne2010-12-041-0/+1
| | | | llvm-svn: 120879
* Implement -cl-finite-math-onlyPeter Collingbourne2010-12-041-0/+2
| | | | llvm-svn: 120878
* IRgen: Change CodeGenPasses to be a PassManager, so it can have CallGraphSCC orDaniel Dunbar2010-09-171-11/+5
| | | | | | Module. Patch by Mike Gist! llvm-svn: 114171
* Driver/IRgen: Add support for -momit-leaf-frame-pointer.Daniel Dunbar2010-07-011-1/+15
| | | | llvm-svn: 107367
* Move CodeGenOptions.h *back* into Frontend. This should have been done when theChandler Carruth2010-06-151-1/+1
| | | | | | dependency edge was reversed such that CodeGen depends on Frontend. llvm-svn: 106065
* Break Frontend's dependency on Rewrite, Checker and CodeGen in shared ↵Daniel Dunbar2010-06-151-0/+325
library configuration Currently, all AST consumers are located in the Frontend library, meaning that in a shared library configuration, Frontend has a dependency on Rewrite, Checker and CodeGen. This is suboptimal for clients which only wish to make use of the frontend. CodeGen in particular introduces a large number of unwanted dependencies. This patch breaks the dependency by moving all AST consumers with dependencies on Rewrite, Checker and/or CodeGen to their respective libraries. The patch therefore introduces dependencies in the other direction (i.e. from Rewrite, Checker and CodeGen to Frontend). After applying this patch, Clang builds correctly using CMake and shared libraries ("cmake -DBUILD_SHARED_LIBS=ON"). N.B. This patch includes file renames which are indicated in the patch body. Changes in this revision of the patch: - Fixed some copy-paste mistakes in the header files - Modified certain aspects of the coding to comply with the LLVM Coding Standards llvm-svn: 106010
OpenPOWER on IntegriCloud