- Nov 01, 2012
-
-
Fariborz Jahanian authored
generation for captured block variables in arc mode. This includes inlined version of the meta-data when it can be done. It also includes severat tests. This is wip. // rdar://12184410. llvm-svn: 167241
-
Argyrios Kyrtzidis authored
preserve the macro location of the range end if the filename came from a macro. Patch by Kim Gräsman! llvm-svn: 167239
-
Howard Hinnant authored
llvm-svn: 167238
-
Kevin Enderby authored
run through the 'C' preprocessor. That is pick up the file name and line numbers from the cpp hash file line comments for the dwarf file and line numbers tables. rdar://9275556 llvm-svn: 167237
-
Greg Clayton authored
llvm-svn: 167236
-
Tobias Grosser authored
If the flags '-polly-report -g' are given, we print file name and line numbers for the beginning and end of all detected scops. linear-algebra/kernels/gemm/gemm.c:23: Scop start linear-algebra/kernels/gemm/gemm.c:42: Scop end linear-algebra/kernels/gemm/gemm.c:77: Scop start linear-algebra/kernels/gemm/gemm.c:82: Scop end llvm-svn: 167235
-
Tobias Grosser authored
llvm-svn: 167234
-
Howard Hinnant authored
Richard Smith: This fixes a problem in std::is_constructible for incomplete types, and those types with a user-defined operator,(). llvm-svn: 167233
-
Rafael Espindola authored
llvm-svn: 167232
-
NAKAMURA Takumi authored
Unsupported CPU type! UNREACHABLE executed at llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp:553! llvm-svn: 167231
-
Kostya Serebryany authored
llvm-svn: 167230
-
Chandler Carruth authored
the inttoptr instruction. The conceptual model here is that 'getAddressSpace' refers to the address space of this instruction's type. It just happens that for GEPs, that is always the same as the pointer operand's address space. We want both names so that access patterns can be consistent between different instruction types. llvm-svn: 167229
-
Chandler Carruth authored
These clarify that the methods called 'getPointerAddressSpace' apply to the pointer *operand* of the instruction. llvm-svn: 167228
-
Chandler Carruth authored
llvm-svn: 167227
-
Chandler Carruth authored
compute the address space in the one place it was used. Also write the getPointerAddressSpace member in terms of the getPointerOperandType member. llvm-svn: 167226
-
Chandler Carruth authored
'@brief' doxygen markup to the now standard '\brief' markup form, in conformance with the coding standards. This will let me continue to write new comments in this form without making things inconsistent. llvm-svn: 167225
-
Chandler Carruth authored
llvm-svn: 167224
-
Chandler Carruth authored
politely and document this feature. This simple API extension then allows us to write all of the Instructions' address space query methods much more simply. No functionality change intended here. llvm-svn: 167223
-
Chandler Carruth authored
r165941: Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis. Despite this commit log, this change primarily changed stuff outside of VMCore, and those changes do not carry any tests for correctness (or even plausibility), and we have consistently found questionable or flat out incorrect cases in these changes. Most of them are probably correct, but we need to devise a system that makes it more clear when we have handled the address space concerns correctly, and ideally each pass that gets updated would receive an accompanying test case that exercises that pass specificaly w.r.t. alternate address spaces. However, from this commit, I have retained the new C API entry points. Those were an orthogonal change that probably should have been split apart, but they seem entirely good. In several places the changes were very obvious cleanups with no actual multiple address space code added; these I have not reverted when I spotted them. In a few other places there were merge conflicts due to a cleaner solution being implemented later, often not using address spaces at all. In those cases, I've preserved the new code which isn't address space dependent. This is part of my ongoing effort to clean out the partial address space code which carries high risk and low test coverage, and not likely to be finished before the 3.2 release looms closer. Duncan and I would both like to see the above issues addressed before we return to these changes. llvm-svn: 167222
-
Chandler Carruth authored
getIntPtrType support for multiple address spaces via a pointer type, and also introduced a crasher bug in the constant folder reported in PR14233. These commits also contained several problems that should really be addressed before they are re-committed. I have avoided reverting various cleanups to the DataLayout APIs that are reasonable to have moving forward in order to reduce the amount of churn, and minimize the number of commits that were reverted. I've also manually updated merge conflicts and manually arranged for the getIntPtrType function to stay in DataLayout and to be defined in a plausible way after this revert. Thanks to Duncan for working through this exact strategy with me, and Nick Lewycky for tracking down the really annoying crasher this triggered. (Test case to follow in its own commit.) After discussing with Duncan extensively, and based on a note from Micah, I'm going to continue to back out some more of the more problematic patches in this series in order to ensure we go into the LLVM 3.2 branch with a reasonable story here. I'll send a note to llvmdev explaining what's going on and why. Summary of reverted revisions: r166634: Fix a compiler warning with an unused variable. r166607: Add some cleanup to the DataLayout changes requested by Chandler. r166596: Revert "Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this! r166591: Delete a directory that wasn't supposed to be checked in yet. r166578: Add in support for getIntPtrType to get the pointer type based on the address space. llvm-svn: 167221
-
Richard Smith authored
We want the diagnostic, and if the load is optimized away, we still want to trap it. Stop checking non-default address spaces; that doesn't work in general. llvm-svn: 167219
-
Hal Finkel authored
When target costs are available, use them to account for the costs of shuffles on internal edges of the DAG of candidate pairs. Because the shuffle costs here are currently for only the internal edges, the current target cost model is trivial, and the chain depth requirement is still in place, I don't yet have an easy test case. Nevertheless, by looking at the debug output, it does seem to do the right think to the effective "size" of each DAG of candidate pairs. llvm-svn: 167217
-
Gregory Szorc authored
Patch provided by Matthias Kleine <matthias_kleine@gmx.de> llvm-svn: 167216
-
Tobias Grosser authored
The detection of values that need to be copied in to the generated OpenMP subfunction also detects the array base addresses needed in the SCoP. Hence, it is not necessary to unconditionally copy all the base addresses to the generated function. Test cases are modified to reflect this change. Arrays which are global variables do not occur in the struct passed to the subfunction anymore. A test case for base address copy-in is added in copy_in_array.{c,ll}. Committed with slight modifications Contributed by: Armin Groesslinger <armin.groesslinger@uni-passau.de> llvm-svn: 167215
-
Tobias Grosser authored
In addition to the arrays and clast variables a SCoP statement may also refer to values defined before the SCoP or to function arguments. Detect these values and add them to the set of values passed to the function generated for OpenMP parallel execution of a clast. Committed with additional test cases and some refactoring. Contributed by: Armin Groesslinger <armin.groesslinger@uni-passau.de> llvm-svn: 167214
-
Tobias Grosser authored
When generating OpenMP or GPGPU code the original ValueMap and ClastVars must be kept. We already recovered the original ClastVars by reverting the changes, but we did not keep the content of the ValueMap. This patch keeps now an explicit copy of both maps and restores them after generating OpenMP or GPGPU code. This is an adapted version of a patch contributed by: Armin Groesslinger <armin.groesslinger@uni-passau.de> llvm-svn: 167213
-
Richard Smith authored
llvm-svn: 167211
-
Richard Smith authored
and apparently unused (and since they are untested, they're presumably also broken). llvm-svn: 167210
-
Michael Liao authored
llvm-svn: 167209
-
NAKAMURA Takumi authored
llvm-svn: 167208
-
NAKAMURA Takumi authored
llvm-svn: 167207
-
Jason Molenda authored
launch process (null)" because we changed argv while doing argument parsing. llvm-svn: 167202
-
Argyrios Kyrtzidis authored
the receiver of an ObjC message expression. rdar://12578643 llvm-svn: 167201
-
Owen Anderson authored
llvm-svn: 167200
-
NAKAMURA Takumi authored
llvm-svn: 167199
-
Jakob Stoklund Olesen authored
The static compose() function in RegisterCoalescer was doing the exact same thing. llvm-svn: 167198
-
Jim Ingham authored
There seems to be some odd corner case where we shut down the ProcessGDBRemote, but we haven't managed to shut down the async thread. That causes the ProcessGDBRemote::AsyncThread to crash when it wakes up. So I changed StartAsyncThread and StopAsyncThread to be callable multiple times (only the first one does anything) so that we can just shut it down unequivocally in the ProcessGDBRemote destructor. <rdar://problem/12602981> llvm-svn: 167197
-
Jakub Staszak authored
llvm-svn: 167196
-
Jordan Rose authored
Specifically, if adding a constraint makes the current system infeasible, assume the constraint is false, instead of attempting to add its negation. In +Asserts builds we will still assert that at least one state is feasible. Patch by Ryan Govostes! llvm-svn: 167195
-
Jim Ingham authored
Switch from using KERN_PROCARGS2 to get the path to the executed process to proc_pidpath. The former was flakey, and the whole point of libproc is to protect us from potential flakiness at that level... <rdar://problem/12594781> llvm-svn: 167194
-