- Mar 26, 2008
-
-
Steve Naroff authored
Fix rewriter tests to work with new output file logic. This changes forces the output to standard out (rather than generate a .cpp file, which is the new default for the rewriter). llvm-svn: 48847
-
Ted Kremenek authored
Bug fix: use GetRVal instead of GetLVal (were getting the value of a DeclRefExpr, not it's address). llvm-svn: 48846
-
Ted Kremenek authored
Added test case for static analysis to warn about passing uninitialized values as arguments (not the receiver) in message expressions. llvm-svn: 48845
-
Ted Kremenek authored
Added test case for static analyzer to detect uses of uninitialized pointers as receivers in Objective-C message expressions. Added test case directory "Analysis-Apple" which is only run on Apple (darwin) machines. llvm-svn: 48844
-
Mikhail Glushenkov authored
llvm-svn: 48843
-
Ted Kremenek authored
Bug fix in transfer function for ObjCMessageExpr: Visit the receiver expression as an ordinary expression, not using VisitLVal. llvm-svn: 48842
-
Steve Naroff authored
llvm-svn: 48841
-
Mikhail Glushenkov authored
llvm-svn: 48840
-
Evan Cheng authored
llvm-svn: 48837
-
Evan Cheng authored
Avoid commuting a def MI in order to coalesce a copy instruction away if any use of the same val# is a copy instruction that has already been coalesced. llvm-svn: 48833
-
Roman Levenstein authored
LLVM Value/Use does and MachineRegisterInfo/MachineOperand does. This allows constant time for all uses list maintenance operations. The idea was suggested by Chris. Reviewed by Evan and Dan. Patch is tested and approved by Dan. On normal use-cases compilation speed is not affected. On very big basic blocks there are compilation speedups in the range of 15-20% or even better. llvm-svn: 48822
-
Roman Levenstein authored
llvm-svn: 48819
-
Roman Levenstein authored
This fixes Bugzilla #1835 (http://llvm.org/bugs/show_bug.cgi?id=1835). This patched is reviewed by Tanya and Dan. Dan tested and approved it. The reason for the bad performance of the old algorithm is that it is very naive and scans every time all nodes of the DAG in the worst case. This patch introduces a new algorithm based on the paper "Online algorithms for maintaining the topological order of a directed acyclic graph" by David J.Pearce and Paul H.J.Kelly. This is the MNR algorithm. It has a linear time worst-case and performs much better in most situations. The paper can be found here: http://fano.ics.uci.edu/cites/Document/Online-algorithms-for-maintaining-the-topological-order-of-a-directed-acyclic-graph.html The main idea of the new algorithm is to compute the topological ordering of the SNodes in the DAG and to maintain it even after DAG modifications. The topological ordering allows for very fast node reachability checks. Tests on very big input files with tens of thousands of instructions in a BB indicate huge speed-ups (up to 10x compilation time improvement) compared to the old version. llvm-svn: 48817
-
Evan Cheng authored
llvm-svn: 48815
-
Owen Anderson authored
llvm-svn: 48811
-
Erick Tryzelaar authored
llvm-svn: 48809
-
Dale Johannesen authored
llvm's output .s files will go through gcc -std=c99 without triggering preprocesser errors. Approach suggested by Daveed Vandevoorde. llvm-svn: 48808
-
Nuno Lopes authored
# this is my first commit here, so please be gentle :) llvm-svn: 48807
-
- Mar 25, 2008
-
-
Ted Kremenek authored
will gradually get pruned down, as it doesn't need to be as functional as 'ccc'. llvm-svn: 48806
-
Evan Cheng authored
llvm-svn: 48805
-
Evan Cheng authored
llvm-svn: 48804
-
Owen Anderson authored
llvm-svn: 48803
-
Owen Anderson authored
llvm-svn: 48802
-
Dan Gohman authored
llvm-svn: 48801
-
Dan Gohman authored
marked read-write. Use const so that they can be allocated in a read-only segment. llvm-svn: 48800
-
Dan Gohman authored
llvm-svn: 48797
-
Devang Patel authored
llvm-svn: 48794
-
Devang Patel authored
llvm-svn: 48793
-
Evan Cheng authored
Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it. llvm-svn: 48792
-
Evan Cheng authored
Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it. llvm-svn: 48791
-
Anton Korobeynikov authored
llvm-svn: 48786
-
Nate Begeman authored
the future, RecordTypes. llvm-svn: 48784
-
Nate Begeman authored
llvm-svn: 48783
-
Bill Wendling authored
Patch by dekruijf@cs.wisc.edu! llvm-svn: 48782
-
Dan Gohman authored
llvm-svn: 48779
-
Dan Gohman authored
other things, this allows the scheduler to unfold a load operand in the 2008-01-08-SchedulerCrash.ll testcase, so it now successfully clones the comparison to avoid a pushf+popf. llvm-svn: 48777
-
Ted Kremenek authored
passing an uninitialized value to a message expresion. llvm-svn: 48776
-
Gordon Henriksen authored
llvm-svn: 48775
-
Gordon Henriksen authored
This adds support for instruction iterators, as well as rewriting the builder code to use these new functions. This lets us eliminate the C bindings for moving around the builder. Patch by Erick Tryzelaar! llvm-svn: 48774
-
Ted Kremenek authored
and message expressions with a specified receiver. llvm-svn: 48773
-