search for: rbegin

Displaying 20 results from an estimated 21 matches for "rbegin".

Did you mean: begin
2014 Mar 03
2
[LLVMdev] C++11 reverse iterators (was C++11 is here)
On 3 March 2014 12:13, Pete Cooper <peter_cooper at apple.com> wrote: > It would also be good to agree on a way to handle reverse iterators, especially on those which already use begin() and end() for going forwards. For example rbegin() and rend()? --renato
2015 Apr 01
2
[LLVMdev] Why the fault?
for (BasicBlock::reverse_iterator I = BB.rbegin(), E = BB.rend(); I != E; ) { Instruction& inst = *I; ++I; <-- iterator should be advanced to the previous instruction // Happens to be an Instruction::SExt. // Works fine if I iterate forwards if (isInstructionTriviallyDead(&inst, TLI)) inst.eraseFromParent(...
2014 Mar 03
3
[LLVMdev] C++11 reverse iterators (was C++11 is here)
...2:32, Pete Cooper <peter_cooper at apple.com> wrote: > Would those work with a foreach construct? Perhaps I forgot to mention that was what I'm trying to work out here. > > In example 3 I was wondering if we could define a method reverse(). We could use sfinae to wrap that around rbegin/rend if people like that style? Sorry, I was too terse... ;) If MF is a reverse_iterator, it'd just work, no? But to get the reverse iterator, I think reverse() would be the best general pattern, since you can adapt it to each container needs. cheers, --renato
2014 Mar 03
3
[LLVMdev] [cfe-dev] C++11 reverse iterators (was C++11 is here)
...apple.com> wrote: > >> Would those work with a foreach construct? Perhaps I forgot to mention > that was what I'm trying to work out here. > >> > >> In example 3 I was wondering if we could define a method reverse(). We > could use sfinae to wrap that around rbegin/rend if people like that style? > > > > Sorry, I was too terse... ;) > > > > If MF is a reverse_iterator, it'd just work, no? But to get the > > reverse iterator, I think reverse() would be the best general pattern, > > since you can adapt it to each containe...
2014 Mar 04
3
[LLVMdev] [cfe-dev] C++11 reverse iterators (was C++11 is here)
...apple.com> wrote: > >> Would those work with a foreach construct? Perhaps I forgot to mention > that was what I'm trying to work out here. > >> > >> In example 3 I was wondering if we could define a method reverse(). We > could use sfinae to wrap that around rbegin/rend if people like that style? > > > > Sorry, I was too terse... ;) > > > > If MF is a reverse_iterator, it'd just work, no? But to get the > > reverse iterator, I think reverse() would be the best general pattern, > > since you can adapt it to each containe...
2013 Dec 24
2
[LLVMdev] Quirk in switch lowering
...the assignments to LDensity und RDensity by: volatile double LDensity = (double)(LSize-1).roundToDouble() / (LEnd - First + 1ULL).roundToDouble(); volatile double RDensity = (double)(RSize-1).roundToDouble() / (Last - RBegin + 1ULL).roundToDouble(); I replaced ?Size by (?Size-1). Here is a more or less stupid test program (translate with "clang -O3 -S test.cpp" and then look at test.s): int main(int argc, char **argv) { switch (argc) { case 100: return 1; case 200: return 2; case 300: re...
2014 Mar 03
2
[LLVMdev] [cfe-dev] C++11 reverse iterators (was C++11 is here)
..._cooper at apple.com> wrote: > >> Would those work with a foreach construct? Perhaps I forgot to mention that was what I'm trying to work out here. > >> > >> In example 3 I was wondering if we could define a method reverse(). We could use sfinae to wrap that around rbegin/rend if people like that style? > > > > Sorry, I was too terse... ;) > > > > If MF is a reverse_iterator, it'd just work, no? But to get the > > reverse iterator, I think reverse() would be the best general pattern, > > since you can adapt it to each containe...
2017 Feb 17
2
[MemorySSA] inserting or removing memory instructions
Hi guys, a question about updating memory SSA: Is it expected that e.g insertion of MemoryDef doesn't change all dominated uses? For example test case CreateLoadsAndStoreUpdater produces: define void @F(i8*) { ; 1 = MemoryDef(liveOnEntry) store i8 16, i8* %0 ; 4 = MemoryDef(1) store i8 16, i8* %0 br i1 true, label %2, label %3 ; <label>:2: ;
2017 Feb 17
2
[MemorySSA] inserting or removing memory instructions
...es (you only have to change the uses, defs are all linked together and thus already fixed by the updater). Right now it only does that if they have no defining access. Make it skip blocks already in the visited set (the incomingval to pass to successors is the existing incoming val if getDefsList.rbegin() == getDefsList.rend(), and getDefsList.rbegin() otherwise) to prevent duplicate work from the below: Now: call renamepass on the bb for the inserted def, using the defining access of the first def as the incoming val. call renamepass on the bb of each inserted phi (you can use a null incoming v...
2010 Nov 10
0
[LLVMdev] Liveness analysis on MachineBasicBlock
...compute the liveness information for each MachineInstr in each MachineBasicBlock. I am not sure if it is correct. Here is how I compute the info. For each MachineBasicBlock MBB compute the LiveOuts of MBB by unioning all the LiveIns of its successors for each MachineInstr MI = MBB->rbegin() to MBB->rend() compute the LiveOuts of each MI by LiveIn = Uses Union (LiveOuts - Defs) I am not sure that the LiveIns of each MachineBasicBlock are updated during each pass. Also, it seems that the MachineBasicBlock's at the end of a MachineFunction should include the registe...
2014 Mar 01
2
[LLVMdev] C++11 is here!!! (and it looks like it'll stay!)
On 1 March 2014 19:24, David Chisnall <David.Chisnall at cl.cam.ac.uk> wrote: > for (auto V : X.foo()) { > ... > } +1 --renato
2008 May 11
0
[LLVMdev] Python bindings available.
On May 11, 2008, at 07:36, Mahadevan R wrote: > Hi Gordon, > > Thanks for your comments. >> No problem. >> :) Type handles in particular are very important. You can't form a >> recursive type without using them, so you can't build any sort of >> data structure. > > On it already. BTW, where can I find a good example of how to use it? To close
2008 May 12
1
[LLVMdev] Python bindings available.
...> instruction, where that instruction might appear later in > reversed(block.instructions)--dangling pointer, boom! :) On the other OK, that makes sense. I'll use first-class iterators. Python iterators don't support reverse iteration though. Even if the container supports it (ala rbegin/rend in C++). The "iterator protocol" is defined only for forward iteration. That's why the "reversed()" idiom. BTW, I didn't find any APIs for deleting an instruction? > hand, creating a copy as your code presumably does is also sometimes > exactly what's...
2018 Sep 30
3
xapian parser bug?
On Sun, Sep 30, 2018 at 09:50:30AM +0100, James Aylett wrote: > Note that I'm using 1.4.7, and from your output I believe you're not > (the * in the query description I believe doesn't happen in those > situations any more). 1.4.4 and later eliminate redundant 0 scaling factors, but this one isn't actually redundant: > > Query(((Tmail AND 0 * XSUBJECTnot at 1)
2008 May 11
2
[LLVMdev] Python bindings available.
Hi Gordon, Thanks for your comments. > > Constant.string(value, dont_null_terminate) -- value is a string > > Constant.struct(consts, packed) -- a struct, consts is a list of > > other constants, packed is boolean > > I did this in Ocaml initially, but found the boolean constants pretty > confusing to read in code. I kept asking "What's that random true
2014 Mar 05
2
[LLVMdev] [cfe-dev] C++11 reverse iterators (was C++11 is here)
..._cooper at apple.com> wrote: > >> Would those work with a foreach construct? Perhaps I forgot to mention that was what I'm trying to work out here. > >> > >> In example 3 I was wondering if we could define a method reverse(). We could use sfinae to wrap that around rbegin/rend if people like that style? > > > > Sorry, I was too terse... ;) > > > > If MF is a reverse_iterator, it'd just work, no? But to get the > > reverse iterator, I think reverse() would be the best general pattern, > > since you can adapt it to each containe...
2008 Jan 27
0
[LLVMdev] BreakCriticalMachineEdge.h
Fernando, The code there should be more or less functional, though it's not currently used by anything. Eventually it should probably be moved to a method on MachineBasicBlock. The API breakage you're seeing is because some methods moved around. Feel free to fix it. :-) --Owen On Jan 26, 2008, at 6:31 PM, Fernando Magno Quintao Pereira wrote: > > Hi LLVMers, > >
2008 Jan 27
2
[LLVMdev] BreakCriticalMachineEdge.h
Hi LLVMers, what is the status of breaking critical edges in machine functions? I just compiled the top of the LLVM tree, and I found llvm/CodeGen/BreakCriticalMachineEdge.h. But this file seems not to be up-to-date with the other classes in the top of the tree. For instance, it calls isTerminatorInstr on llvm::TargetInstrInfo, but this method is no longer there. If I want to break
2012 Aug 31
0
Wine release 1.5.12
...ute c++ related tests on 64-bit systems. user32: Don't limit time needed for WM_DDE_INITIATE processing. msvcp100: Removed virtual function callers for functions that are not virtual. msvcp80: Forward basic_string::erase functions to msvcp90. msvcp80: Fixed basic_string::rbegin and basic_string::rend implementation. comctl32: Remove property sheet page that can't be initialized. wbemprox: Added MaxClockSpeed and NumberOfLogicalProcessors builtin properties. dxdiagn: Initialize ProcessorEnglish property. Rico Sch?ller (34): d3dx9: Return NULL i...
2011 Sep 23
0
Wine release 1.3.29
...msvcp90: Added basic_string::push_back(char) implementation. msvcp: Sync spec files. msvcrt: Improve operator new implementation. msvcp90: Added set_new_handler implementation. msvcp90: Added basic_string::empty() implementation. msvcp90: Added basic_string::{begin,rbegin,end,rend} implementation. msvcp90: Added basic_string::_Chassign implementation. msvcp90: Added basic_string::_Copy_s implementation. msvcp90: Added basic_string::_Pdif implementation. msvcp90: Added basic_string::append functions. msvcp: Sync spec files. msvcp90...