- Mar 20, 2014
-
-
Mark Seaborn authored
This option caused LowerInvoke to generate code using SJLJ-based exception handling, but there is no code left that interprets the jmp_buf stack that the resulting code maintained (llvm.sjljeh.jblist). This option has been obsolete for a while, and replaced by SjLjEHPrepare. This leaves the default behaviour of LowerInvoke, which is to convert invokes to calls. Differential Revision: http://llvm-reviews.chandlerc.com/D3136 llvm-svn: 204388
-
Duncan P. N. Exon Smith authored
llvm-svn: 204387
-
Duncan P. N. Exon Smith authored
Adding __llvm_pgo_reset_counters(), which sets all the counters to 0. <rdar://problem/15943240> llvm-svn: 204386
-
Richard Smith authored
block as decl and type emission. This allows decl updates include statements and expressions. No functionality change (but the generated PCM files are incompatible with earlier versions of Clang). llvm-svn: 204385
-
Duncan P. N. Exon Smith authored
llvm-svn: 204384
-
Duncan P. N. Exon Smith authored
__llvm_pgo_write_default_file() was a bad name, since it checked the environment (it wasn't just a default file). - Change __llvm_pgo_write_file() to __llvm_pgo_write_file_with_name() and make it static. - Rename __llvm_pgo_write_default_file() to __llvm_pgo_write_file(). - Add __llvm_pgo_set_filename(), which sets the filename for subsequent calls to __llvm_pgo_write_file(). <rdar://problem/15943240> llvm-svn: 204381
-
Duncan P. N. Exon Smith authored
Instead of relying on explicit static initialization from translation units, create a new file, InstrProfilingRuntime.cc, with an __llvm_pgo_runtime variable. After this commit (and its pair in clang), the driver will create a use of this variable. Unless the user defines their own version, the new object file will get pulled in, including that C++ static initialization that calls __llvm_pgo_register_write_atexit. The result is that, at least on Darwin, static initialization typically consists of a single function call, which registers a writeout functino atexit. Furthermore, users can skip even this behaviour by defining their own __llvm_pgo_runtime. <rdar://problem/15943240> llvm-svn: 204380
-
Duncan P. N. Exon Smith authored
Remove the remaining explicit static initialization from translation units, at least on Darwin. Instead, create a use of __llvm_pgo_runtime, which will pull in required code from compiler-rt. After this commit (and its pair in compiler-rt), a user can define their own __llvm_pgo_runtime to satisfy this undefined symbol and call the functions in compiler-rt directly. <rdar://problem/15943240> llvm-svn: 204379
-
Eric Christopher authored
llvm-svn: 204378
-
Eric Christopher authored
Use the range machinery for DW_AT_ranges and DW_AT_high/lo_pc. This commit moves us from a single range per subprogram to extending ranges if we are: a) In the same section, and b) In the same enclosing CU. This means we have more fine grained ranges for compile units, and fewer ranges overall when we have multiple functions in the same CU adjacent to each other in the object file. Also remove all of the earlier hacks around this functionality for function sections etc. Also update all of the testcases to take into account the merging functionality. with a fix for location entries in the debug_loc section: Make sure that debug loc entries are relative to the low_pc of the compile unit. This means that when we only have a single range that the offset should be just relative to the low_pc of the unit, for multiple ranges for a CU this means that we'll be relative to 0 which we emit along with DW_AT_ranges. This mostly shows up with linked binaries, so add a testcase with multiple CUs so that our location is going to be offset of a CU with a non-zero low_pc. llvm-svn: 204377
-
Ted Kremenek authored
llvm-svn: 204376
-
Ted Kremenek authored
llvm-svn: 204375
-
Ted Kremenek authored
[analyzer] Fix a bad bug in reversePropagateInterstingSymbols() where only one subexpression of BinaryOperator would be explored. llvm-svn: 204374
-
Duncan P. N. Exon Smith authored
<rdar://problem/15943240> llvm-svn: 204373
-
Duncan P. N. Exon Smith authored
llvm-svn: 204372
-
Duncan P. N. Exon Smith authored
llvm-svn: 204371
-
Justin Bogner authored
llvm-svn: 204370
-
Greg Clayton authored
llvm-svn: 204369
-
Ben Langmuir authored
We were 'allowing' the following import @import Sub; where Sub is a subframework of Foo and we had a -F path inside Foo.framework/Frameworks and no module map file for Sub. This would later hit assertion failures in debug builds. Now we should correctly diagnose this as a module not found error. llvm-svn: 204368
-
Eli Bendersky authored
llvm-svn: 204364
-
Eli Bendersky authored
llvm-svn: 204363
-
Jordan Rose authored
Third time's the charm. Patch by Brennan Shacklett! llvm-svn: 204362
-
Rafael Espindola authored
is_symlink was always false since it was using stat instead of lstat. llvm-svn: 204361
-
Ed Maste authored
llvm-svn: 204360
-
Jim Ingham authored
llvm-svn: 204359
-
David Blaikie authored
llvm-svn: 204358
-
Matt Arsenault authored
llvm-svn: 204357
-
Jordan Rose authored
Because neither ' ' nor '-' is alphanumeric, \b won't match between them! Since in this case we know our output is coming from a -### invocation, we should always have spaces on both sides of the flag we're trying to match, "-cc1". llvm-svn: 204356
-
Simon Atanasyan authored
llvm-svn: 204355
-
Simon Atanasyan authored
llvm-svn: 204354
-
Simon Atanasyan authored
llvm-svn: 204353
-
Simon Atanasyan authored
llvm-svn: 204352
-
Renato Golin authored
This is mainly a movement of content around to give place to new content allowing different people to add bits to it in the right place. There is some new content, but mostly to fill the gaps left by text movement. I'm dropping the old syntax documentation as it has the problem of being quickly outdated by changes and largely unnecessary to people not involved in creating the language, but using it, which is the whole point of the documentation. llvm-svn: 204351
-
Aaron Ballman authored
Replacing the exclusive_lock_function, shared_lock_function and unlock_function attributes with the acquire_capability and release_capability attributes. The old spellings will continue to work, but the underlying semantic attributes have been replaced. Downgraded the capability diagnostics from error to warning to match the desired behavior, and updated the existing test cases. llvm-svn: 204350
-
Jordan Rose authored
Amends r204300 to not try to test fixing a wchar_t* to "%ls", which we don't do correctly anyway. In C mode, wchar_t is just a typedef for a normal primitive integer type, not a distinct type like it is in C++. To make this work correctly, we'll need to look for the wchar_t typedef, not just the builtin type. Should fix the buildbots. llvm-svn: 204349
-
Marshall Clow authored
llvm-svn: 204348
-
Evgeniy Stepanov authored
llvm-svn: 204347
-
Evgeniy Stepanov authored
This change turns -fsanitize-memory-track-origins into -fsanitize-memory-track-origins=[level] flag (keeping the old one for compatibility). Possible levels are 0 (off), 1 (default) and 2 (incredibly detailed). See docs (part of this patch) for more info. llvm-svn: 204346
-
Aaron Ballman authored
Silencing an MSVC warning about not all control paths returning a value. No functional change intended. llvm-svn: 204345
-
Mark Seaborn authored
None of the existing tests for LowerInvoke check LowerInvoke's output, and all but one use "-enable-correct-eh-support", which is obsolete, so those tests will be removed when that option is removed. To make sure LowerInvoke will still have test coverage, this adds a test for its default mode which converts invokes to calls. Differential Revision: http://llvm-reviews.chandlerc.com/D3124 llvm-svn: 204344
-