- Aug 03, 2012
-
-
Eric Christopher authored
while building as requested by Lang. llvm-svn: 161253
-
Eric Christopher authored
commit code in clang that uses this shortly. llvm-svn: 161252
-
Eric Christopher authored
rdar://11366674 llvm-svn: 161251
-
Jakob Stoklund Olesen authored
llvm-svn: 161250
-
Anna Zaks authored
llvm-svn: 161249
-
Anna Zaks authored
There is no reason why we should not track the memory which was not allocated in the current function, but was freed there. This would allow to catch more use-after-free and double free with no/limited IPA. Also fix a realloc issue which surfaced as the result of this patch. llvm-svn: 161248
-
Howard Hinnant authored
rotate is a critical algorithm because it is often used by other algorithms, both std and non-std. The main thrust of this optimization is a specialized algorithm when the 'distance' to be shifted is 1 (either left or right). To my surprise, this 'optimization' was not effective for types like std::string. std::string favors rotate algorithms which only use swap. But for types like scalars, and especially when the sequence is random access, these new specializations are a big win. If it is a vector<size_t> for example, the rotate is done via a memmove and can be several times faster than the gcd algorithm. I'm using is_trivially_move_assignable to distinguish between types like int and types like string. This is obviously an ad-hoc approximation, but I haven't found a case where it doesn't give good results. I've used a 'static if' (with is_trivially_move_assignable) in three places. Testing with both -Os and -O3 showed that clang eliminated all code not be executed by the 'static if' (including the 'static if' itself). llvm-svn: 161247
-
Eric Christopher authored
packages for particular uses. llvm-svn: 161246
-
Michael Han authored
llvm-svn: 161245
-
Jim Grosbach authored
llvm-svn: 161244
-
Benjamin Kramer authored
llvm-svn: 161243
-
Jakob Stoklund Olesen authored
llvm-svn: 161242
-
Jakob Stoklund Olesen authored
This functionality was added before we started running DeadMachineInstructionElim on all targets. It serves no purpose now. llvm-svn: 161241
-
Gabor Greif authored
this makes this hack a bit more bearable for poor souls who need to pass custom preprocessor flags to the build process llvm-svn: 161240
-
Tobias Grosser authored
Translate the selected parallel loop body into a ptx string and run it with the cuda driver API. We limit this preliminary implementation to target the following special test cases: - Support only 2-dimensional parallel loops with or without only one innermost non-parallel loop. - Support write memory access to only one array in a SCoP. The patch was committed with smaller changes to the build system: There is now a flag to enable gpu code generation explictly. This was required as we need the llvm.codegen() patch applied on the llvm sources, to compile this feature correctly. Also, enabling gpu code generation does not require cuda. This requirement was removed to allow 'make polly-test' runs, even without an installed cuda runtime. Contributed by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 161239
-
Benjamin Kramer authored
llvm-svn: 161237
-
Benjamin Kramer authored
By C++ standard, the vtable should be generated if the first non-inline virtual function is defined in the TU. Current version of clang doesn't generate vtable if the first virtual function is defaulted, because the key function is regarded as the defaulted function. Patch by Li Kan! llvm-svn: 161236
-
Tobias Grosser authored
This fixes a conflict between polly::createIndVarSimplifyPass() and llvm::createIndVarSimplifyPass(), which causes problems on windows. Reported by: Michael Kruse <MichaelKruse@meinersbur.de llvm-svn: 161235
-
Tobias Grosser authored
The Apple linker fails by default, if some function calls can not be resolved at link time. However, all functions that are part of LLVM itself will not be linked into Polly, but will be provided by the compiler that Polly is loaded into. Hence, during linking we need to ignore failures due to unresolved function calls. llvm-svn: 161234
-
Eric Christopher authored
to store additional flag options since too many things can and do override CPPFLAGS. Also, this is exported, unlike CPPFLAGS so it can be actually used elsewhere. This should enable us to remove the AC_SUBSTs in the intel checks, but I have no way of testing it. llvm-svn: 161233
-
Bob Wilson authored
Fast isel doesn't currently have support for translating builtin function calls to target instructions. For embedded environments where the library functions are not available, this is a matter of correctness and not just optimization. Most of this patch is just arranging to make the TargetLibraryInfo available in fast isel. <rdar://problem/12008746> llvm-svn: 161232
-
Bob Wilson authored
This just provides a way to look up a LibFunc::Func enum value for a function name. Alphabetize the enums and function names so we can use a binary search. llvm-svn: 161231
-
Jush Lu authored
llvm-svn: 161230
-
NAKAMURA Takumi authored
llvm-svn: 161229
-
Bill Wendling authored
The "findUsedStructTypes" method is very expensive to run. It needs to be optimized so that LTO can run faster. Splitting this method out of the Module class will help this occur. For instance, it can keep a list of seen objects so that it doesn't process them over and over again. llvm-svn: 161228
-
Eric Christopher authored
rdar://10112601 llvm-svn: 161227
-
Eric Christopher authored
but somehow managed to be dropped later. Patch by Karel Gardas. llvm-svn: 161226
-
Dmitri Gribenko authored
switch. Thanks Sean Silva for suggestion! llvm-svn: 161225
-
Anna Zaks authored
engine. The code that was supposed to split the tie in a deterministic way is not deterministic. Most likely one of the profile methods uses a pointer. After this change we do finally get the consistent diagnostic output. Testing this requires running the analyzer on large code bases and diffing the results. llvm-svn: 161224
-
Richard Trieu authored
llvm-svn: 161223
-
Jim Grosbach authored
llvm-svn: 161222
-
Howard Hinnant authored
llvm-svn: 161221
-
- Aug 02, 2012
-
-
Jim Grosbach authored
llvm-svn: 161220
-
Matt Beaumont-Gay authored
test files. llvm-svn: 161219
-
Jim Grosbach authored
Now that TableGen supports references to NAME w/o it being explicitly referenced in the definition's own name, use that to simplify assembly InstAlias definitions in multiclasses. llvm-svn: 161218
-
Dmitri Gribenko authored
separate flags. llvm-svn: 161217
-
Chad Rosier authored
rdar://12000401 llvm-svn: 161216
-
Dmitri Gribenko authored
templates. llvm-svn: 161215
-
Jordan Rose authored
There's still more work to be done here; this doesn't catch reference parameters or return values. But it's a step in the right direction. Part of <rdar://problem/11212286>. llvm-svn: 161214
-
Dmitri Gribenko authored
llvm-svn: 161211
-