- Jan 13, 2014
-
-
Chandler Carruth authored
directory. These passes are already defined in the IR library, and it doesn't make any sense to have the headers in Analysis. Long term, I think there is going to be a much better way to divide these matters. The dominators code should be fully separated into the abstract graph algorithm and have that put in Support where it becomes obvious that evn Clang's CFGBlock's can use it. Then the verifier can manually construct dominance information from the Support-driven interface while the Analysis library can provide a pass which both caches, reconstructs, and supports a nice update API. But those are very long term, and so I don't want to leave the really confusing structure until that day arrives. llvm-svn: 199082
-
Chandler Carruth authored
Should fix the build. llvm-svn: 199081
-
Chandler Carruth authored
llvm-svn: 199080
-
Chandler Carruth authored
added in LLVM r199078. llvm-svn: 199079
-
Chandler Carruth authored
This moves the old pass creation functionality to its own header and updates the callers of that routine. Then it adds a new PM supporting bitcode writer to the header file, and wires that up in the opt tool. A test is added that round-trips code into bitcode and back out using the new pass manager. llvm-svn: 199078
-
NAKAMURA Takumi authored
llvm-svn: 199077
-
NAKAMURA Takumi authored
It was too late to set BUG_REPORT_URL after configure_file(config.h). BUG_REPORT_URL in config.h.cmake would be updated at 2nd run of cmake. It caused many recompilations. FYI, configure handles BUG_REPORT_URL in llvm side. llvm-svn: 199076
-
Chandler Carruth authored
This lets us round-trip IR in the expected manner with the opt tool. llvm-svn: 199075
-
Nick Kledzik authored
llvm-svn: 199074
-
Alexey Bataev authored
llvm-svn: 199073
-
NAKAMURA Takumi authored
llvm-svn: 199072
-
Chandler Carruth authored
that through the interface rather than a simple bool. This should allow starting to wire up real output to round-trip IR through opt with the new pass manager. llvm-svn: 199071
-
Kevin Qin authored
llvm-svn: 199070
-
Kevin Qin authored
This patch covered 2 more scenarios: 1. Two operands of shuffle_vector are the same, like %shuffle.i = shufflevector <8 x i8> %a, <8 x i8> %a, <8 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14> 2. One of operands is undef, like %shuffle.i = shufflevector <8 x i8> %a, <8 x i8> undef, <8 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14> After this patch, perm instructions will have chance to be emitted instead of lots of INS. llvm-svn: 199069
-
Saleem Abdulrasool authored
The target specific parser should return `false' if the target AsmParser handles the directive, and `true' if the generic parser should handle the directive. Many of the target specific directive handlers would `return Error' which does not follow these semantics. This change simply changes the target specific routines to conform to the semantis of the ParseDirective correctly. Conformance to the semantics improves diagnostics emitted for the invalid directives. X86 is taken as a sample to ensure that multiple diagnostics are not presented for a single error. llvm-svn: 199068
-
Nico Weber authored
Also regroup these flags so that alike flags are next to each other, while keeping the list still mostly alphabetical. The help text isn't ideal, but I feel it's less maze-like than http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Preprocessor-Options.html (look at the entry for '-MMD' and count how many other entries you need to look up until you know what it does). And it looks like -M / -MM are mostly an historical accident and most people use -MD or -MMD for deps tracking these days, so make -M / -MM refer to -MD / -MMD instead of the other way round. llvm-svn: 199067
-
- Jan 12, 2014
-
-
Joey Gouly authored
No functionality change. llvm-svn: 199066
-
Jakob Stoklund Olesen authored
Targets like SPARC and MIPS have delay slots and normally bundle the delay slot instruction with the corresponding terminator. Teach isBlockOnlyReachableByFallthrough to find any MBB operands on bundled terminators so SPARC doesn't need to specialize this function. llvm-svn: 199061
-
NAKAMURA Takumi authored
DynamicASTMatchers/VariantValueTest.cpp: It works with msvcrt since setmode(stderr, O_BINARY) were removed. llvm-svn: 199059
-
NAKAMURA Takumi authored
llvm-svn: 199058
-
NAKAMURA Takumi authored
raw_fd_ostream: Don't change STDERR to O_BINARY, or w*printf() (in assert()) would barf wide chars after llvm::errs(). llvm-svn: 199057
-
Nico Rieck authored
llvm-svn: 199055
-
Alp Toker authored
The canonical documentation in the header is up-to-date. llvm-svn: 199054
-
Alp Toker authored
Various attribute flavours are supported in C++98. Make it clear that this compatibility warning relates specifically to C++11-style generalized attributes. llvm-svn: 199053
-
NAKAMURA Takumi authored
FIXME: It should be generic to C++11. For now, it is dedicated to mingw-w64. llvm-svn: 199052
-
NAKAMURA Takumi authored
Use intel syntax, or "shl" might hit "pushl". llvm-svn: 199051
-
Nico Rieck authored
Reset SelectionDAGBuilder's SDNodeOrder to ensure deterministic code generation. llvm-svn: 199050
-
Chandler Carruth authored
This implements the legacy passes in terms of the new ones. It adds basic testing using explicit runs of the passes. Next up will be wiring the basic output mechanism of opt up when the new pass manager is engaged unless bitcode writing is requested. llvm-svn: 199049
-
Chandler Carruth authored
through being editted, and I forgot to delete it before committing. What's more awesome is that it compiles cleanly! llvm-svn: 199048
-
Chandler Carruth authored
API is exposed. This removes the support for deleting the ostream, switches the member and constructor order arround to be consistent with the creation routines, and switches to using references. llvm-svn: 199047
-
Chandler Carruth authored
llvm-svn: 199046
-
Chandler Carruth authored
update in LLVM r199044. llvm-svn: 199045
-
Chandler Carruth authored
Nothing was using the ability of the pass to delete the raw_ostream it printed to, and nothing was trying to pass it a pointer to the raw_ostream. Also, the function variant had a different order of arguments from all of the others which was just really confusing. Now the interface accepts a reference, doesn't offer to delete it, and uses a consistent order. The implementation of the printing passes haven't been updated with this simplification, this is just the API switch. llvm-svn: 199044
-
Chandler Carruth authored
the heavy factoring needed to share logic between the new pass manager and the old. llvm-svn: 199043
-
Chandler Carruth authored
llvm-svn: 199042
-
Chandler Carruth authored
name to match the source file which I got earlier. Update the include sites. Also modernize the comments in the header to use the more recommended doxygen style. llvm-svn: 199041
-
Chandler Carruth authored
indent the outer-most llvm namespace in header files. llvm-svn: 199040
-
Chandler Carruth authored
code. Copious tests added to cover these cases. llvm-svn: 199039
-
Chandler Carruth authored
nests to the opt commandline support. This also showcases the implicit-initial-manager support which will be most useful for testing. There are several bugs that I spotted by inspection here that I'll fix with test cases in subsequent commits. llvm-svn: 199038
-
Jakob Stoklund Olesen authored
llvm-svn: 199037
-