Kostya Serebryany
d18cb502bd
use EP_OptimizerLast instead of EP_ScalarOptimizerLate for ThreadSanitizer
...
llvm-svn: 153356
2012-03-23 23:25:23 +00:00
Kostya Serebryany
28a7a1198b
Add a flag -fthread-sanitizer.
...
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
2012-03-01 22:27:08 +00:00
Chad Rosier
b1cfc6864f
Allocate TargetLibraryInfo for the CodeGen passes. Otherwise, it's instantiated
...
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
2012-02-29 20:14:59 +00:00
Chad Rosier
e2c4506979
Prevent llvm.lifetime intrinsics from being emitted at -O0.
...
rdar://10921594
llvm-svn: 151430
2012-02-25 02:56:13 +00:00
David Blaikie
09d20eefaa
Make use of const-correct ParseCommandLineOptions
...
llvm-svn: 150000
2012-02-07 19:36:38 +00:00
Bill Wendling
d5a2f4406e
Reserve a moderate amount of space for the back-end arguments.
...
llvm-svn: 149973
2012-02-07 09:05:34 +00:00
Bob Wilson
14adb360a7
Fix -ftrap-function fallout from llvm r145714. <rdar://problem/10799325>
...
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
2012-02-03 06:27:22 +00:00
Nick Lewycky
1c8c436a85
Add support for -fno-optimize-sibling-calls. Currently only implemented in the
...
X86 backend in LLVM.
llvm-svn: 148689
2012-01-23 08:29:12 +00:00
Dan Gohman
5932ce257f
Enable the new ObjC ARC autorelease pool elimination pass.
...
llvm-svn: 148331
2012-01-17 20:54:51 +00:00
Chad Rosier
1332d9b26a
Per discussion on the list, remove BitcodeVerify pass to reimplement as a free function.
...
llvm-svn: 146530
2011-12-14 00:29:23 +00:00
Chad Rosier
c4399f779b
Add frontend flags to enable bitcode verifier pass.
...
llvm-svn: 146441
2011-12-12 23:05:47 +00:00
Nick Lewycky
f4d3f7a0b9
Stack realignment is a tristate. Add -mno-stackrealign to turn off all stack
...
realignment, even with locals with alignment exceeding the ABI guarantee.
llvm-svn: 145909
2011-12-06 03:33:03 +00:00
Joerg Sonnenberger
db66ed0e4c
Add -mstack-alignment=X and fix -mstackrealign handling now that the
...
backend options are gone.
llvm-svn: 145868
2011-12-05 23:05:23 +00:00
Nick Lewycky
432add5b8f
Update for change to LLVM TargetMachine API in r145714.
...
llvm-svn: 145715
2011-12-02 22:17:00 +00:00
Kostya Serebryany
d47685769e
make asan work at -O0, clang part. Patch by glider@google.com
...
llvm-svn: 145531
2011-11-30 22:20:21 +00:00
Kostya Serebryany
c3333e879f
implement __has_feature(address_sanitizer); also use LangOpts.AddressSanitizer instead of CodeGenOpts.AddressSanitizer
...
llvm-svn: 145054
2011-11-22 01:28:36 +00:00
Kostya Serebryany
8855ff61cb
Add -f[no-]address-sanitizer flag
...
llvm-svn: 144800
2011-11-16 17:34:26 +00:00
Evan Cheng
dd286bce2c
Match LLVM API change.
...
llvm-svn: 144789
2011-11-16 08:38:55 +00:00
Nick Lewycky
dd424a5bc4
Turn on the new .file directive when appropriate, instead of turning it off.
...
llvm-svn: 143327
2011-10-31 01:06:42 +00:00
Nick Lewycky
1d617acef9
Wire up support for the controlling the extended dwarf .file directive. With
...
r142300 but not this patch, clang -S may emit .s files that assemblers other
than llvm-mc can't parse.
llvm-svn: 142301
2011-10-17 23:05:52 +00:00
David Blaikie
9c902b5502
Rename Diagnostic to DiagnosticsEngine as per issue 5397
...
llvm-svn: 140478
2011-09-25 23:23:43 +00:00
Chad Rosier
ba3df1d3ca
[driver] Add -mglobal-merge/-mno-global-merge machine options to enable/disable merging of
...
globals during codegen.
Fixes <rdar://problem/10017909>.
llvm-svn: 138612
2011-08-26 00:26:29 +00:00
Evan Cheng
494eb062b5
Match LLVM change: TargetRegistry and TargetSelect have been moved to Support.
...
llvm-svn: 138451
2011-08-24 18:09:14 +00:00
Rafael Espindola
56a7dab0c4
Update for LLVM change in PassManagerBuilder.
...
llvm-svn: 136728
2011-08-02 21:51:02 +00:00
Benjamin Kramer
0d3d777041
Unbreak build after API change.
...
llvm-svn: 135585
2011-07-20 14:43:06 +00:00
Evan Cheng
3f37dd065b
Match createTargetMachine API change.
...
llvm-svn: 135469
2011-07-19 06:37:41 +00:00
Dan Gohman
fec0ff84dc
Add the ObjC ARC optimization passes manually, now that they're not
...
hardwired into the default pass list.
llvm-svn: 134445
2011-07-05 22:02:36 +00:00
Evan Cheng
adc7959851
createTargetMachine now takes a CPU string.
...
llvm-svn: 134128
2011-06-30 02:06:32 +00:00
Evan Cheng
eeb486dda5
SubtargetFeature.h has been moved to MC.
...
llvm-svn: 134050
2011-06-29 01:14:32 +00:00
Nick Lewycky
ca6b90d8af
Add support for -Wa,--noexecstack when building from a non-assembly file. For
...
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
2011-06-21 00:14:18 +00:00
Rafael Espindola
c1ee12c952
Update for llvm api change.
...
llvm-svn: 132034
2011-05-25 03:44:55 +00:00
Chris Lattner
ecf0ba5bde
adjust to mainline api change.
...
llvm-svn: 131815
2011-05-21 23:50:44 +00:00
Chris Lattner
5c12367b44
switch clang off StandardPasses.h onto PassManagerBuilder.h
...
llvm-svn: 131808
2011-05-21 20:40:11 +00:00
Bill Wendling
28b9e8b3a8
Conditionalize the use of 4.4 or 4.2 format based on the target.
...
<rdar://problem/8107317>
llvm-svn: 131504
2011-05-17 23:06:23 +00:00
Rafael Espindola
e264187cf2
Implement -fno-dwarf2-cfi-asm.
...
llvm-svn: 130616
2011-04-30 18:35:43 +00:00
Bob Wilson
9a5f84facb
Add -Oz option and use it to set the inline threshold to 25.
...
Radar 9333566. Patch by Chad Rosier!
llvm-svn: 130554
2011-04-29 22:49:50 +00:00
Nick Lewycky
207bce31e1
Wire up the -ftest-coverage and -fprofile-arcs flags to .gcno file emission (at
...
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
2011-04-21 23:44:07 +00:00
Andrew Trick
15e36e8edd
Added *hidden* flags -print-options and -print-all-options so
...
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
2011-04-05 18:56:55 +00:00
Andrew Trick
b2a84726f6
whitespace
...
llvm-svn: 128908
2011-04-05 18:49:32 +00:00
Sandeep Patel
45df3dd3fe
Set AAPCS-VFP calling convention accordingly and hard float ABI command handling.
...
llvm-svn: 128866
2011-04-05 00:23:47 +00:00
Daniel Dunbar
67919b2a5b
Integrated-As: Support -Wa,-L when using the integrated assembler.
...
llvm-svn: 128433
2011-03-28 22:49:28 +00:00
Daniel Dunbar
12100e2c7f
Frontend: Add a more explicit -backend-option flag for passing backend command
...
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
2011-03-22 16:48:17 +00:00
Chris Lattner
fa222dfbed
If -fno-builtin is passed, tell TargetLibraryInfo to
...
turn off all builtin optimizations.
llvm-svn: 125979
2011-02-18 22:34:47 +00:00
Chris Lattner
d98cec5ca2
install a TargetLibraryInfo configured with the appropriate
...
target triple. This would be a decent place to add -fno-builtin
info for example.
llvm-svn: 125971
2011-02-18 22:20:38 +00:00
Peter Collingbourne
422542625b
Implement -cl-mad-enable
...
llvm-svn: 120881
2010-12-04 01:51:33 +00:00
Peter Collingbourne
b8d9995c0e
Implement -cl-unsafe-math-optimizations
...
llvm-svn: 120879
2010-12-04 01:51:14 +00:00
Peter Collingbourne
0ba5ac8544
Implement -cl-finite-math-only
...
llvm-svn: 120878
2010-12-04 01:51:05 +00:00
Daniel Dunbar
195fa00399
IRgen: Change CodeGenPasses to be a PassManager, so it can have CallGraphSCC or
...
Module. Patch by Mike Gist!
llvm-svn: 114171
2010-09-17 07:35:16 +00:00
Daniel Dunbar
bb7ac52e02
Driver/IRgen: Add support for -momit-leaf-frame-pointer.
...
llvm-svn: 107367
2010-07-01 01:31:45 +00:00
Chandler Carruth
8509824cdb
Move CodeGenOptions.h *back* into Frontend. This should have been done when the
...
dependency edge was reversed such that CodeGen depends on Frontend.
llvm-svn: 106065
2010-06-15 23:19:56 +00:00