search for: eliminatingvoid

Displaying 7 results from an estimated 7 matches for "eliminatingvoid".

2008 Apr 27
8
[LLVMdev] Two new 'llvmnotes'
Hi all, For anyone interested, I posted two new ideas for changes to the LLVM IR. The first is basically a cleanup, the second is a major new feature: Eliminating the 'Void' Type: http://nondot.org/sabre/LLVMNotes/EliminatingVoid.txt Aggregates as First Class Values: http://nondot.org/sabre/LLVMNotes/FirstClassAggregates.txt Thanks to Dan Gohman for convincing me that aggregates as first class values is really possible, I think it is a great idea. -Chris
2008 May 05
0
[LLVMdev] Two new 'llvmnotes'
Hi Chris, > Eliminating the 'Void' Type: > http://nondot.org/sabre/LLVMNotes/EliminatingVoid.txt might not some ABI's require some special stuff when returning a struct, regardless of whether the struct is empty or not? If so this might add a cost if you use {} for void. Also, there are an infinite number of different ways of returning void: return {} or {{}} or {{{}}} etc, not to m...
2008 Jun 07
0
[LLVMdev] Plans considering first class structs and multiple return values
...This also requires a > guarantee that > nothing special happens to the return value as a whole, but only the > individual elements are accessed through extractvalue. After MRVs are working really well, I'd like to consider removing the void type: http://nondot.org/sabre/LLVMNotes/EliminatingVoid.txt This would make it so that calls always return a value, and 'ret' always takes a value. This would be a nice simplification to the IR I think. > > > >> Ok. And as I mentioned before, we can add buildagg (maybe with a >> different name ;-)) > Yeah, builddag...
2012 Apr 21
2
[LLVMdev] Eliminating the 'void' type
Hello all, I noticed Eliminating the 'void' type<http://nondot.org/sabre/LLVMNotes/EliminatingVoid.txt>in Random LLVM notes. I am wondering to know what's the meaning of "eliminating" the void type. Is it means the goal is deleting VoidTyID from TypeID enumeration in Type.h? And what Type::getVoidTy() returned is a pointer to a {}? Thanks Mitnick -------------- next part -----...
2008 Apr 27
0
[LLVMdev] Two new 'llvmnotes'
...ing value. Chris Lattner wrote: > Hi all, > > For anyone interested, I posted two new ideas for changes to the LLVM > IR. The first is basically a cleanup, the second is a major new > feature: > > Eliminating the 'Void' Type: > http://nondot.org/sabre/LLVMNotes/EliminatingVoid.txt > > Aggregates as First Class Values: > http://nondot.org/sabre/LLVMNotes/FirstClassAggregates.txt > > Thanks to Dan Gohman for convincing me that aggregates as first class > values is really possible, I think it is a great idea. > > -Chris > _______________________...
2008 Jun 02
2
[LLVMdev] Plans considering first class structs and multiple return values
Hi Dan, > The requirement to update all callers' call instructions when a callee > gets a new return value is also present in the current MRV-mechanism > with getresult. It's not been a problem we've worried about so far. I didn't mean you can get away without updating your calllers, I'm just saying it could be a bit easier. > Can you give some background about
2008 Jun 09
3
[LLVMdev] Plans considering first class structs and multiple return values
...gether with whatever you want to add and then letting other passes make something pretty out of the resulting extractvalue/insertvalue forest will work just fine. > After MRVs are working really well, I'd like to consider removing the > void type: > http://nondot.org/sabre/LLVMNotes/EliminatingVoid.txt > > This would make it so that calls always return a value, and 'ret' > always takes a value. This would be a nice simplification to the IR I > think. Doing this will make functions returning a single value stand out even more, since a function returning 0 or more than...