#
fd8c079d |
| 14-Jan-2014 |
Alp Toker <alp@nuanti.com> |
Switch around the order of MSVCCompat and MicrosoftExt
Full language modes usually get listed before minor language extensions in LangOpts, so that subsequent sub-modes can predicate on the major mo
Switch around the order of MSVCCompat and MicrosoftExt
Full language modes usually get listed before minor language extensions in LangOpts, so that subsequent sub-modes can predicate on the major modes.
This also lends to a cleanup in CompilerInvocation to better indicate to the reader that MSVCCompat is a superset of MicrosoftExt.
Cleanup only.
llvm-svn: 199210
show more ...
|
#
bfa3934f |
| 14-Jan-2014 |
Alp Toker <alp@nuanti.com> |
Rename language option MicrosoftMode to MSVCCompat
There's been long-standing confusion over the role of these two options. This commit makes the necessary changes to differentiate them clearly, fol
Rename language option MicrosoftMode to MSVCCompat
There's been long-standing confusion over the role of these two options. This commit makes the necessary changes to differentiate them clearly, following up from r198936.
MicrosoftExt (aka. fms-extensions): Enable largely unobjectionable Microsoft language extensions to ease portability. This mode, also supported by gcc, is used for building software like FreeBSD and Linux kernel extensions that share code with Windows drivers.
MSVCCompat (aka. -fms-compatibility, formerly MicrosoftMode): Turn on a special mode supporting 'heinous' extensions for drop-in compatibility with the Microsoft Visual C++ product. Standards-compilant C and C++ code isn't guaranteed to work in this mode. Implies MicrosoftExt.
Note that full -fms-compatibility mode is currently enabled by default on the Windows target, which may need tuning to serve as a reasonable default.
See cfe-commits for the full discourse, thread 'r198497 - Move MS predefined type_info out of InitializePredefinedMacros'
No change in behaviour.
llvm-svn: 199209
show more ...
|
#
50501fbe |
| 13-Jan-2014 |
Hans Wennborg <hans@hanshq.net> |
Use the MS ABI for Win32 targets by default
In addition to being a sensible default, this is a huge improvement in test coverage for the MS ABI: any bot that targets Win32 will now run the test suit
Use the MS ABI for Win32 targets by default
In addition to being a sensible default, this is a huge improvement in test coverage for the MS ABI: any bot that targets Win32 will now run the test suite using the MS ABI by default.
Differential Revision: http://llvm-reviews.chandlerc.com/D2401
llvm-svn: 199131
show more ...
|
#
a7634471 |
| 07-Jan-2014 |
Adrian Prantl <aprantl@apple.com> |
Implement a new -fstandalone-debug option. rdar://problem/15685848 It controls everything that -flimit-debug-info used to, plus the vtable type optimization. The old -fno-limit-debug-info option is n
Implement a new -fstandalone-debug option. rdar://problem/15685848 It controls everything that -flimit-debug-info used to, plus the vtable type optimization. The old -fno-limit-debug-info option is now an alias to -fstandalone-debug and vice versa.
Standalone is the default on Darwin until dtrace is updated to work with non-standalone debug info (rdar://problem/15758808).
Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind because NoStandaloneDebugInfo sounded even more confusing.
llvm-svn: 198655
show more ...
|
#
6a9d2cfa |
| 06-Jan-2014 |
Justin Bogner <mail@justinbogner.com> |
Driver: Accept -fprofile-instr-use and -fprofile-instr-generate
These flags will be used for instrumentation based PGO.
llvm-svn: 198639
|
#
2588aa74 |
| 28-Dec-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Silence a dubious GCC warning about a set but unused global. Indeed, the purpose of this global is to be set and not used. =]
llvm-svn: 198094
|
#
ce2c726e |
| 27-Dec-2013 |
Kostya Serebryany <kcc@google.com> |
Bury leaked pointers in a global array to silence a leak detector in --disable-free mode
Summary: This is an alternative to http://llvm-reviews.chandlerc.com/D2475 suggested by Chandler.
Reviewers:
Bury leaked pointers in a global array to silence a leak detector in --disable-free mode
Summary: This is an alternative to http://llvm-reviews.chandlerc.com/D2475 suggested by Chandler.
Reviewers: chandlerc, rnk, dblaikie
CC: cfe-commits, earthdok
Differential Revision: http://llvm-reviews.chandlerc.com/D2478
llvm-svn: 198073
show more ...
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3 |
|
#
d5ba86be |
| 10-Dec-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[Driver] Rename '-objcmt-white-list-dir-path' option to '-objcmt-whitelist-dir-path' and add an alias for now.
llvm-svn: 196944
|
#
4f2ecc61 |
| 10-Dec-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[objcmt] Add a modernization option to infer and suggest designated initializers.
rdar://15509284
llvm-svn: 196943
|
#
f6a24ce4 |
| 05-Dec-2013 |
Alp Toker <alp@nuanti.com> |
Fix a tranche of comment, test and doc typos
llvm-svn: 196510
|
Revision tags: llvmorg-3.4.0-rc2 |
|
#
965f8825 |
| 27-Nov-2013 |
Alp Toker <alp@nuanti.com> |
Remove a whole lot of unused variables
There are about 30 removed in this patch, generated by a new FixIt I haven't got round to submitting yet.
llvm-svn: 195814
|
Revision tags: llvmorg-3.4.0-rc1 |
|
#
5abf2ec1 |
| 18-Nov-2013 |
Sylvestre Ledru <sylvestre@debian.org> |
Using an invalid -O falls back on -O3 instead of an error
Summary: Currently with clang: $ clang -O20 foo.c error: invalid value '20' in '-O20'
With the patch: $ clang -O20 foo.c warning: optimizat
Using an invalid -O falls back on -O3 instead of an error
Summary: Currently with clang: $ clang -O20 foo.c error: invalid value '20' in '-O20'
With the patch: $ clang -O20 foo.c warning: optimization level '-O20' is unsupported; using '-O3' instead. 1 warning generated.
This matches the gcc behavior (with a warning added)
Pass all tests: Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Testing Time: 94.14s Expected Passes : 6721 Expected Failures : 20 Unsupported Tests : 17
(which was not the case of http://llvm-reviews.chandlerc.com/D2125)
Differential Revision: http://llvm-reviews.chandlerc.com/D2212
llvm-svn: 195009
show more ...
|
#
ce0697f4 |
| 17-Nov-2013 |
Hal Finkel <hfinkel@anl.gov> |
Add -freroll-loops to enable loop rerolling
This adds -freroll-loops (and -fno-reroll-loops in the usual way) to enable loop rerolling as part of the optimization pass manager. This transformation c
Add -freroll-loops to enable loop rerolling
This adds -freroll-loops (and -fno-reroll-loops in the usual way) to enable loop rerolling as part of the optimization pass manager. This transformation can enable vectorization, reduce code size (or both).
Briefly, loop rerolling can transform a loop like this:
for (int i = 0; i < 3200; i += 5) { a[i] += alpha * b[i]; a[i + 1] += alpha * b[i + 1]; a[i + 2] += alpha * b[i + 2]; a[i + 3] += alpha * b[i + 3]; a[i + 4] += alpha * b[i + 4]; }
into this:
for (int i = 0; i < 3200; ++i) { a[i] += alpha * b[i]; }
Loop rerolling is currently disabled by default at all optimization levels.
llvm-svn: 194967
show more ...
|
#
7874bdc6 |
| 15-Nov-2013 |
Alp Toker <alp@nuanti.com> |
Revert "Using an invalid -O falls back on -O3 instead of an error"
Trying to fix test failures since earlier today.
One of the tests added in this commit is outputting test/Driver/clang_f_opts.s wh
Revert "Using an invalid -O falls back on -O3 instead of an error"
Trying to fix test failures since earlier today.
One of the tests added in this commit is outputting test/Driver/clang_f_opts.s which the builders that build in-tree (eg. clang-native-arm-cortex-a9) are trying to run as a test case, causing failures.
clang_f_opts.c: If -### doesn't emit the warning then this test probably shouldn't be in here in the first place. Frontend maybe?
invalid-o-level.c: Running %clang_cc1 in the Driver tests doesn't make sense because -cc1 bypasses the driver. (I'm not reverting the commit that introduced this but please fix instead of keeping it this way.)
Reverting to fix the build failures and also so that the tests can be thought out more thoroughly.
This reverts commit r194817.
llvm-svn: 194845
show more ...
|
#
6ae39801 |
| 15-Nov-2013 |
Sylvestre Ledru <sylvestre@debian.org> |
Using an invalid -O falls back on -O3 instead of an error
Summary: Currently with clang: $ clang -O20 foo.c error: invalid value '20' in '-O20'
With the patch: $ clang -O20 foo.c warning: optimizat
Using an invalid -O falls back on -O3 instead of an error
Summary: Currently with clang: $ clang -O20 foo.c error: invalid value '20' in '-O20'
With the patch: $ clang -O20 foo.c warning: optimization level '-O20' is unsupported; using '-O3' instead. 1 warning generated.
This matches the gcc behavior (with a warning added)
Pass all tests: Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Testing Time: 94.14s Expected Passes : 6721 Expected Failures : 20 Unsupported Tests : 17
(which was not the case of http://llvm-reviews.chandlerc.com/D2125)
Reviewers: chandlerc, rafael, rengolin, hfinkel
Reviewed By: rengolin
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2152
llvm-svn: 194817
show more ...
|
#
61f2032d |
| 14-Nov-2013 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[objcmt] Introduce "objcmt-white-list-dir-path=" option.
This options accepts a path to a directory, collects the filenames of the files it contains, and the migrator will only modify files with the
[objcmt] Introduce "objcmt-white-list-dir-path=" option.
This options accepts a path to a directory, collects the filenames of the files it contains, and the migrator will only modify files with the same filename.
llvm-svn: 194710
show more ...
|
#
5c29705c |
| 13-Nov-2013 |
Diego Novillo <dnovillo@google.com> |
Add -fprofile-sample-use to Clang's driver.
This adds a new option -fprofile-sample-use=filename to Clang. It tells the driver to schedule the SampleProfileLoader pass and passes on the name of the
Add -fprofile-sample-use to Clang's driver.
This adds a new option -fprofile-sample-use=filename to Clang. It tells the driver to schedule the SampleProfileLoader pass and passes on the name of the profile file to use.
llvm-svn: 194567
show more ...
|
#
2e793d61 |
| 13-Nov-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC migrator. Place use of NS_NONATOMIC_IOSONLY on inferred property attribute under -objcmt-ns-nonatomic-iosonly option. // rdar://15442742
llvm-svn: 194532
|
#
e293b1a8 |
| 11-Nov-2013 |
Sylvestre Ledru <sylvestre@debian.org> |
Revert "Using an invalid -O falls back on -O3 instead of an error"
This reverts commit r194403.
Was breaking too many tests...
llvm-svn: 194420
|
#
26386be1 |
| 11-Nov-2013 |
Sylvestre Ledru <sylvestre@debian.org> |
Using an invalid -O falls back on -O3 instead of an error
Summary: Currently with clang: $ clang -O20 foo.c error: invalid value '20' in '-O20'
With the patch: $ clang -O20 foo.c warning: invalid
Using an invalid -O falls back on -O3 instead of an error
Summary: Currently with clang: $ clang -O20 foo.c error: invalid value '20' in '-O20'
With the patch: $ clang -O20 foo.c warning: invalid value '20' in '-O20'. Fall back on value '3'
Reviewers: rengolin, hfinkel
Reviewed By: rengolin
CC: cfe-commits, hfinkel, rengolin
Differential Revision: http://llvm-reviews.chandlerc.com/D2125
llvm-svn: 194403
show more ...
|
#
688b6c01 |
| 08-Nov-2013 |
Douglas Gregor <dgregor@apple.com> |
Eliminate an unnecessary .c_str()
llvm-svn: 194228
|
#
79c927bf |
| 06-Nov-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add a limit to the length of a sequence of 'operator->' functions we will follow when building a class member access expression. Based on a patch by Rahul Jain!
llvm-svn: 194161
|
#
23417073 |
| 05-Nov-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC migrator. Please annotation of properties with NS_RETURNS_INNER_POINTER under -objcmt-returns-innerpointer-property flag (off by default), as older compilers do not support such annotatio
ObjectiveC migrator. Please annotation of properties with NS_RETURNS_INNER_POINTER under -objcmt-returns-innerpointer-property flag (off by default), as older compilers do not support such annotations. // rdar://15396636
llvm-svn: 194100
show more ...
|
#
b47c36f8 |
| 05-Nov-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++1y sized deallocation: if we have a use, but not a definition, of a sized deallocation function (and the corresponding unsized deallocation function has been declared), emit a weak discardable def
C++1y sized deallocation: if we have a use, but not a definition, of a sized deallocation function (and the corresponding unsized deallocation function has been declared), emit a weak discardable definition of the function that forwards to the corresponding unsized deallocation.
This allows a C++ standard library implementation to provide both a sized and an unsized deallocation function, where the unsized one does not just call the sized one, for instance by putting both in the same object file within an archive.
llvm-svn: 194055
show more ...
|
#
e1e33f8e |
| 01-Nov-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC. Define a new cc1 flag -fobjc-subscripting-legacy-runtime which is off by default and on only when using ObjectiveC legacy runtime. Use this flag to allow array and dictionary subscripti
ObjectiveC. Define a new cc1 flag -fobjc-subscripting-legacy-runtime which is off by default and on only when using ObjectiveC legacy runtime. Use this flag to allow array and dictionary subscripting and disallow objectiveC pointer arithmatic in ObjectiveC legacy runtime. // rdar://15363492
llvm-svn: 193889
show more ...
|