- Dec 06, 2013
-
-
Warren Hunt authored
Adds padding between bases or virtual bases in an attempt to avoid aliasing of zero-sized sub-objects. The approach used by the ABI adds two more bits of state. Detailed comments are in the code. Test cases included. Differential Revision: http://llvm-reviews.chandlerc.com/D2258 llvm-svn: 196602
-
David Blaikie authored
This more accurately represents the actual walk - pubnames/pubtypes are emitted into the .o, not the .dwo, and reference the skeletons not the full units. Use the newly established ID->index invariant to lookup the underlying full unit to retrieve its public names and types. llvm-svn: 196601
-
David Blaikie authored
This simplifies reasoning about the code and enables simple navigation from a skeleton to its full unit. (currently there are no type unit skeletons, so the skeleton list doesn't have the same ID == index property) Eventually we should get rid of this ID and just store the labels we need as the IDs are allowing this code to create difficult to manage/understand associations (loops over non-skeletal units are implicitly referencing their skeletal units during pub* emission, for example). It may be necessary to have some kind of skeleton->full unit association and a more direct pointer or similar device would be preferable than an index. llvm-svn: 196600
-
Anna Zaks authored
This is another regression fixed by reverting r189090. In this case, the problem is not live variables but the approach that was taken in r189090. This regression was caused by explicitly binding "true" to the condition when we take the true branch. Normally that's okay, but in this case we're planning to reuse that condition as the value of the expression. llvm-svn: 196599
-
Anna Zaks authored
This reverts commit r189090. The original patch introduced regressions (see the added live-variables.* tests). The patch depends on the correctness of live variable analyses, which are not computed correctly. I've opened PR18159 to track the proper resolution to this problem. The patch was a stepping block to r189746. This is why part of the patch reverts temporary destructor tests that started crashing. The temporary destructors feature is disabled by default. llvm-svn: 196593
-
Aaron Ballman authored
Turning the __w64 attribute into an ignored attribute to match other Microsoft extensions we do not currently support. Note that __w64 has been deprecated in MSVC since 2008. llvm-svn: 196592
-
Argyrios Kyrtzidis authored
Suggested by Alp Toker. llvm-svn: 196591
-
Roman Divacky authored
and call it from its only user. The linux toolchain. This saves quite a lot of directory searching on other platforms. llvm-svn: 196590
-
Diego Novillo authored
Summary: GCC uses -fauto-profile to enable sample-based PGO. This patch adds it to Clang as an alias for -fprofile-sample-use. Differential Revision: http://llvm-reviews.chandlerc.com/D2353 llvm-svn: 196589
-
Weiming Zhao authored
The current peephole optimizing for compare inst assumes an instr that uses CPSR has an MO for ARM Cond code.However, for VSEL instructions (vseqeq, vselgt, vselgt, vselvs), there is no such operand nor do they support the modification of Cond Code. llvm-svn: 196588
-
Alp Toker authored
llvm-svn: 196587
-
Greg Clayton authored
llvm-svn: 196586
-
Andrew Trick authored
llvm-svn: 196585
-
Aaron Ballman authored
llvm-svn: 196584
-
Aaron Ballman authored
Reverting changes from r196415; this patch exposed a different, but unrelated bug regarding the __has_attribute implementation. Reverting to unblock the Chrome tsan builds. llvm-svn: 196583
-
Daniel Jasper authored
Before: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<int> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [aaaaaaaaaaaa]; After: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<int> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaaa]; llvm-svn: 196582
-
Cameron McInally authored
llvm-svn: 196581
-
Richard Sandiford authored
...since it os equivalent to comparison with +0. llvm-svn: 196580
-
Richard Sandiford authored
instcombine prefers to put extended operands first, so this patch handles that case for C(L)GFR. llvm-svn: 196579
-
Richard Sandiford authored
Since z has no setcc instruction as such, the choice of setBooleanContents is a bit arbitrary. Currently it's set to ZeroOrOneBooleanContent, so we produced a branch-free form when selecting between 0 and 1, but not when selecting between 0 and -1. This patch handles the latter case too. At some point I'd like to measure whether it's better to use conditional moves for constant selects on z196, but that's future work. llvm-svn: 196578
-
Jean-Daniel Dupas authored
llvm-svn: 196577
-
Kostya Serebryany authored
llvm-svn: 196576
-
Jean-Daniel Dupas authored
This fixes CMake build on Darwin. llvm-svn: 196575
-
Kostya Serebryany authored
llvm-svn: 196574
-
Daniel Jasper authored
In order to make the migration to modules easier, it seems to be helpful to allow a 1:1 mapping between target names of a current build system and the corresponding C++ modules. As such targets commonly contain characters like "-". ":" and "/", allowing arbitrary quote-escaped strings seems to be a straightforward option. After several offline discussions, the precise mechanisms for C++ module names especially regarding submodules and import statements has yet to be determined. Thus, this patch only enables string literals as names inside the module map files which can be used by automatic module import (through #include). Also improve the error message on missing use-declarations. llvm-svn: 196573
-
Evgeniy Stepanov authored
llvm-svn: 196572
-
Kostya Serebryany authored
llvm-svn: 196569
-
Kostya Serebryany authored
Summary: Rewrite asan's stack frame layout. First, most of the stack layout logic is moved into a separte file to make it more testable and (potentially) useful for other projects. Second, make the frames more compact by using adaptive redzones (smaller for small objects, larger for large objects). Third, try to minimized gaps due to large alignments (this is hypothetical since today we don't see many stack vars aligned by more than 32). The frames indeed become more compact, but I'll still need to run more benchmarks before committing, but I am sking for review now to get early feedback. This change will be accompanied by a trivial change in compiler-rt tests to match the new frame sizes. Reviewers: samsonov, dvyukov Reviewed By: samsonov CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2324 llvm-svn: 196568
-
Daniel Jasper authored
Not only does it trigger -Wparentheses, I think the assert actually relies on incorrect operator precedence. Also, the grammar as questionable, but I might not know enough about the problem at hand. llvm-svn: 196567
-
Arnaud A. de Grandmaison authored
llvm-svn: 196566
-
Alp Toker authored
Use internal links to provide easier access to recent and ongoing work. Also shift up the order of standards in the page title in order to avoid web search results focusing on C++98 in the summary. This is done to highlight the modern standards support in clang that was previously languishing at the bottom of the page. "C++98/03 is sooooo yesterday" - dgregor llvm-svn: 196565
-
Rui Ueyama authored
llvm-svn: 196564
-
Rui Ueyama authored
llvm-svn: 196563
-
Rui Ueyama authored
llvm-svn: 196562
-
Eric Christopher authored
Patch by Marius Wachtler. llvm-svn: 196561
-
Eric Christopher authored
Patch by Marius Wachtler. llvm-svn: 196560
-
NAKAMURA Takumi authored
clang-tools-extra/test/clang-modernize/HeaderReplacements/main.cpp: Dequote safe chars rather than hairy quoting. Thanks to Lang, to let me noticed. llvm-svn: 196559
-
Richard Smith authored
of whether the initializer list is dependent. llvm-svn: 196558
-
Greg Clayton authored
For logical backtrace work, lldb needs to track Module unloads etc & symoblicate an address based on a point in time <rdar://problem/15314403> This patch adds a new lldb_private::SectionLoadHistory class that tracks what shared libraries were loaded given a process stop ID. This allows us to keep a history of the sections that were loaded for a time T. Many items in history objects will rely upon the process stop ID in the future. llvm-svn: 196557
-
Rui Ueyama authored
Differential Revision: http://llvm-reviews.chandlerc.com/D2335 llvm-svn: 196556
-