- Apr 13, 2008
-
-
Sam Bishop authored
Kirtzidis! llvm-svn: 49603
-
Chris Lattner authored
not # of operands as an input. llvm-svn: 49599
-
Chris Lattner authored
Doug Gregor! llvm-svn: 49598
-
Anton Korobeynikov authored
llvm-svn: 49593
-
Chris Lattner authored
llvm-svn: 49592
-
Chris Lattner authored
llvm-svn: 49591
-
- Apr 12, 2008
-
-
Chris Lattner authored
llvm-svn: 49587
-
Chris Lattner authored
(but simple!) datastructures in the rewriter with a more complex but more efficient one. This replaces the Deltas vector with a specialized BTree that makes delta lookups much more efficient. This speeds up -emit-html on a 500K .i file from 157.154 to 27.127 seconds on my machine (5.8x). While this code is functional, it isn't very pretty, I have much refactoring planned for it, and will remove the USE_VECTOR ifdef. Stay tuned. llvm-svn: 49586
-
Arnold Schwaighofer authored
optimized x86-64 (and x86) calls so that they work (... at least for my test cases). Should fix the following problems: Problem 1: When i introduced the optimized handling of arguments for tail called functions (using a sequence of copyto/copyfrom virtual registers instead of always lowering to top of the stack) i did not handle byval arguments correctly e.g they did not work at all :). Problem 2: On x86-64 after the arguments of the tail called function are moved to their registers (which include ESI/RSI etc), tail call optimization performs byval lowering which causes xSI,xDI, xCX registers to be overwritten. This is handled in this patch by moving the arguments to virtual registers first and after the byval lowering the arguments are moved from those virtual registers back to RSI/RDI/RCX. llvm-svn: 49584
-
Duncan Sands authored
llvm-svn: 49583
-
Argyrios Kyrtzidis authored
llvm-svn: 49582
-
Chris Lattner authored
llvm-svn: 49575
-
Dan Gohman authored
on any current target and aren't optimized in DAGCombiner. Instead of using intermediate nodes, expand the operations, choosing between simple loads/stores, target-specific code, and library calls, immediately. Previously, the code to emit optimized code for these operations was only used at initial SelectionDAG construction time; now it is used at all times. This fixes some cases where rep;movs was being used for small copies where simple loads/stores would be better. This also cleans up code that checks for alignments less than 4; let the targets make that decision instead of doing it in target-independent code. This allows x86 to use rep;movs in low-alignment cases. Also, this fixes a bug that resulted in the use of rep;stos for memsets of 0 with non-constant memory size when the alignment was at least 4. It's better to use the library in this case, which can be significantly faster when the size is large. This also preserves more SourceValue information when memory intrinsics are lowered into simple loads/stores. llvm-svn: 49572
-
Dan Gohman authored
8-byte-aligned data. llvm-svn: 49571
-
Argyrios Kyrtzidis authored
Moved IdDeclInfo class to anonymous namespace. Replaced array with a std::vector. llvm-svn: 49570
-
Nate Begeman authored
llvm-svn: 49569
-
Nate Begeman authored
llvm-svn: 49568
-
Argyrios Kyrtzidis authored
llvm-svn: 49567
-
Evan Cheng authored
llvm-svn: 49566
-
Fariborz Jahanian authored
llvm-svn: 49565
-
Ted Kremenek authored
Still need some boilerplate in BugReporter to report bugs at the end of a function (not associated with a particular statement). llvm-svn: 49564
-
Ted Kremenek authored
change the state (and thus the GREndPathNodeBuilder automatically contructs a node). llvm-svn: 49563
-
Ted Kremenek authored
evaluating transfer functions at the end-of-path. llvm-svn: 49561
-
- Apr 11, 2008
-
-
Ted Kremenek authored
llvm-svn: 49558
-
Ted Kremenek authored
llvm-svn: 49556
-
Ted Kremenek authored
GRSimpleVals::EvalCal(), and don't change reference counts. Remove "getDoNothingSummary()", as a NULL summary does the same thing. Added temporary hack for the "Get" rule for objects that return a pointer type: treat them as non-owned CF objects. Added test case to detect the release of a non-owned object. llvm-svn: 49555
-
Steve Naroff authored
llvm-svn: 49553
-
Ted Kremenek authored
llvm-svn: 49552
-
Ted Kremenek authored
llvm-svn: 49551
-
Ted Kremenek authored
llvm-svn: 49550
-
Chris Lattner authored
llvm-svn: 49548
-
Sam Bishop authored
llvm-svn: 49547
-
Evan Cheng authored
llvm-svn: 49544
-
Evan Cheng authored
llvm-svn: 49543
-
Evan Cheng authored
Use of implicit_def is not part of live interval. Create empty intervals for the uses when the live interval is being spilled. llvm-svn: 49542
-
Devang Patel authored
llvm-svn: 49540
-
Fariborz Jahanian authored
llvm-svn: 49539
-
Chris Lattner authored
llvm-svn: 49538
-
Chris Lattner authored
llvm-svn: 49535
-
Sam Bishop authored
llvm-svn: 49532
-