- Mar 08, 2012
-
-
Tobias Grosser authored
The FinalRead statement represented a virtual read that is executed after the SCoP. It was used when we verified the correctness of a schedule by checking if it yields the same FLOW dependences as the original code. This is only works, if we have a final read that reads all memory at the end of the SCoP. We now switched to just checking if a schedule does not introduce negative dependences and also consider WAW WAR dependences. This restricts the schedules a little bit more, but we do not have any optimizer that would calculate a more complex schedule. Hence, for now final reads are obsolete. llvm-svn: 152319
-
Tobias Grosser authored
llvm-svn: 152318
-
Rafael Espindola authored
llvm-svn: 152317
-
Rafael Espindola authored
llvm-svn: 152316
-
Duncan Sands authored
Patch by jey. llvm-svn: 152315
-
Tobias Grosser authored
llvm-svn: 152311
-
Tobias Grosser authored
llvm-svn: 152310
-
Tobias Grosser authored
llvm-svn: 152309
-
Tobias Grosser authored
llvm-svn: 152308
-
Tobias Grosser authored
llvm-svn: 152307
-
Tobias Grosser authored
llvm-svn: 152306
-
Tobias Grosser authored
llvm-svn: 152305
-
Duncan Sands authored
buildbots. Original commit message: [ADT] Change the trivial FoldingSetNodeID::Add* methods to be inline, reapplied with a fix for the longstanding over-read of 32-bit pointer values. llvm-svn: 152304
-
Richard Smith authored
llvm-svn: 152303
-
Richard Smith authored
user-defined-floating-literal. Support for raw forms of these literals to follow. llvm-svn: 152302
-
Craig Topper authored
llvm-svn: 152301
-
Daniel Dunbar authored
with a fix for the longstanding over-read of 32-bit pointer values. llvm-svn: 152300
-
Stepan Dyatkovskiy authored
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*". ConstCaseIt is just a read-only iterator. CaseIt is read-write iterator; it allows to change case successor and case value. Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters. Main way of iterator usage looks like this: SwitchInst *SI = ... // intialize it somehow for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) { BasicBlock *BB = i.getCaseSuccessor(); ConstantInt *V = i.getCaseValue(); // Do something. } If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method. If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method. There are also related changes in llvm-clients: klee and clang. llvm-svn: 152298
-
Stepan Dyatkovskiy authored
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*". ConstCaseIt is just a read-only iterator. CaseIt is read-write iterator; it allows to change case successor and case value. Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters. Main way of iterator usage looks like this: SwitchInst *SI = ... // intialize it somehow for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) { BasicBlock *BB = i.getCaseSuccessor(); ConstantInt *V = i.getCaseValue(); // Do something. } If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method. If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method. There are also related changes in llvm-clients: klee and clang. llvm-svn: 152297
-
Craig Topper authored
Original commit message: Use uint16_t to store InstrNameIndices in MCInstrInfo. Add asserts to protect all 16-bit string table offsets. Also make sure the string to offset table string is not larger than 65536 characters since larger string literals aren't portable. llvm-svn: 152296
-
Daniel Dunbar authored
inline.", which is breaking the bots in a way I don't understand. llvm-svn: 152295
-
Greg Clayton authored
llvm-svn: 152294
-
Jason Molenda authored
shouldn't compile any of the XPC support code. Update macosx/Host.mm to use that define. Add a LLDB_DISABLE_PYTHON ifdef block around a new function in Core/FormatManager.cpp. <rdar://problem/10942125> llvm-svn: 152293
-
Akira Hatanaka authored
llvm-svn: 152292
-
rdar://problem/11007934Greg Clayton authored
On darwin, if child process of process being debugged dies due to mach exception, the debugged process will die. debugserver now only handles the mach exceptions for the task being debugged. llvm-svn: 152291
-
Akira Hatanaka authored
llvm-svn: 152290
-
Daniel Dunbar authored
llvm-svn: 152289
-
Daniel Dunbar authored
llvm-svn: 152288
-
Richard Smith authored
starting with an underscore is ill-formed. Since this rule rejects programs that were using <inttypes.h>'s macros, recover from this error by treating the ud-suffix as a separate preprocessing-token, with a DefaultError ExtWarn. The approach of treating such cases as two tokens is under discussion for standardization, but is in any case a conforming extension and allows existing codebases to keep building while the committee makes up its mind. Reword the warning on the definition of literal operators not starting with underscores (which are, strangely, legal) to more explicitly state that such operators can't be called by literals. Remove the special-case diagnostic for hexfloats, since it was both triggering in the wrong cases and incorrect. llvm-svn: 152287
-
Sean Callanan authored
This takes two important changes: - Calling blocks is now supported. You need to cast their return values, but that works fine. - We now can correctly run JIT-compiled expressions that use floating-point numbers. Also, we have taken a fix that allows us to ignore access control in Objective-C as in C++. llvm-svn: 152286
-
Akira Hatanaka authored
For example, this pattern (select (setcc lhs, rhs, cc), true, 0) is transformed to this one: (select (setcc lhs, rhs, inverse(cc)), 0, true) This enables MipsDAGToDAGISel::ReplaceUsesWithZeroReg (added in r152280) to replace 0 with $zero. llvm-svn: 152285
-
Douglas Gregor authored
"false" for declarations that aren't members of classes. Fixes PR12106. llvm-svn: 152284
-
Chandler Carruth authored
analysis to be methods on the cost analysis's function info object instead of the code metrics object. These really are just users of the code metrics, they're building the information for the function's analysis. This is the first step of growing the amount of information we collect about a function in order to cope with pair-wise simplifications due to allocas. llvm-svn: 152283
-
Akira Hatanaka authored
llvm-svn: 152282
-
Daniel Dunbar authored
llvm-svn: 152281
-
Akira Hatanaka authored
For example, the first instruction in the code below can be eliminated if the use of $vr0 is replaced with $zero: addiu $vr0, $zero, 0 add $vr2, $vr1, $vr0 add $vr2, $vr1, $zero llvm-svn: 152280
-
Daniel Dunbar authored
builds. Sheesh. llvm-svn: 152279
-
Andrew Trick authored
Allow targets to provide their own schedulers (subclass of ScheduleDAGInstrs) to the misched pass. Select schedulers using -misched=... llvm-svn: 152278
-
Richard Smith authored
llvm-svn: 152277
-
Richard Trieu authored
to its own member function. llvm-svn: 152276
-