- Apr 20, 2012
-
-
rdar://11187889Bob Wilson authored
Now that llvm-config is a binary instead of a script the version installed during a cross compiled build cannot be run from the host. When cross compiling, install a separate llvm-config-host that will run on the host. llvm-svn: 155164
-
Kaelyn Uhrain authored
followed by an identifier as declaration specificer (except for ObjC). This allows e.g. an out-of-line C++ member function definitions to be recognized as functions and not as variable declarations if the type name for the first parameter is not recognized as a type--say, when there is a function name shadowing an enum type name and the parameter is missing the "enum" keyword needed to distinguish the two. Note that returning TPResult::Error() instead of TPResult::True() appears to have the same end result, while TPResult::Ambiguous() results in a crash. llvm-svn: 155163
-
Richard Smith authored
we generate correct code for both strong and weak atomic compare-exchanges, even though we don't propagate to the IR enough information to generate optimal weak compare-exchanges on architectures which support them. llvm-svn: 155161
-
- Apr 19, 2012
-
-
Dan Gohman authored
loop repeatedlt making the same change. This is for rdar://11256239. llvm-svn: 155160
-
Fariborz Jahanian authored
if receiver is a 'weak' property, by type or by attribute. // rdar://10225276 llvm-svn: 155159
-
Johnny Chen authored
rdar://problem/11283401 Example: Collected 1 test 1: test_with_dwarf (TestCallStdStringFunction.ExprCommandCallFunctionTestCase) Test calling std::String member function. ... FAIL ====================================================================== FAIL: test_with_dwarf (TestCallStdStringFunction.ExprCommandCallFunctionTestCase) Test calling std::String member function. ---------------------------------------------------------------------- Traceback (most recent call last): File "/Volumes/data/lldb/svn/ToT/test/lldbtest.py", line 427, in wrapper return func(self, *args, **kwargs) File "/Volumes/data/lldb/svn/ToT/test/expression_command/call-function/TestCallStdStringFunction.py", line 34, in test_with_dwarf self.call_function() File "/Volumes/data/lldb/svn/ToT/test/expression_command/call-function/TestCallStdStringFunction.py", line 48, in call_function substrs = ['Hello world']) File "/Volumes/data/lldb/svn/ToT/test/lldbtest.py", line 1235, in expect msg if msg else EXP_MSG(str, exe)) AssertionError: False is not True : 'Hello world' returns expected result Config=i386-clang ---------------------------------------------------------------------- Ran 1 test in 1.148s FAILED (failures=1) llvm-svn: 155157
-
Joel Jones authored
when the set bits aren't the same for both args of the xor. This transformation is in the function TargetLowering::SimplifyDemandedBits in the file lib/CodeGen/SelectionDAG/TargetLowering.cpp. I have tested this test using a previous version of llc which the defect and the a version of llc which does not. I got the expected fail and pass, respectively. This test goes with rdar://11195364 and the check in with the fix: svn r154955 llvm-svn: 155156
-
Patrick Beard authored
llvm-svn: 155155
-
Daniel Dunbar authored
llvm-svn: 155153
-
Johnny Chen authored
llvm-svn: 155152
-
Daniel Dunbar authored
llvm-svn: 155151
-
Sean Callanan authored
disassembler fixes. The ARM disassembler is now crash-free on all opcodes. llvm-svn: 155149
-
Johnny Chen authored
to the already existing (test result, test id) to avoid collision and to facilitate postmortem analysis. llvm-svn: 155148
-
Michael J. Spencer authored
llvm-ld is no longer useful and causes confusion and so it is being removed. * Does not work very well on Windows because it must call a gcc like driver to assemble and link. * Has lots of hard coded paths which are wrong on many systems. * Does not understand most of ld's options. * Can be partially replaced by llvm-link | opt | {llc | as, llc -filetype=obj} | ld, or fully replaced by Clang. I know of no production use of llvm-ld, and hacking use should be replaced by Clang's driver. llvm-svn: 155147
-
Johnny Chen authored
Not a test failure for i386; instead, the test case should be modified to not over-expect type fields for the synthetic childs. rdar://problem/11277013 llvm-svn: 155144
-
Jim Grosbach authored
There's almost always a small number of instruction operands, so use a SmallVector and save on heap allocations. llvm-svn: 155143
-
Jim Grosbach authored
llvm-svn: 155142
-
Richard Smith authored
llvm-svn: 155141
-
David Blaikie authored
llvm-svn: 155140
-
David Blaikie authored
llvm-svn: 155139
-
Jim Ingham authored
In debug mode, assert when we fail to get the sequence mutex. We need to remove as many places where this can happen as possible. llvm-svn: 155138
-
DeLesley Hutchins authored
path-sensitive analysis like handling of trylock expressions. llvm-svn: 155137
-
Jakob Stoklund Olesen authored
The shl instruction is used to represent multiplication by a constant power of two as well as bitwise left shifts. Some InstCombine transformations would turn an shl instruction into a bit mask operation, making it difficult for later analysis passes to recognize the constsnt multiplication. Disable those shl transformations, deferring them to DAGCombine time. An 'shl X, C' instruction is now treated mostly the same was as 'mul X, C'. These transformations are deferred: (X >>? C) << C --> X & (-1 << C) (When X >> C has multiple uses) (X >>? C1) << C2 --> X << (C2-C1) & (-1 << C2) (When C2 > C1) (X >>? C1) << C2 --> X >>? (C1-C2) & (-1 << C2) (When C1 > C2) The corresponding exact transformations are preserved, just like div-exact + mul: (X >>?,exact C) << C --> X (X >>?,exact C1) << C2 --> X << (C2-C1) (X >>?,exact C1) << C2 --> X >>?,exact (C1-C2) The disabled transformations could also prevent the instruction selector from recognizing rotate patterns in hash functions and cryptographic primitives. I have a test case for that, but it is too fragile. llvm-svn: 155136
-
Tobias Grosser authored
After working and explaining this function to someone, I realized it could be simplified and better documented. llvm-svn: 155135
-
Daniel Dunbar authored
llvm-svn: 155134
-
Daniel Dunbar authored
- Work in progress, this is mostly important because it lets us incrementally migrate the remaining documentation. - Lots of styling, editing, and integration work yet to come… - PR12589 llvm-svn: 155133
-
Daniel Dunbar authored
- Work in progress, this is just the basic structure. llvm-svn: 155132
-
Daniel Dunbar authored
the user has another lit somewhere. llvm-svn: 155131
-
Fariborz Jahanian authored
patch fixing writing a spurious 'static' into the wrong place. // rdar://11275241 llvm-svn: 155130
-
DeLesley Hutchins authored
which are checked in the parser, and analysis warnings that require the full analysis. This allows attribute syntax to be checked independently of the full thread safety analysis. Also introduces a new warning for the case where a string is used as a lock expression; this allows the analysis to gracefully handle expressions that would otherwise cause a parse error. llvm-svn: 155129
-
Gabor Greif authored
llvm-svn: 155128
-
Kostya Serebryany authored
llvm-svn: 155127
-
Patrick Beard authored
llvm-svn: 155126
-
Manuel Klimek authored
llvm-svn: 155108
-
Francois Pichet authored
llvm-svn: 155107
-
Richard Smith authored
initialize references, create std::initializer_list objects, or call constructors. llvm-svn: 155105
-
Craig Topper authored
Make fast isel use &XXXRegClass instead of XXXRegisterClass. Not a functional change since XXXRegisterClass is just a constant alias of &XXXRegClass, but should probably go away. llvm-svn: 155104
-
Rafael Espindola authored
This fixes the included testcase and lets us simplify the code a bit. It does require using mergeWithMin when merging class information to its members. Expand the comments to explain why that works. llvm-svn: 155103
-
Rafael Espindola authored
an explicit default one. This means that with -fvisibility hidden we now produce a hidden symbol for template <typename T> class DEFAULT foo { void bar() {} }; class zed {}; template class foo<zed>; This matches the behaviour of gcc 4.7. llvm-svn: 155102
-
Rafael Espindola authored
there is no need for mergeVisibily to ever increase the visibility. Not doing so lets us replace an incorrect use of mergeVisibilityWithMin. The testcase struct HIDDEN RECT { int top; }; DEFAULT RECT foo = {0}; shows that we should give preference to one of the attributes instead of keeping the minimum. We still get this testcase wrong because mergeVisibily handles two explicit visibilities incorrectly, but this is a step in the right direction. llvm-svn: 155101
-