similar to: [LLVMdev] Books/docs on exception handling

Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] Books/docs on exception handling"

2010 Apr 22
0
[LLVMdev] Books/docs on exception handling
Hi Trevor, DWARF exception handling is an amalgam of several different documents and code tables, which all conspire to give us exception handling. :-) The documents you should read are: * Exception Handling Tables (http://www.codesourcery.com/public/cxx-abi/exceptions.pdf) This explains in detail what the table in the "__TEXT,__gcc_except_tab" section is all about. * DWARF
2010 Feb 09
3
[LLVMdev] Mapping bitcode to source code
On Feb 8, 2010, at 8:51 PM, Duncan Sands wrote: > this can be done using debug info. Check out > http://llvm.org/docs/SourceLevelDebugging.html Wow, that threw me for a loop. I'm using the 2.6 release, thinking I was up to date, but its debug output doesn't look anything like what's described in the above link. It appears to document the upcoming 2.7 version, which
2010 Feb 09
0
[LLVMdev] Mapping bitcode to source code
On Feb 9, 2010, at 11:13 AM, Trevor Harmon wrote: > Is there any information about these changes and why they were > necessary? I think I found it: http://nondot.org/~sabre/LLVMNotes/EmbeddedMetadata.txt Still looking for an API to access the metadata... Trevor
2010 Nov 13
3
[LLVMdev] dyn_cast vs. dynamic_cast
LLVM has a relatively large number of proprietary replacements for standard C++ functions and classes. One of these is dyn_cast to replace dynamic_cast. The two calls appear to be semantically equivalent; the only difference that I can see is that dyn_cast reportedly works on classes that have no v-table [1]. Could someone please explain why I should use dyn_cast instead of dynamic_cast?
2010 Mar 31
2
[LLVMdev] CFG entry and exit blocks
On Mar 30, 2010, at 7:51 PM, John Criswell wrote: > I'm too lazy to convert your .dot file into a graph file What format should I have posted? (I'm not sure what you mean by "graph file".) I had thought that .dot was the preferred format here, since that's what LLVM generates (e.g., "opt -dot-cfg ..."). > First, LLVM does not guarantee that a function
2010 Mar 01
2
[LLVMdev] Aborting a pass
Hi, What's the proper way to abort a pass if something goes wrong (e.g., in the pass's constructor)? Do I simply call abort()? I looked through the existing passes but didn't see an example of this. Thanks, Trevor
2010 Nov 05
3
[LLVMdev] Identify recursion in a call graph
On Nov 2, 2010, at 11:08 PM, Nick Lewycky wrote: > The unittests/ directory contains C++ unit tests for arbitrary C++ > APIs > that don't fit the dejagnu model of running opt or llc over .ll files. Thanks for the tip. Attached is a patch+testcase that adds CallGraphNode::isRecursive to LLVM. Could someone with commit access please review and apply? Thanks, Trevor
2010 Nov 15
2
[LLVMdev] dyn_cast vs. dynamic_cast
On Nov 12, 2010, at 5:57 PM, Óscar Fuentes wrote: >> Could someone >> please explain why I should use dyn_cast instead of dynamic_cast? (I >> thought all classes have v-tables...) Thanks, > > For reducing executable size, LLVM builds with RTTI disabled where > possible. Right, but how does that relate to dyn_cast? I thought v-tables were present even when RTTI is not
2010 Feb 24
2
[LLVMdev] Trouble with sample project template (Autoconf problem?)
I'm just getting started with an LLVM-based project, using the Sample template as a guide: http://llvm.org/docs/Projects.html#create But I can't even get the Sample project itself to build without errors. It works fine if I do "configure" and then "make", but if I run "AutoRegen.sh" first, then do "configure", I get: configure: error:
2010 Mar 26
2
[LLVMdev] Why is BasicBlock's copy constructor private?
On Mar 25, 2010, at 5:23 PM, me22 wrote: > Given that LLVM is already managing the memory and presumably will do > so for the life of your graph processing, could you just use a > boost::directed_graph<llvm::BasicBlock*> instead? Yeah, that was one of the first things I tried: for (Function::iterator i = function.begin(), e = function.end(); i != e; ++i) { BasicBlock
2010 Feb 26
3
[LLVMdev] RegisterPass isAnalysis parameter
Hi, I'm confused about the is_analysis parameter of the RegisterPass constructor (defined in PassSupport.h). The only explanation I can find is that is_analysis should be set to true if the pass is "an analysis pass, for example dominator tree pass". Can someone please clarify what is meant by "analysis pass"? Also -- and this is more of a C++ question than an
2010 Oct 21
2
[LLVMdev] Splitting basic blocks while preserving machine code
On Wed, Oct 20, 2010 at 7:19 PM, Jim Grosbach <grosbach at apple.com> wrote: > > On Oct 20, 2010, at 5:16 PM, Trevor Harmon wrote: >> I'm writing a pass that does some static analysis on C code. A >> critical requirement of the pass is that it must preserve not only the >> correctness of the code but also its timing -- It cannot add or remove >> even one CPU
2010 Nov 13
0
[LLVMdev] dyn_cast vs. dynamic_cast
Trevor Harmon <Trevor.W.Harmon at nasa.gov> writes: [snip] > Could someone > please explain why I should use dyn_cast instead of dynamic_cast? (I > thought all classes have v-tables...) Thanks, For reducing executable size, LLVM builds with RTTI disabled where possible.
2006 May 03
3
SQL book for Rails developers?
I can design basic Rails models without any trouble, and I feel pretty comfortable at the mysql command prompt. But some of these new database features in Rails 1.1 have me scratching my head: polymorphic associations, join models, etc. What is all that? I think I need a book that covers the advanced database topics one would need to know as a Rails developer -- not necessarily
2010 Feb 24
0
[LLVMdev] Trouble with sample project template (Autoconf problem?)
On Feb 24, 2010, at 11:04 AM, Trevor Harmon wrote: > $ ./AutoRegen.sh > LLVM source root not found. > Enter full path to LLVM source:/Users/twharmon/Development/LLVM/src/ > llvm-trunk/llvm > Enter full path to LLVM objects (empty for same as source):/Users/ > twharmon/Development/LLVM/llvm/ Actually, I think this part is wrong. If I supply the same path as the source,
2010 Feb 25
2
[LLVMdev] Programmatic compilation of C++ file into bitcode
On Feb 25, 2010, at 2:28 PM, Trevor Harmon wrote: > I'm not sure how the other program can find the output, unless > of course the analyzer simply dumps the file to a hard-coded > location (/tmp?). Replying to myself again... After sifting through many of the existing transforms, I discovered that new command-line parameters can be added to opt simply by declaring them in the
2010 May 07
2
[LLVMdev] getTripCount requires which optimization passes?
Hi, For me, getTripCount always returns null, even for trivial loops such as: void simple(int j) { for (int i = 0; i < 10; i++) { j++; } } Looking through the mailing list archive, it appears that getTripCount requires certain optimization passes to run first, but it's not clear which ones. There doesn't seem to be any documentation on this. Does anybody
2010 May 28
2
[LLVMdev] Basic doubt related to Module::iterator
Hi, Yeah I found that it is running LLVM's functions. The functions that are running are: main llvm.dbg.func.start llvm.dbg.stoppoint scanf llvm.dbg.region.end But I dont want all the functions to be called as I am using Dominator Trees and whenever I the statement DominatorTree &DT = getAnalysis<DominatorTree>(F); is encountered by functions other than main, it gives error.
2010 Feb 25
2
[LLVMdev] Programmatic compilation of C++ file into bitcode
On Feb 25, 2010, at 1:04 AM, Duncan Sands wrote: > You can add your static analysis to llvm-gcc as an LLVM pass. > If you write it as an LLVM pass then you can also use it from > "opt", which would be convenient. Thanks, that sounds like a good approach. It appears I can get a Module instance simply by inheriting from ModulePass. There's one problem, however. I will at
2010 Apr 06
2
[LLVMdev] Undefined symbol when loading pass
Hi, I have written a pass to compute the reaching definitions for variables using loads and stores. The class for this pass is named ReachingDef and the pass itself is registered as reaching-def. The compiled reaching-def.so file goes to llvm-home/Release/lib/. This pass is used by another function pass that is registered as iel and the class is named SIL. I have setup AnalysisUsage object of SIL