#
697b0042 |
| 12-Feb-2013 |
Lang Hames <lhames@gmail.com> |
Backing out r174919 while I investigate a self-host bug on Takumi's builder.
llvm-svn: 174925
|
#
5824a4f1 |
| 11-Feb-2013 |
Lang Hames <lhames@gmail.com> |
When generating IR for default copy-constructors, copy-assignment operators, move-constructors and move-assignment operators, use memcpy to copy adjacent POD members.
Previously, classes with one or
When generating IR for default copy-constructors, copy-assignment operators, move-constructors and move-assignment operators, use memcpy to copy adjacent POD members.
Previously, classes with one or more Non-POD members would fall back on element-wise copies for all members, including POD members. This often generated a lot of IR. Without padding metadata, it wasn't often possible for the LLVM optimizers to turn the element-wise copies into a memcpy.
This code hasn't yet received any serious tuning. I didn't see any serious regressions on a self-hosted clang build, or any of the nightly tests, but I think it's important to get this out in the wild to get more testing. Insights, feedback and comments welcome.
Many thanks to David Blaikie, Richard Smith, and especially John McCall for their help and feedback on this work.
llvm-svn: 174919
show more ...
|
#
b7d1e1ff |
| 02-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Revert r174246, accidentally committed.
This reverts commit 1513eb9284c23acfd19cf742b95996fbb11ca741.
llvm-svn: 174249
|
#
cbf40d22 |
| 02-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Sentenc-ify comment added in r174206.
Based on post-commit review by Paul Robinson.
llvm-svn: 174248
|
#
ef50169a |
| 02-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Basics
llvm-svn: 174246
|
#
357aafb5 |
| 01-Feb-2013 |
David Blaikie <dblaikie@gmail.com> |
Fix exception handling line table problems introduced by r173593
r173593 made us a little too eager to associate all code at the end of a function with the user-written 'return' line. This caused pr
Fix exception handling line table problems introduced by r173593
r173593 made us a little too eager to associate all code at the end of a function with the user-written 'return' line. This caused problems with breakpoints as they'd be set in exception handling code preceeding the actual non-exception return handling code, leading to the breakpoint never being hit in non-exceptional execution.
This change restores the pre-r173593 exception handling line information where the cleanup code is associated with the '}' not the return line.
llvm-svn: 174206
show more ...
|
#
0a21d0da |
| 26-Jan-2013 |
David Blaikie <dblaikie@gmail.com> |
PR14566: Debug Info: avoid top level lexical blocks in functions
One of the gotchas (see changes to CodeGenFunction) was due to the fix in r139416 (for PR10829). This only worked previously because
PR14566: Debug Info: avoid top level lexical blocks in functions
One of the gotchas (see changes to CodeGenFunction) was due to the fix in r139416 (for PR10829). This only worked previously because the top level lexical block would set the location to the end of the function, the debug location would be updated (as per r139416), the location would be set to the end of the function again (but that would no-op, since it was the same as the previous location), then the return instruction would be emitted using the debug location.
Once the top level lexical block was no longer emitted, the end-of-function location change was causing the debug loc to be updated, regressing that bug.
llvm-svn: 173593
show more ...
|
#
f54319c8 |
| 18-Jan-2013 |
Will Dietz <wdietz2@illinois.edu> |
[ubsan] Add support for -fsanitize-blacklist
llvm-svn: 172808
|
#
f857950d |
| 12-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove useless 'llvm::' qualifier from names like StringRef and others that are brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
|
#
ffd5551b |
| 02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to reflect the migration in r171366.
Re-sort the #include lines to reflect the new paths.
llvm-svn: 171369
|
Revision tags: llvmorg-3.2.0 |
|
#
207f0536 |
| 20-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename llvm::Attributes to llvm::Attribute.
llvm-svn: 170722
|
#
4442605f |
| 20-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Revert r170500. It over-zealously converted *ALL* things named Attributes, which is wrong here.
llvm-svn: 170721
|
#
7967fc14 |
| 19-Dec-2012 |
Bill Wendling <isanbard@gmail.com> |
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future.
llvm-svn: 170500
|
#
7464efca |
| 09-Dec-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Unbreak the clang build after r169712.
llvm-svn: 169713
|
Revision tags: llvmorg-3.2.0-rc3 |
|
#
3a02247d |
| 04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered.
This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/util
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered.
This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files.
I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
show more ...
|
#
7a167eef |
| 04-Dec-2012 |
Michael Ilseman <milseman@apple.com> |
Have clang use LLVM IR's fast-math flags when in FastMath or FiniteMathOnly modes. Test cases included.
llvm-svn: 169191
|
#
686240a9 |
| 04-Dec-2012 |
Michael Ilseman <milseman@apple.com> |
remove trailing whitespace
llvm-svn: 169187
|
#
88e0233f |
| 02-Dec-2012 |
Will Dietz <wdietz2@illinois.edu> |
[ubsan] Add flag to enable recovery from checks when possible.
llvm-svn: 169114
|
Revision tags: llvmorg-3.2.0-rc2 |
|
#
c1b78419 |
| 15-Nov-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Simplify code. No functionality change.
llvm-svn: 168047
|
#
1f576831 |
| 14-Nov-2012 |
Eli Friedman <eli.friedman@gmail.com> |
When evaluating variably modified types for function parameters, dig out the type as written from the ParmVarDecl; it's unclear whether the standard (C99 6.9.1p10) requires this, but we're following
When evaluating variably modified types for function parameters, dig out the type as written from the ParmVarDecl; it's unclear whether the standard (C99 6.9.1p10) requires this, but we're following the precedent set by gcc, and hopefully nobody will ever ask about this again.
PR9559 / <rdar://problem/12621983>.
llvm-svn: 167985
show more ...
|
Revision tags: llvmorg-3.2.0-rc1 |
|
#
b1b0ab41 |
| 05-Nov-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Use the individual -fsanitize=<...> arguments to control which of the UBSan checks to enable. Remove frontend support for -fcatch-undefined-behavior, -faddress-sanitizer and -fthread-sanitizer now th
Use the individual -fsanitize=<...> arguments to control which of the UBSan checks to enable. Remove frontend support for -fcatch-undefined-behavior, -faddress-sanitizer and -fthread-sanitizer now that they don't do anything.
llvm-svn: 167413
show more ...
|
#
9c6890a7 |
| 01-Nov-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Simplify: replace getContext().getLangOpts() with just getLangOpts().
llvm-svn: 167261
|
#
ea2fea2a |
| 25-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Cleanup some clang code to use new type functions instead of using cast<>.
llvm-svn: 166684
|
#
b0eea8b5 |
| 23-Oct-2012 |
Douglas Gregor <dgregor@apple.com> |
Switch CodeGenOptions over to a .def file, like we do with LangOptions.
llvm-svn: 166497
|
#
38e24964 |
| 16-Oct-2012 |
Alexey Samsonov <samsonov@google.com> |
Transform pattern: if (CGM.getModuleDebugInfo()) DebugInfo = CGM.getModuleDebugInfo() into a call: maybeInitializeDebugInfo();
This is a simplification for a possible future fix of PR13942.
Transform pattern: if (CGM.getModuleDebugInfo()) DebugInfo = CGM.getModuleDebugInfo() into a call: maybeInitializeDebugInfo();
This is a simplification for a possible future fix of PR13942.
llvm-svn: 166019
show more ...
|