- Jul 28, 2014
-
-
Duncan P. N. Exon Smith authored
Somehow this wasn't being built before (only noticed now since the test was XFAILed). llvm-svn: 214128
-
Duncan P. N. Exon Smith authored
Predict and serialize use-list order in bitcode. This makes the option `-preserve-bc-use-list-order` work *most* of the time, but this is still experimental. - Builds a full value-table up front in the writer, sets up a list of use-list orders to write out, and discards the table. This is a simpler first step than determining the order from the various overlapping IDs of values on-the-fly. - The shuffles stored in the use-list order list have an unnecessarily large memory footprint. - `blockaddress` expressions cause functions to be materialized out-of-order. For now I've ignored this problem, so use-list orders will be wrong for constants used by functions that have block addresses taken. There are a couple of ways to fix this, but I don't have a concrete plan yet. - When materializing functions lazily, the use-lists for constants will not be correct. This use case is out of scope: what should the use-list order be, if it's incomplete? This is part of PR5680. llvm-svn: 214125
-
Richard Smith authored
llvm-svn: 214124
-
Duncan P. N. Exon Smith authored
This is part of PR5680. llvm-svn: 214123
-
Duncan P. N. Exon Smith authored
This is part of PR5680. llvm-svn: 214122
-
Duncan P. N. Exon Smith authored
A follow-up commit for PR5680 needs to visit functions in reverse order. Expose iterators to allow that. llvm-svn: 214121
-
Joerg Sonnenberger authored
char-based types from "char" to "signed char". Adjust stdint.h to use __INTx_TYPE__ directly without prefixing it with signed and to use __UINTx_TYPE__ for unsigned ones. The value of __INTx_TYPE__ now matches GCC. llvm-svn: 214119
-
Lang Hames authored
llvm-svn: 214117
-
Rafael Espindola authored
llvm-svn: 214116
-
Manman Ren authored
Typedef DIArray to DITypedArray<DIDescriptor>. Also typedef DITypeArray as DITypedArray<DITypeRef>. This is the third of a series of patches to handle type uniqueing of the type array for a subroutine type. This commit should have no functionality change. llvm-svn: 214115
-
Alexey Samsonov authored
Pass target name ("cxxabi") to target_link_libraries(cxx ...) to ensure that linker is able to locate just-built libc++abi in the build tree, instead of relying on "-lc++abi" linker flag. llvm-svn: 214114
-
Manman Ren authored
This is the paired commit with llvm r214112. llvm-svn: 214113
-
Manman Ren authored
This is the second of a series of patches to handle type uniqueing of the type array for a subroutine type. For vector and array types, getElements returns the array of subranges, so it is a better name than getTypeArray. Even for class, struct and enum types, getElements returns the members, which can be subprograms. setArrays can set up to two arrays, the second is the templates. This commit should have no functionality change. llvm-svn: 214112
-
Manman Ren authored
This is the first of a series of patches to handle type uniqueing of the type array for a subroutine type. This commit makes sure unspecified_parameter is a DIType to enable converting the type array for a subroutine type to an array of DITypes. This commit should have no functionality change. With this commit, we may change unspecified type to be a DITrivialType instead of a DIType. llvm-svn: 214111
-
Kaelyn Takata authored
The new flag, WantFunctionLikeCasts, covers a subset of the keywords covered by WantTypeSpecifiers that can be used in casts that look like function calls, e.g. "return long(5);", while excluding the keywords like "enum" and "const" that would be included when WantTypeSpecifiers is true but cannot be used in something that looks like a function call. llvm-svn: 214109
-
Matt Arsenault authored
llvm-svn: 214108
-
Alex Lorenz authored
The gcov compatible code is moved to its own file and llvm-cov is updated to be a wrapper that always calls the gcov main function. llvm-svn: 214107
-
Matt Arsenault authored
All the others use bool, so these should too. llvm-svn: 214106
-
Chandler Carruth authored
inspection in the proccess, and shuffle the logging in the DAG combiner around a bit. With this it is much easier to follow what the legalizer is doing. It should even accurately present most of the strange legalization operations where a single node is replaced by multiple nodes, etc. There is still some information lost (we log SDNodes not SDValues so we don't log which result is used for which thing), but I think this is much closer to a usable system. Notably, this will make it *much* more apparant when legalization is actually happening inside the combiner, or when there is a cycle caused by interactions of the legalizer and the combiner. The "bug" I fixed here I'm not sure is remotely possible to trigger. We were only adding one of the nodes in a replacement to the updated set rather than all of the nodes in the replacement. Realistically, the worst result of this are nodes not getting back onto the worklist in the DAG combiner. I doubt it is possible to trigger this today, and I certainly don't have any ideas about how, but this at least brings the code into alignment with the principled operation of the routine. llvm-svn: 214105
-
Matt Arsenault authored
The default guess uses i32. This needs an address space argument to really do the right thing in all cases. llvm-svn: 214104
-
Reid Kleckner authored
llvm-svn: 214103
-
Rafael Espindola authored
llvm-svn: 214102
-
Matt Arsenault authored
llvm-svn: 214101
-
Matt Arsenault authored
llvm-svn: 214100
-
Adam Nemet authored
Part of <rdar://problem/17688758> llvm-svn: 214099
-
Adam Nemet authored
Part of <rdar://problem/17688758> llvm-svn: 214098
-
Adam Nemet authored
There is no functional change here. The idea is to have a similar order and categories of functions that we have in avxintrin.h. llvm-svn: 214097
-
Adam Nemet authored
llvm-svn: 214096
-
Adam Nemet authored
llvm-svn: 214095
-
Zachary Turner authored
This patch creates a simple ProcessWindows process plugin. The only thing it knows how to do currently is create processes. Differential Revision: http://reviews.llvm.org/D4681 llvm-svn: 214094
-
Zachary Turner authored
Assuming that the user's home directory is at ~ is incorrect on Windows. This patch delegates the request to LLVM's support library, which already provides a cross-platform implementation of this function. Differential Revision: http://reviews.llvm.org/D4674 llvm-svn: 214093
-
Zachary Turner authored
i386, i486, i486sx, and i686 are all indistinguishable as far as PE/COFF files are concerned. This patch adds support for all of these architectures to PlatformWindows. Differential Revision: http://reviews.llvm.org/D4658 llvm-svn: 214092
-
Zachary Turner authored
llvm-svn: 214091
-
Fariborz Jahanian authored
not auto synthesized in current implementation. rdar://17774815 llvm-svn: 214090
-
DeLesley Hutchins authored
til::SExpr. This is a large patch, with many small changes to pretty printing and expression lowering to make the new SExpr representation equivalent in functionality to the old. llvm-svn: 214089
-
Marshall Clow authored
Fix PR#20471. Add a cast in __align_it to ensure that the bit twiddling is done at the correct size. A better solution, IMHO, would be to declare vector<bool>::__bits_per_word as 'size_type', rather than 'unsigned', but that's a possible ABI change. llvm-svn: 214088
-
Rafael Espindola authored
llvm-svn: 214087
-
Dario Domizioli authored
Added coverage for: * More than one "off region" in the same file * An "off region" falling off the end of an included file llvm-svn: 214086
-
Simon Atanasyan authored
The exe-got.test test case is target independent. llvm-svn: 214085
-
Daniel Jasper authored
Initial patch and tests by Kaushik Sridharan, thank you! llvm-svn: 214084
-