search for: irgen

Displaying 20 results from an estimated 128 matches for "irgen".

Did you mean: rgen
2010 Dec 17
0
[LLVMdev] [cfe-dev] Modify the LLVM front-end to support EFI C and Add LLVM to EFI Byte Code(EBC) target
...I would > suggest adding a EBC target to LLVM first. Otherwise you have no way > to test the clang modifications. As was stated in the last post on this subject, EFI C has integer types that have a size determined at run time. I can't see how this would be integrated into the existing IRGen infrastructure in clang without some serious modification, nor how you would represent these in LLVM IR. Mapping from a language that has variable-sized ints, to a target that has variable-sized ints, via an intermediate representation that does not have variable-sized ints would be tricky, I susp...
2010 Dec 17
1
[LLVMdev] [cfe-dev] Modify the LLVM front-end to support EFI C and Add LLVM to EFI Byte Code(EBC) target
On Thu, Dec 16, 2010 at 5:42 PM, Lu Mitnick <king19880326 at gmail.com> wrote: > Hello all, > > I want to the do followings: > > (1) Modify the LLVM front-end(clang) to support EFI C > > (2) Add EFI Byte Code target to LLVM > > I am wondering to know which task should I do first, modify front end or > porting LLVM? > > thanks > > yi-hong As long as
2015 May 27
3
[LLVMdev] RFC: Separate machine IR from lib/CodeGen into lib/MIR
...really significant refactoring of every part of the code generator. While I would like to see this happen, is it really a good idea to put this in the critical path of getting MIR serialized and deserialized? > > Also, if we’re getting crazy here, CodeGen in clang should be renamed to > IRGen, AsmPrinter should be renamed to MCGen, and SelectionDAG should be > replaced ;-) > I'm happy to actually do the CodeGen -> IRGen rename. I actually built the change but didn't submit it because of the concerns of some out-of-tree users of Clang. I still have all the perl scripts...
2015 May 27
2
[LLVMdev] RFC: Separate machine IR from lib/CodeGen into lib/MIR
...lex > was able to move the IR stuff he needed into a separately library > pretty trivially (based on the P.O.C. patch he posted), but if it's > not trivial he should just move on. > > >> Also, if we’re getting crazy here, CodeGen in clang should be > >> renamed to IRGen, AsmPrinter should be renamed to MCGen, and > >> SelectionDAG should be replaced ;-) > > > > I'm happy to actually do the CodeGen -> IRGen rename. I actually > > built the change but didn't submit it because of the concerns of > > some out-of-tree users...
2013 May 16
2
[LLVMdev] _Znwm is not a builtin
...that happens to have a funny name, and can have its address taken. To be clear, I'm only objecting because I don't want to add complexity to the IR for such a weird corner case. Just brainstorming here, and yes, this is somewhat horrible, but would it be possible to handle this by having IRGen introduce a "thunk" function in the case when ::operator new has its address taken? For example, you could have this pseudo code: auto FP = & ::operator new; // I have no idea how to actually spell this in C++ IRGen into the equivalent of: static void *thunk(size_t NumBytes) {...
2014 Mar 14
2
[LLVMdev] RFC: Binary format for instrumentation based profiling data
...based profiling is done in the front end, and the counters are related to parts do the AST. Their isn't enough information for a backend pass to map them to *anything*. We feed block frequency and branch probability through metadata, much like the sampling based approach, but it happens during irgen in the front end, rather than in a backend pass. While it might be possible to translate the instrumentation format to the profile format, it wouldn't be possible to go the other way, and the translation would be imperfect. -------------- next part -------------- An HTML attachment was scrubbe...
2015 May 27
3
[LLVMdev] Capabilities of Clang's PGO (e.g. improving code density)
...are no other significant transformations that use profiling > information. We are working on that. Notably, we'd like to add > profiling-based decisions to the inliner Just a quick note about the inliner. Although the inliner itself doesn't know how to use the profile, clang's IRGen has been modified to add an 'inlinehint' attribute to hot functions and the 'cold' attribute to cold functions. Indirectly, PGO does affect the inliner. (We'll remove this once the inliner does the right thing on its own.) > , loop optimizers and the > vectorizer. >...
2015 May 27
3
[LLVMdev] RFC: Separate machine IR from lib/CodeGen into lib/MIR
...chine IR files out of CodeGen without them actually including any CodeGen headers. And all the Machine IR passes like MachineFunctionPass, MachineFunctionAnalysis, etc. will remain in CodeGen. Alex. > > >> Also, if we’re getting crazy here, CodeGen in clang should be renamed > to IRGen, AsmPrinter should be renamed to MCGen, and SelectionDAG should be > replaced ;-) > > > > I'm happy to actually do the CodeGen -> IRGen rename. I actually built > the change but didn't submit it because of the concerns of some out-of-tree > users of Clang. I still ha...
2015 May 27
3
[LLVMdev] RFC: Separate machine IR from lib/CodeGen into lib/MIR
+1. Could those two be subdirectories of one “Machine-Related-Stuff” directory? E.g., MachineStuff/IR MachineStuff/CodeGen Where MachineStuff is something meaningful :). That way, they keep a logic bound, more formal than the naming convention. My 2c. Q. > On May 26, 2015, at 9:28 PM, Chris Lattner <clattner at apple.com> wrote: > > On May 26, 2015, at 1:46 PM, Owen Anderson
2015 Apr 22
2
[LLVMdev] Use clang to generate LLVM IR with -O3, how to visit these load operations after -reg2mem
...lag to remove these phi nodes. > The problems are: > 1) I use visitLoadInst to collect these load operations, and it seems I > cannot reach these loads that are generated by reg2mem? What is the reason? Clang doesn't generate optimized IR - so if your instrumentation is in Clang's IRGen (clang/lib/CodeGen) it won't see these. Clang generates the unoptimized IR (you can see it with -Xclang -disable-llvm-optzns) I do instrumentation in the opt of llvm. Does clang itself do some optimizations that speed up applications with -O3 compared to -O0? > 2) Is there any way to co...
2015 May 27
0
[LLVMdev] RFC: Separate machine IR from lib/CodeGen into lib/MIR
...'re planning to move, but defined in a source file you're *not* planning to move? (Apparently there have been failed attempts in the past to bring sanity here that I wasn't aware of...) > > > >> Also, if we’re getting crazy here, CodeGen in clang should be renamed to IRGen, AsmPrinter should be renamed to MCGen, and SelectionDAG should be replaced ;-) > > > > I'm happy to actually do the CodeGen -> IRGen rename. I actually built the change but didn't submit it because of the concerns of some out-of-tree users of Clang. I still have all the perl...
2015 May 28
0
[LLVMdev] Capabilities of Clang's PGO (e.g. improving code density)
...nificant transformations that use profiling >> information. We are working on that. Notably, we'd like to add >> profiling-based decisions to the inliner > Just a quick note about the inliner. Although the inliner itself > doesn't know how to use the profile, clang's IRGen has been modified > to add an 'inlinehint' attribute to hot functions and the 'cold' > attribute to cold functions. Indirectly, PGO does affect the > inliner. (We'll remove this once the inliner does the right thing on > its own.) OT: Can you give me a pointer to t...
2012 Nov 22
10
[LLVMdev] RFC: A Great Renaming of Things (or: Let's Repaint ALL the Bikesheds!)
...the best idea anyone has was Chris's initial suggestion: IR. So I'd like to minimize the bikeshed discussions on this one. ;] There is one interesting question here: should we move include/llvm/*.h to include/llvm/IR/*.h to match other libraries? 2) clang/lib/CodeGen/... -> clang/lib/IRGen/... I think this name is so painfully obvious that everyone will be happy with this change... ... because it's the biggest change. It will involve a great deal of renaming (CodeGenFunction for example) in order to keep things consistent. Are there other names that are poor choices and are l...
2020 May 29
2
[cfe-dev] [RFC] Loading Bitfields with Smallest Needed Types
...the object using > the type size the bitfield was defined with (i8, i16, i256). It would > help with improving the heuristic. The downside is that it could lead > to un-optimal code, but that's the situation we have now, so... Okay, but what concretely are you suggesting here? Clang IRGen is emitting accesses with consistent sizes, and LLVM is making them inconsistent. Are you just asking Clang to emit smaller accesses in the hope that LLVM won’t mess them up? John.
2015 May 27
1
[LLVMdev] RFC: Separate machine IR from lib/CodeGen into lib/MIR
...nd verify it, and exit. That only needs the MIR and parser and will root out any dependencies on IR/CodeGen. +1 for everything else BTW, not that we needed another +1. Cheers, Pete > >> >> >>>> Also, if we’re getting crazy here, CodeGen in clang should be renamed to IRGen, AsmPrinter should be renamed to MCGen, and SelectionDAG should be replaced ;-) >>> >>> I'm happy to actually do the CodeGen -> IRGen rename. I actually built the change but didn't submit it because of the concerns of some out-of-tree users of Clang. I still have all t...
2018 Jan 09
0
[cfe-dev] Why is #pragma STDC FENV_ACCESS not supported?
...ould be compilation wide. fp_contract provides a very similar set of language features, with both a global flag and a #pragma that can be used at either global or local scope to control semantics thenceforth. We handle that in the AST by storing FPOptions on individual arithmetic expressions, and IRGen propagates that to the individual LLVM instructions it creates. I think that's still the right representation for the AST here, and in fact the way fp_contract implemented means that your job at the Sema will be very easy. The only difference is that IRGen can't be quite as literal because...
2014 Nov 05
4
[LLVMdev] lifetime.start/end clarification
...in both cases we can safely say it returns undef, because it's a use-after-scope. I think coming up with a new representation with simpler semantics is the way to go. One allocation or lifetime start, and one deallocation and end. Implementing this in Clang will be tricky, though. Clang's IRGen is supposed to be a dumb AST walk, but it has already strayed from that path. Needs more thought... -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141105/e7736105/attachment.html>
2015 Apr 22
2
[LLVMdev] Use clang to generate LLVM IR with -O3, how to visit these load operations after -reg2mem
Hi, all I want to instrument load/store operations in LLVM IR. And I find the LLVM IR generated with flag -o3 is much more efficient than -o0, so I try to instrument on these optimized LLVM IR, but, some load operations are changed to Phi loads. Then, I try the -reg2mem flag to remove these phi nodes. The problems are: 1) I use visitLoadInst to collect these load operations, and it seems I
2013 May 16
0
[LLVMdev] _Znwm is not a builtin
On Wed, May 15, 2013 at 9:24 PM, Chris Lattner <clattner at apple.com> wrote: > > On May 15, 2013, at 9:10 PM, Richard Smith <richard at metafoo.co.uk> wrote: > > On Wed, May 15, 2013 at 8:57 PM, Chris Lattner <clattner at apple.com> wrote: > >> >> On May 15, 2013, at 8:50 PM, Richard Smith <richard at metafoo.co.uk> wrote: >> >> 1)
2015 Feb 25
2
[LLVMdev] RFC: PerfGuide for frontend authors
...cussed here without further review. I'm going to keep the first version short, and then open it for others to contribute. Philip On 02/24/2015 02:13 PM, Sean Silva wrote: > SGTM. > > I like your idea of starting "perf tips" as sort of isolated > guidelines for better IRGen. Should allow some nice incremental growth > of the documentation. I expect some stuff will need a bit more > discussion, so I would like this document to be in a directory > docs/FrontendInfo/ or something like that (bikeshed) so that we can > easily split out into new docs as need...