- Aug 02, 2009
-
-
Chris Lattner authored
llvm-svn: 77820
-
Chris Lattner authored
to: .quad X even on a 32-bit system, where X is not 64-bits. There isn't much that we can do here, so we just print: .quad ((X) & 4294967295) instead. llvm-svn: 77818
-
Chris Lattner authored
llvm-svn: 77817
-
- Aug 01, 2009
-
-
Chris Lattner authored
the appropriate subclasses. llvm-svn: 77815
-
Chris Lattner authored
llvm-svn: 77814
-
Chris Lattner authored
llvm-svn: 77813
-
Chris Lattner authored
llvm-svn: 77812
-
Eli Friedman authored
llvm-svn: 77811
-
Chris Lattner authored
llvm-svn: 77810
-
Chris Lattner authored
llvm-svn: 77808
-
Dan Gohman authored
llvm-svn: 77807
-
Dan Gohman authored
llvm-svn: 77806
-
Chris Lattner authored
llvm-svn: 77805
-
Chris Lattner authored
llvm-svn: 77804
-
Chris Lattner authored
should have no state that is specific to particular globals in the section. In this case, it means the removal of the "isWeak" and "ExplicitSection" bits. MCSection uses the new form of SectionKind. To handle isWeak, I introduced a new SectionInfo class, which is SectionKind + isWeak, and it is used by the part of the code generator that does classification of a specific global. The ExplicitSection disappears. It is moved onto MCSection as a new "IsDirective" bit. Since the Name of a section is either a section or directive, it makes sense to keep this bit in MCSection. Ultimately the creator of MCSection should canonicalize (e.g.) .text to whatever the actual section is. llvm-svn: 77803
-
Eli Friedman authored
serious issues :) llvm-svn: 77800
-
Chris Lattner authored
llvm-svn: 77796
-
Dan Gohman authored
llvm-svn: 77795
-
Dan Gohman authored
actually characters. llvm-svn: 77794
-
Dan Gohman authored
llvm-svn: 77793
-
Dan Gohman authored
llvm-svn: 77792
-
Nick Lewycky authored
llvm-svn: 77791
-
Benjamin Kramer authored
llvm-svn: 77790
-
Chris Lattner authored
llvm-svn: 77789
-
Chris Lattner authored
llvm-svn: 77788
-
Chris Lattner authored
llvm-svn: 77787
-
Eli Friedman authored
llvm-svn: 77786
-
Eli Friedman authored
myself because I'm getting tired of seeing the red buildbots, which have been red since 5:30PM PDT last night. Proposed supplement to developer policy: committers should make sure to be around to watch for buildbot failures after committing. llvm-svn: 77785
-
Daniel Dunbar authored
- Off by default, you can test it with the --no-sh argument. - For me it works for all but 3 tests, but there a number of FIXMEs and QOI issues: o Redirection isn't completely accurate -- in practice it can't portably be, but I would like to error out if someone writes something which isn't going to work. This is the source of the 3 test failures. o Some pipe configurations have the potential to deadlock. o It is significantly slower when multithreaded. I believe this is due to locking happening under the hood, there is probably some kind of solution but I haven't investigated yet. o Log output is ugly. llvm-svn: 77784
-
Daniel Dunbar authored
- Empty arguments weren't handled correctly. - Escapes outside quoted strings weren't handled. llvm-svn: 77783
-
Ted Kremenek authored
made to RegionStore (and related classes) in order to handle some analyzer failures involving casts and manipulation of symbolic memory. The root of the change is in StoreManager::CastRegion(). Instead of using ad hoc heuristics to decide when to layer an ElementRegion on a casted MemRegion, we now always layer an ElementRegion when the cast type is different than the original type of the region. This carries the current cast information associated with a region around without resorting to the error prone recording of "casted types" in GRState. Along with this new policy of layering ElementRegions, I added a new algorithm to strip away existing ElementRegions when they simply represented casts of a base memory object. This algorithm computes the raw "byte offset" that an ElementRegion represents from the base region, and allows the new ElementRegion to be based off that offset. The added benefit is that this naturally handles a series of casts of a MemRegion without building up a set of redundant ElementRegions (thus canonicalizing the region view). Other related changes that cascaded from this one (as tests were failing in RegionStore): - Revamped RegionStoreManager::InvalidateRegion() to completely remove all bindings and default values from a region and all subregions. Now invalidated fields are not bound directly to new symbolic values; instead the base region has a "default" symbol value from which "derived symbols" can be created. The main advantage of this approach is that it allows us to invalidate a region hierarchy and then lazily instantiate new values no matter how deep the hierarchy went (i.e., regardless of the number of field accesses, e.g. x->f->y->z->...). The previous approach did not do this. - Slightly reworked RegionStoreManager::RemoveDeadBindings() to also incorporate live symbols and live regions that do not have direct bindings but also have "default values" used for lazy instantiation. The changes to 'InvalidateRegion' revealed that these were necessary in order to achieve lazy instantiation of values in the region store with those bindings being removed too early. - The changes to InvalidateRegion() and RemoveDeadBindings() revealed a serious bug in 'getSubRegionMap()' where not all region -> subregion relationships involved in actually bindings (explicit and implicit) were being recorded. This has been fixed by using a worklist algorithm to iteratively fill in the region map. - Added special support to RegionStoreManager::Bind()/Retrieve() to handle OSAtomicCompareAndSwap in light of the new 'CastRegion' changes and the layering of ElementRegions. - Fixed a bug in SymbolReaper::isLive() where derived symbols were not being marked live if the symbol they were derived from was also live. This fix was critical for getting lazy instantiation in RegionStore to work. - Tidied up the implementation of ValueManager::getXXXSymbolVal() methods to use SymbolManager::canSymbolicate() to decide whether or not a symbol should be symbolicated. - 'test/Analysis/misc-ps-xfail.m' now passes; that test case has been moved to 'test/Analysis/misc-ps.m'. - Tweaked some pretty-printing of MemRegions, and implemented 'ElementRegion::getRawOffset()' for use with the CastRegion changes. llvm-svn: 77782
-
Evan Cheng authored
llvm-svn: 77781
-
Daniel Dunbar authored
llvm-svn: 77780
-
Ted Kremenek authored
Temporarily disable out-of-bounds checking. The current checking logic will not work quite right with the changes I'm about to commit. llvm-svn: 77779
-
Daniel Dunbar authored
- Doug, please check. llvm-svn: 77778
-
Daniel Dunbar authored
- '\\\\' inside a "..." string becomes '\\'. - The '<' token wasn't being recognized. llvm-svn: 77777
-
Daniel Dunbar authored
environment. llvm-svn: 77776
-
Dan Gohman authored
that it released its allocated memory. llvm-svn: 77775
-
Dan Gohman authored
llvm-svn: 77774
-
Daniel Dunbar authored
why dynamic binding sucks. llvm-svn: 77773
-