- Oct 04, 2008
-
-
Ted Kremenek authored
llvm-svn: 57045
-
Ted Kremenek authored
This is a big patch, but the functionality change is small and the rest of the patch consists of deltas due to API changes. This patch overhauls the "memory region" abstraction that was prototyped (but never really used) as part of the Store.h. This patch adds MemRegion.h and MemRegion.cpp, which defines the class MemRegion and its subclasses. This classes serve to define an abstract representation of memory, with regions being layered on other regions to to capture the relationships between fields and variables, variables and the address space they are allocated in, and so on. The main motivation of this patch is that key parts of the analyzer assumed that all value bindings were to VarDecls. In the future this won't be the case, and this patch removes lval::DeclVal and replaces it with lval::MemRegionVal. Now all pieces of the analyzer must reason about abstract memory blocks instead of just variables. There should be no functionality change from this patch, but it opens the door for significant improvements to the analyzer such as field-sensitivity and object-sensitivity, both which were on hold until the memory abstraction got generalized. The memory region abstraction also allows type-information to literally be affixed to a memory region. This will allow the some now redundant logic to be removed from the retain/release checker. llvm-svn: 57042
-
Zhongxing Xu authored
llvm-svn: 57041
-
Dan Gohman authored
expand to multiple basic blocks, in which case fast-isel needs to informed of which block to use as it resumes inserting instructions. llvm-svn: 57040
-
Dan Gohman authored
was setting kill flags on tied uses in two-address instructions. The kill flags were causing the allocator to think it could allocate the use and its tied def in different registers. llvm-svn: 57039
-
Chris Lattner authored
llvm-svn: 57038
-
Chris Lattner authored
that includes any edits in the range. llvm-svn: 57037
-
Steve Naroff authored
llvm-svn: 57036
-
Dale Johannesen authored
Make it all work in non-pic mode. llvm-svn: 57034
-
Dan Gohman authored
applicable. llvm-svn: 57033
-
Daniel Dunbar authored
llvm-svn: 57032
-
- Oct 03, 2008
-
-
Mikhail Glushenkov authored
Makefiles try to remove 'core' by default, so it wasn't a very good name. llvm-svn: 57031
-
Daniel Dunbar authored
- It turns out this is enough to completely break dependency file (.d) usage (at least for my gmake). llvm-svn: 57030
-
Devang Patel authored
Thanks Duncan! llvm-svn: 57029
-
Steve Naroff authored
llvm-svn: 57028
-
Dale Johannesen authored
incidentally making the case where the memop is a pointer deref work. Fix cmp-and-swap regression. llvm-svn: 57027
-
Daniel Dunbar authored
- Fixes bug in dependency inclusions where make with unspecified target wouldn't include dependency files, eek! llvm-svn: 57026
-
Devang Patel authored
While hosting instruction check PHI node. llvm-svn: 57025
-
Nuno Lopes authored
llvm-svn: 57024
-
Evan Cheng authored
llvm-svn: 57023
-
Dan Gohman authored
llvm-svn: 57021
-
Devang Patel authored
llvm-svn: 57020
-
Daniel Dunbar authored
llvm-svn: 57019
-
Evan Cheng authored
llvm-svn: 57018
-
Daniel Dunbar authored
llvm-svn: 57017
-
Dan Gohman authored
Instead, just create one, and make sure everything that needs it can access it. Previously most of the SelectionDAGISel subclasses all had their own TargetLowering object, which was redundant with the TargetLowering object in the TargetMachine subclasses, except on Sparc, where SparcTargetMachine didn't have a TargetLowering object. Change Sparc to work more like the other targets here. llvm-svn: 57016
-
Daniel Dunbar authored
llvm-svn: 57015
-
Dan Gohman authored
llvm-svn: 57014
-
Jim Grosbach authored
this handling to work properly for modifying stub functions, relocations back to entry points after JIT compilation, etc.. llvm-svn: 57013
-
Jim Grosbach authored
reg->reg moves. llvm-svn: 57011
-
Jim Grosbach authored
NeedStub/DoesntNeedStub logic was reversed, leading to not using a stub for global relocations that do need them (libc calls, for example). llvm-svn: 57010
-
Nuno Lopes authored
llvm-svn: 57009
-
Nuno Lopes authored
llvm-svn: 57008
-
Nuno Lopes authored
llvm-svn: 57007
-
Dan Gohman authored
isReg, etc., from isRegister, etc. llvm-svn: 57006
-
Nuno Lopes authored
llvm-svn: 57005
-
Steve Naroff authored
llvm-svn: 57004
-
Steve Naroff authored
- Many rewriter modifications. llvm-svn: 57003
-
Steve Naroff authored
llvm-svn: 57001
-
Mikhail Glushenkov authored
llvm-svn: 57000
-