- Nov 29, 2008
-
-
Chris Lattner authored
an entry in the nonlocal deps map, don't reset entries referencing that instruction to [dirty, null], instead, set them to [dirty,next] where next is the instruction after the deleted one. Use this information in the non-local deps code to avoid rescanning entire blocks. This speeds up GVN slightly by avoiding pointless work. On 403.gcc this makes GVN 1.5% faster. llvm-svn: 60256
-
Chris Lattner authored
a smallvector instead of a DenseMap. This speeds up GVN by 5% on 403.gcc. llvm-svn: 60255
-
Chris Lattner authored
formulation that is faster and doesn't require nonLazyHelper. Much less code. llvm-svn: 60253
-
Chris Lattner authored
llvm-svn: 60243
-
Chris Lattner authored
llvm-svn: 60242
-
Torok Edwin authored
llvm-svn: 60239
-
Chris Lattner authored
precedence rules. Pacify it. llvm-svn: 60237
-
Duncan Sands authored
llvm-svn: 60236
-
Chris Lattner authored
former does caching, the later doesn't. This dramatically simplifies the logic in getDependency and getDependencyFrom. llvm-svn: 60234
-
Chris Lattner authored
Document the Dirty value more precisely, use it for the uninitialized DepResultTy value. Change reverse mappings to be from an instruction* instead of DepResultTy, and stop tracking other forms. This makes it more clear that we only care about the instruction cases. Eliminate a DepResultTy,bool pair by using Dirty in the local case as well, shrinking the map and simplifying the code. This speeds up GVN by ~3% on 403.gcc. llvm-svn: 60232
-
Chris Lattner authored
query. This makes it crystal clear what cases can escape from MemDep that the clients have to handle. This also gives the clients a nice simplified interface to it that is easy to poke at. This patch also makes DepResultTy and MemoryDependenceAnalysis::DepType private, yay. llvm-svn: 60231
-
Chris Lattner authored
of a pointer/int pair instead of a manually bitmangled pointer. This forces clients to think a little more about checking the appropriate pieces and will be useful for internal implementation improvements later. I'm not particularly happy with this. After going through this I don't think that the clients of memdep should be exposed to the internal type at all. I'll fix this in a subsequent commit. This has no functionality change. llvm-svn: 60230
-
Chris Lattner authored
llvm-svn: 60229
-
Chris Lattner authored
llvm-svn: 60228
-
Chris Lattner authored
llvm-svn: 60227
-
Chris Lattner authored
llvm-svn: 60225
-
Chris Lattner authored
pointer and integer type to be used. llvm-svn: 60224
-
- Nov 28, 2008
-
-
Chris Lattner authored
llvm-svn: 60220
-
Chris Lattner authored
llvm-svn: 60217
-
Chris Lattner authored
but it doesn't make any sense at all. Also make the method const, private, and fit in 80 cols while we're at it. llvm-svn: 60215
-
Chris Lattner authored
llvm-svn: 60214
-
Mikhail Glushenkov authored
llvm-svn: 60198
-
Chris Lattner authored
return a list of deleted instructions. llvm-svn: 60193
-
- Nov 27, 2008
-
-
Chris Lattner authored
wrappers around the interesting code and use an obscure iterator abstraction that dates back many many years. Move EraseDeadInstructions to Transforms/Utils and name it RecursivelyDeleteTriviallyDeadInstructions. llvm-svn: 60191
-
Chris Lattner authored
llvm-svn: 60168
-
Chris Lattner authored
llvm-svn: 60166
-
Chris Lattner authored
llvm-svn: 60162
-
Evan Cheng authored
On x86 favors folding short immediate into some arithmetic operations (e.g. add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size. e.g. movl 4(%esp), %eax addl $4, %eax is 2 bytes shorter than movl $4, %eax addl 4(%esp), %eax llvm-svn: 60139
-
Ted Kremenek authored
llvm-svn: 60134
-
- Nov 26, 2008
-
-
Mikhail Glushenkov authored
llvm-svn: 60127
-
Devang Patel authored
llvm-svn: 60111
-
Mikhail Glushenkov authored
llvm-svn: 60101
-
Mikhail Glushenkov authored
llvm-svn: 60100
-
Dan Gohman authored
and the LiveInterval.h top-level comment and accordingly. This fixes blocks having spurious live-in registers in boundary cases. llvm-svn: 60092
-
Ted Kremenek authored
Add 'tell' method to raw_fd_ostream that clients can use to query the current location in the file the stream is writing to. llvm-svn: 60085
-
Chris Lattner authored
llvm-svn: 60080
-
Nuno Lopes authored
change AnnotationManager to use 'const char*' instead of std::string. this fixes the leakage of those strings and avoids the creation of such strings in static cosntructors (should result in a little improvement of startup time) llvm-svn: 60064
-
- Nov 25, 2008
-
-
Mikhail Glushenkov authored
llvm-svn: 60047
-
Dan Gohman authored
introduce any new spilling; it just uses unused registers. Refactor the SUnit topological sort code out of the RRList scheduler and make use of it to help with the post-pass scheduler. llvm-svn: 59999
-
- Nov 24, 2008
-
-
Dan Gohman authored
simplify header dependencies for front-ends that just want to choose a scheduler and don't need all the scheduling machinery declarations. llvm-svn: 59978
-