- Mar 12, 2009
-
-
Dale Johannesen authored
sorting of ConstantInt's; unreinvent wheel. llvm-svn: 66824
-
Bob Wilson authored
refers to the "prefix" directory, i.e., one level above "bin". LLVMGCCPATH is used as the directory containing the llvm-gcc executable, so add a "/bin" suffix to get from LLVMGCCDIR to LLVMGCCPATH. llvm-svn: 66823
-
Ted Kremenek authored
llvm-svn: 66820
-
Daniel Dunbar authored
- Who wouldn't want correctness to hang critically on two easily ignored characters? Thanks Doug! llvm-svn: 66819
-
Ted Kremenek authored
- PathDiagnosticControlFlowPiece now consists of a "start" and "end" location to indicating the branch location and where the branch goes. BugReporter: - Updated BugReporter to construct PathDiagnosticControlFlowPiece objects with "end" locations. PlistDiagnostics: - Plists now contain the bug "type" (not just bug "category") - Plists now encode control-flow pieces differently than events; now the "start" and "end" locations are recorded llvm-svn: 66818
-
Daniel Dunbar authored
- Compare to driverdriver.c if bored; not completely fair since the driver gets a bit more code in other places to handle binding archs (for Xarch) but not completely unfair either. Fear not, extra Action classes will have a happy home for their vtables soon. llvm-svn: 66817
-
Douglas Gregor authored
instantiation. This is roughly the structure we want to expression instantiation. llvm-svn: 66816
-
Gabor Greif authored
access each with a fixed negative index from op_end(). This has two important implications: - getUser() will work faster, because there are less iterations for the waymarking algorithm to perform. This is important when running various analyses that want to determine callers of basic blocks. - getSuccessor() now runs faster, because the indirection via OperandList is not necessary: Uses corresponding to the successors are at fixed offset to "this". The price we pay is the slightly more complicated logic in the operator User::delete, as it has to pick up the information whether it has to free the memory of an original unconditional BranchInst or a BranchInst that was originally conditional, but has been shortened to unconditional. I was not able to come up with a nicer solution to this problem. (And rest assured, I tried *a lot*). Similar reorderings will follow for InvokeInst and CallInst. After that some optimizations to pred_iterator and CallSite will fall out naturally. llvm-svn: 66815
-
Ted Kremenek authored
be CompoundStmts. I think this is a valid assumption, and felt that the API should reflect it. Others please validate this assumption to make sure I didn't break anything. llvm-svn: 66814
-
Daniel Dunbar authored
llvm-svn: 66813
-
Daniel Dunbar authored
llvm-svn: 66809
-
Daniel Dunbar authored
llvm-svn: 66807
-
Daniel Dunbar authored
llvm-svn: 66806
-
Daniel Dunbar authored
llvm-svn: 66805
-
Evan Cheng authored
Re-apply 66024 with fixes: 1. Fixed indirect call to immediate address assembly. 2. Fixed JIT encoding by making the address pc-relative. llvm-svn: 66803
-
Anders Carlsson authored
llvm-svn: 66801
-
Dale Johannesen authored
llvm-svn: 66800
-
Chris Lattner authored
llvm-svn: 66799
-
Chris Lattner authored
llvm-svn: 66798
-
Evan Cheng authored
llvm-svn: 66797
-
Douglas Gregor authored
width of bitfields. I'll be burning this down and replacing it with a properly-dispatched implementation like the one used for types. llvm-svn: 66796
-
Evan Cheng authored
llvm-svn: 66795
-
Daniel Dunbar authored
llvm-svn: 66794
-
Daniel Dunbar authored
llvm-svn: 66793
-
Daniel Dunbar authored
llvm-svn: 66792
-
Duncan Sands authored
llvm-svn: 66791
-
Gabor Greif authored
llvm-svn: 66790
-
Daniel Dunbar authored
- Notably, clang now exits with an error if it can't find a file. This flushed out a bug in the CGColorSpace.c test case. :) llvm-svn: 66789
-
Gabor Greif authored
llvm-svn: 66788
-
Daniel Dunbar authored
llvm-svn: 66787
-
Daniel Dunbar authored
llvm-svn: 66786
-
Daniel Dunbar authored
llvm-svn: 66785
-
Daniel Dunbar authored
llvm-svn: 66784
-
Daniel Dunbar authored
llvm-svn: 66783
-
Zhongxing Xu authored
llvm-svn: 66782
-
Daniel Dunbar authored
llvm-svn: 66781
-
Owen Anderson authored
llvm-svn: 66780
-
Chris Lattner authored
related transformations out of target-specific dag combine into the ARM backend. These were added by Evan in r37685 with no testcases and only seems to help ARM (e.g. test/CodeGen/ARM/select_xform.ll). Add some simple X86-specific (for now) DAG combines that turn things like cond ? 8 : 0 -> (zext(cond) << 3). This happens frequently with the recently added cp constant select optimization, but is a very general xform. For example, we now compile the second example in const-select.ll to: _test: movsd LCPI2_0, %xmm0 ucomisd 8(%esp), %xmm0 seta %al movzbl %al, %eax movl 4(%esp), %ecx movsbl (%ecx,%eax,4), %eax ret instead of: _test: movl 4(%esp), %eax leal 4(%eax), %ecx movsd LCPI2_0, %xmm0 ucomisd 8(%esp), %xmm0 cmovbe %eax, %ecx movsbl (%ecx), %eax ret This passes multisource and dejagnu. llvm-svn: 66779
-
Chris Lattner authored
llvm-svn: 66778
-
Evan Cheng authored
Enable Chris' value propagation change. It make available known sign, zero, one bits information for values that are live out of basic blocks. The goal is to eliminate unnecessary sext, zext, truncate of values that are live-in to blocks. This does not handle PHI nodes yet. llvm-svn: 66777
-