- Sep 18, 2007
-
-
Ted Kremenek authored
llvm-svn: 42109
-
Gabor Greif authored
llvm-svn: 42108
-
Ted Kremenek authored
invocation of the solver. UninitializedValues checker now uses CFG::runOnAllBlocks to query the computed dataflow values (tighter code). llvm-svn: 42107
-
Ted Kremenek authored
of visiting all block-level statements in a CFG. Tightened implementation of UninitializedValues. llvm-svn: 42106
-
Ted Kremenek authored
llvm-svn: 42105
-
Fariborz Jahanian authored
llvm-svn: 42104
-
Dale Johannesen authored
llvm-svn: 42103
-
Ted Kremenek authored
variable instead of a temporary. llvm-svn: 42102
-
Gordon Henriksen authored
llvm-svn: 42101
-
Ted Kremenek authored
with CFG *edges* instead of blocks. This will fascilitate dataflow analyses that are sensitive to block terminators, and also simplifies some reasoning. Updated UninitializedValues to comply to this new interface. llvm-svn: 42099
-
Ted Kremenek authored
within source-level CFGs. llvm-svn: 42098
-
Dan Gohman authored
tables so that they are eligible for reload/remat folding. And add entries for JMP and CALL. llvm-svn: 42094
-
Gordon Henriksen authored
built atop the C language bindings, and user programs can link with them as such: # Bytecode ocamlc -cc g++ llvm.cma llvmbitwriter.cma -o example example.ml # Native ocamlopt -cc g++ llvm.cmxa llvmbitwriter.cmxa -o example.opt example.ml The vmcore.ml test exercises most/all of the APIs thus far bound. Unfortunately, they're not yet numerous enough to write hello world. But: $ cat example.ml (* example.ml *) open Llvm open Llvm_bitwriter let _ = let filename = Sys.argv.(1) in let m = create_module filename in let v = make_int_constant i32_type 42 false in let g = define_global "hello_world" v m in if not (write_bitcode_file m filename) then exit 1; dispose_module m; $ ocamlc -cc g++ llvm.cma llvm_bitwriter.cma -o example example.ml File "example.ml", line 11, characters 6-7: Warning Y: unused variable g. $ ./example example.bc $ llvm-dis < example.bc ; ModuleID = '<stdin>' @hello_world = global i32 42 ; <i32*> [#uses=0] The ocaml test cases provide effective tests for the C interfaces. llvm-svn: 42093
-
Gordon Henriksen authored
llvm-svn: 42092
-
Gordon Henriksen authored
llvm-svn: 42091
-
Gordon Henriksen authored
llvm-svn: 42090
-
Hartmut Kaiser authored
llvm-svn: 42089
-
Gabor Greif authored
llvm-svn: 42088
-
Gordon Henriksen authored
llvm-svn: 42087
-
Bill Wendling authored
llvm-svn: 42086
-
Bill Wendling authored
llvm-svn: 42079
-
Bill Wendling authored
function. The information isn't used heavily -- it's only used at the end of exception handling emission -- so there's no need to cache it. llvm-svn: 42078
-
Gordon Henriksen authored
- The naming prefix is LLVM. - All types are represented using opaque references. - Functions are not named LLVM{Type}{Method}; the names became unreadable goop. Instead, they are named LLVM{ImperativeSentence}. - Where an attribute only appears once in the class hierarchy (e.g., linkage only applies to values; parameter types only apply to function types), the class is omitted from identifiers for brevity. Tastes like methods. - Strings are C strings or string/length tuples on a case-by-case basis. - APIs which give the caller ownership of an object are not mapped (removeFromParent, certain constructor overloads). This keeps keep memory management as simple as possible. For each library with bindings: llvm-c/<LIB>.h - Declares the bindings. lib/<LIB>/<LIB>.cpp - Implements the bindings. So just link with the library of your choice and use the C header instead of the C++ one. llvm-svn: 42077
-
Gordon Henriksen authored
Also adding some missing svn:ignores that've been bothering me. llvm-svn: 42076
-
Devang Patel authored
llvm-svn: 42075
-
Bill Wendling authored
"_-[NSString(local) isNullOrNil]".eh = 0 .no_dead_strip "_-[NSString(local) isNullOrNil]".eh The ".eh" should be inside the quotes. llvm-svn: 42074
-
Fariborz Jahanian authored
Moves such argument as the last argument and uses defaul value. llvm-svn: 42073
-
Hartmut Kaiser authored
llvm-svn: 42072
-
Bill Wendling authored
llvm-svn: 42071
-
Fariborz Jahanian authored
instead for @protocol method decls. llvm-svn: 42070
-
Evan Cheng authored
llvm-svn: 42069
-
Devang Patel authored
Do not hide APInt::dump() inside #ifndef NDEBUG. llvm-svn: 42068
-
- Sep 17, 2007
-
-
Ted Kremenek authored
too "conservative"). Several revisions to UninitializedValues checker after testing. We now appear to be working correctly (probably some bugs still, but main functionality appears to be there). Implemented careful emitting of warnings so that we wouldn't get a cascade of warnings for simply not defining a single variable and using it everywhere. This way the warnings point closer to the root cause rather than "symptoms" from using values derived from uninitialized variables. llvm-svn: 42067
-
Tanya Lattner authored
Fix broken default help strings for enable-shared, enable-static, and enable-fast-install. Regenerate configure script. llvm-svn: 42066
-
Steve Naroff authored
llvm-svn: 42063
-
Ted Kremenek authored
llvm-svn: 42062
-
Hartmut Kaiser authored
Fixed a VC++ issue related to bitmasks. As it turns out the compiler fills the unused bits of the word a bitmask is stored in with '1' (or randomly, I can't tell, I've seen '1' so far only), which creates wrong results in certain cases. Please review. llvm-svn: 42061
-
Fariborz Jahanian authored
llvm-svn: 42060
-
Steve Naroff authored
Finish defining Action API for message expressions. llvm-svn: 42059
-
Devang Patel authored
for(int i = 0; i < N; i++) { if ( i == XYZ) { A; else B; } C; D; } llvm-svn: 42058
-