- Nov 06, 2013
-
-
Rui Ueyama authored
llvm-svn: 194130
-
Rui Ueyama authored
/defaultlib options can be specified implicitly via the .drectve section, and it's pretty common that multiple object files add the same library, such as user32.lib, to the input. We shouldn't add the same library multiple times. llvm-svn: 194129
-
Rui Ueyama authored
llvm-svn: 194128
-
Rui Ueyama authored
We wrapped the linker internal file with a virtual archive file, so that the linker internal file was linked only when it's actually used. This was to avoid __ImageBase being included to the resulting executable. __ImageBase used to occupy four bytes when emitted to executable. And then it turned out that the implementation of __ImageBase was wrong -- it shouldn't have been a regular atom but an absolute atom. Absolute atoms point to some memory location, but they don't occupy disk space themselves. So it wouldn't increase executable size (except the symbol table.) That means that it's OK to link the linker internal file unconditionally. So this patch does that, removing the wrapper archive file. Doing this simplifies the code. llvm-svn: 194127
-
Reed Kotler authored
llvm-svn: 194126
-
Alexey Samsonov authored
llvm-svn: 194125
-
Jiangning Liu authored
llvm-svn: 194124
-
Jiangning Liu authored
llvm-svn: 194123
-
Jason Molenda authored
bit from the method names. <rdar://problem/15314369> llvm-svn: 194122
-
Greg Clayton authored
Improve lldb_private::Address to detect when section was deleted and not return bogus values for GetLoadAddress() and GetFileAddress(). llvm-svn: 194120
-
Jiangning Liu authored
llvm-svn: 194119
-
Jiangning Liu authored
llvm-svn: 194118
-
Richard Smith authored
earlier 'non-constant' diagnostic with a later one if the earlier one was from a side-effect we thought we could evaluate past. llvm-svn: 194117
-
Andrew Trick authored
Patch by Michele Scandale! Rewrite of the functions used to compute the backedge taken count of a loop on LT and GT comparisons. I decided to split the handling of LT and GT cases becasue the trick "a > b == -a < -b" in some cases prevents the trip count computation due to the multiplication by -1 on the two operands of the comparison. This issue comes from the conservative computation of value range of SCEVs: taking the negative SCEV of an expression that have a small positive range (e.g. [0,31]), we would have a SCEV with a fullset as value range. Indeed, in the new rewritten function I tried to better handle the maximum backedge taken count computation when MAX/MIN expression are used to handle the cases where no entry guard is found. Some test have been modified in order to check the new value correctly (I manually check them and reasoning on possible overflow the new values seem correct). I finally added a new test case related to the multiplication by -1 issue on GT comparisons. llvm-svn: 194116
-
Warren Hunt authored
This patch adds the same behavior to clang. Differential Revision: http://llvm-reviews.chandlerc.com/D2103 llvm-svn: 194115
-
Rui Ueyama authored
msvcrt.lib contains "/disallowlib" command line option in its .drectve section. I couldn't spot any documentation for the option. Ignore it for now so that we can link the library without error. llvm-svn: 194114
-
Peter Collingbourne authored
These functions can generally be applied to multiple kinds of AST node, so it makes sense to add them to DynTypedNode. Differential Revision: http://llvm-reviews.chandlerc.com/D2096 llvm-svn: 194113
-
Peter Collingbourne authored
The purpose of this function is to allow clients of the dynamic AST matcher to enumerate each binding. Differential Revision: http://llvm-reviews.chandlerc.com/D2095 llvm-svn: 194112
-
Jason Molenda authored
SystemRuntime and SBThread classes. <rdar://problem/15314369> llvm-svn: 194111
-
Rui Ueyama authored
Errors in .drectve section were silently ignored. This patch fixes the issue. llvm-svn: 194110
-
Rafael Espindola authored
One of the uses of the IsValid flag is to support default constructing a ErrorOr that is not a Error or a Value. There is not much value in doing that IMHO. If ErrorOr was to have a default constructor, it should be implemented by default constructing the value, but even that looks unnecessary. The other use is to avoid calling destructors on moved objects. This looks wrong. If the data being moved has non trivial treatment of moves (an std::vector for example), it is its destructor that should handle it, not ~ErrorOr. With this change ErrorOr becomes a fairly simple wrapper and should always be better than using an error_code + value in an API. llvm-svn: 194109
-
Reed Kotler authored
from MipsConstantIslands. llvm-svn: 194108
-
Alexey Samsonov authored
llvm-svn: 194107
-
rdar://problem/15367122Greg Clayton authored
Fixed the test case for "test/functionalities/exec/TestExec.py" on Darwin. The issue was breakpoints were persisting and causing problems. When we exec, we need to clear out the process and target and start fresh with nothing and let the breakpoints populate themselves again. This patch correctly clears out the breakpoints and also flushes the process so that the objects (process/thread/frame) give out valid information. llvm-svn: 194106
-
DeLesley Hutchins authored
on smart pointers. -Wthread-safety-beta only. llvm-svn: 194103
-
- Nov 05, 2013
-
-
Andrew Trick authored
MorphNodeTo is not safe to call during DAG building. It eagerly deletes dependent DAG nodes which invalidates the NodeMap. We could expose a safe interface for morphing nodes, but I don't think it's worth it. Just create a new MachineNode and replaceAllUsesWith. My understaning of the SD design has been that we want to support early target opcode selection. That isn't very well supported, but generally works. It seems reasonable to rely on this feature even if it isn't widely used. llvm-svn: 194102
-
Reed Kotler authored
we don't have such an operand. Suprisingly enough, this is never actually accounted for in the ARM version when determining offset ranges. In both places there is the comment: - // FIXME: Make use full range of soimm values. (soimm = shift operand immediate). llvm-svn: 194101
-
Fariborz Jahanian authored
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
-
Richard Smith authored
checking an expression for constant overflow. llvm-svn: 194099
-
Richard Smith authored
bit more robust against future changes. This includes a slight diagnostic improvement: if we know we're only trying to form a constant expression, take the first diagnostic which shows the expression is not a constant expression, rather than preferring the first one which makes the expression unfoldable. llvm-svn: 194098
-
Rafael Espindola authored
hack of passing -fconst-strings to -cc1, but at least the driver uses the regular warning checking code path. Since we don't support a warning that is DefaultIgnore in one language but not in another, this patch creates a dummy C only warning in the same group as the existing one to get the desired effect. llvm-svn: 194097
-
Reed Kotler authored
alignment will be handled differently than in ARM constant islands. llvm-svn: 194096
-
Rafael Espindola authored
This is a small optimization on linux, but should help more on windows where msvc only outputs one destructor if there would be two identical ones. llvm-svn: 194095
-
Tim Northover authored
Cortex-M0 supports these 32-bit instructions despite being Thumb1 only (mostly). We knew about that but not that the aliases without the default "sy" operand were also permitted. llvm-svn: 194094
-
Dmitri Gribenko authored
Patch by MathOnNapkins llvm-svn: 194093
-
James Dennett authored
another typo in a comment, and update formatting of some comments to use Doxygen \brief annotations instead of repeating the name of the documented entity. llvm-svn: 194092
-
Rafael Espindola authored
They just propagate out the bitcode reader error, so we don't need a new enum. llvm-svn: 194091
-
Daniel Jasper authored
Before, clang-format would always format entire nested blocks, which can be unwanted e.g. for long DEBUG({...}) statements. Also clang-format would not allow to merge lines in nested blocks (e.g. to put "if (a) return;" on one line in Google style). This is the first step of several refactorings mostly focussing on the additional functionality (by reusing the "format many lines" code to format the children of a nested block). The next steps are: * Pull out the line merging into its own class. * Seperate the formatting of many lines from the formatting of a single line (and the analysis of the solution space). llvm-svn: 194090
-
Rui Ueyama authored
llvm-svn: 194089
-
Kaelyn Uhrain authored
Revert this patch until cases of rejected valid code (e.g. identifiers that require ADL to be resolved properly) are fixed. llvm-svn: 194088
-