- Mar 08, 2016
-
-
Quentin Colombet authored
llvm-svn: 262893
-
Justin Bogner authored
Looks like the largest SDNode is different between 32 and 64 bit now, so this is breaking 32 bit bots. Reverting while I figure out a fix. This reverts r262886. llvm-svn: 262892
-
Richard Smith authored
llvm-svn: 262891
-
Quentin Colombet authored
By complex types, I mean aggregate or vector types. llvm-svn: 262890
-
Richard Smith authored
llvm-svn: 262889
-
Richard Smith authored
llvm-svn: 262888
-
Richard Smith authored
llvm-svn: 262887
-
Justin Bogner authored
Currently some SDNode operands are malloc'd, some are stored inline in subclasses of SDNode, and some are thrown into a BumpPtrAllocator. This scheme is complex, inconsistent, and makes refactoring SDNodes fairly difficult. Instead, we can allocate all of the operands using an ArrayRecycler that wraps a BumpPtrAllocator. This keeps the cache locality when iterating operands, improves locality when iterating SDNodes without looking at operands, and vastly simplifies the ownership semantics. It also means we stop overallocating SDNodes by 2-3x and will make it simpler to fix the rampant undefined behaviour we have in how we mutate SDNodes from one kind to another (See llvm.org/pr26808). This is NFC other than the changes in memory behaviour, and I ran some LNT tests to make sure this didn't hurt compile time. Not many tests changed: there were a couple of 1-2% regressions reported, but there were more improvements (of up to 4%) than regressions. llvm-svn: 262886
-
Quentin Colombet authored
Before this change, we would get the type definition in the middle of the instruction. E.g., %0(48) = G_ADD %struct_alias = type { i32, i16 } %edi, %edi Now, we have just the expected type name: %0(48) = G_ADD %struct_alias %edi, %edi llvm-svn: 262885
-
Quentin Colombet authored
Without actually parsing a type it is difficult to perdict where the type definition ends. In other words, instead of expecting the user of the parser API to hand over only the relevant bits of the string being parsed, take the whole string, parse the type, and get back the number of characters that have been read. This will be used by the MIR testing infrastructure. llvm-svn: 262884
-
Easwaran Raman authored
llvm-svn: 262883
-
Richard Smith authored
llvm-svn: 262882
-
Richard Smith authored
exactly the same as clang's existing [[clang::fallthrough]] attribute, which has been updated to have the same semantics. The one significant difference is that [[fallthrough]] is ill-formed if it's not used immediately before a switch label (even when -Wimplicit-fallthrough is disabled). To support that, we now build a CFG of any function that uses a '[[fallthrough]];' statement to check. In passing, fix some bugs with our support for statement attributes -- in particular, diagnose their use on declarations, rather than asserting. llvm-svn: 262881
-
Quentin Colombet authored
llvm-svn: 262880
-
Quentin Colombet authored
llvm-svn: 262879
-
Quentin Colombet authored
llvm-svn: 262878
-
Quentin Colombet authored
llvm-config can know tell whether or not a build has been configured to support global-isel. Use '--has-global-isel' for that. llvm-svn: 262877
-
Anna Zaks authored
TSan instrumentation functions for atomic stores, loads, and cmpxchg work on integer value types. This patch adds casts before calling TSan instrumentation functions in cases where the value is a pointer. Differential Revision: http://reviews.llvm.org/D17833 llvm-svn: 262876
-
Sanjay Patel authored
This should make it clearer how this proposed patch: http://reviews.llvm.org/D11393 ...will change codegen. llvm-svn: 262875
-
- Mar 07, 2016
-
-
Sanjay Patel authored
I noticed this test as part of: http://reviews.llvm.org/D11393 ...which is confusing enough as-is. Let's show the exact codegen, so the changes will be more obvious. llvm-svn: 262874
-
Quentin Colombet authored
Now the type API is always available, but when global-isel is not built the implementation does nothing. Note: The implementation free of ifdefs is WIP and tracked here in PR26576. llvm-svn: 262873
-
Aaron Ballman authored
Implement support for [[nodiscard]] in C++1z that is based off existing support for warn_unused_result, and treat it as an extension pre-C++1z. This also means extending the existing warn_unused_result attribute so that it can be placed on an enum as well as a class. llvm-svn: 262872
-
Marshall Clow authored
llvm-svn: 262871
-
Amaury Sechet authored
Summary: It is not used. Reviewers: lhames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17251 llvm-svn: 262870
-
Quentin Colombet authored
The mir infrastructure will need this for generic instructions and currently this feature was only available through the anonymous TypePrinter class. llvm-svn: 262869
-
Quentin Colombet authored
This is useful for MIR serialization. Indeed generic machine instructions must have a type and we don't want to duplicate the logic in the MIParser. llvm-svn: 262868
-
Quentin Colombet authored
llvm-svn: 262867
-
Marshall Clow authored
non-member swap for array was mistakenly taking const ref params. Fixed and added test. Thanks to Ben Craig for the catch llvm-svn: 262866
-
Matt Arsenault authored
llvm-svn: 262865
-
Matt Arsenault authored
llvm-svn: 262864
-
Jim Ingham authored
to each other. This should remove some infrequent teardown crashes when the listener is not the debugger's listener. Processes now need to take a ListenerSP, not a Listener&. This required changing over the Process plugin class constructors to take a ListenerSP, instead of a Listener&. Other than that there should be no functional change. <rdar://problem/24580184> CrashTracer: [USER] Xcode at …ework: lldb_private::Listener::BroadcasterWillDestruct + 39 llvm-svn: 262863
-
Quentin Colombet authored
llvm-svn: 262862
-
Quentin Colombet authored
This is required for mir testing. llvm-svn: 262861
-
Amaury Sechet authored
llvm-svn: 262860
-
Tobias Grosser authored
llvm-svn: 262859
-
Tobias Grosser authored
llvm-svn: 262858
-
Tobias Grosser authored
The cause trouble in the doxygen output. llvm-svn: 262857
-
Quentin Colombet authored
One additional pointer is not a big deal size-wise and it makes the code much nicer! llvm-svn: 262856
-
Tobias Grosser authored
(and test if doxygen is updated on-commit) llvm-svn: 262855
-
Matt Arsenault authored
llvm-svn: 262854
-