aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2003-07-22 - InstCombine (cast (xor A, B) to bool) ==> (setne A, B)Chris Lattner
- InstCombine (cast (and X, (1 << size(X)-1)) to bool) ==> x < 0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7241 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22New testcasesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7240 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Repaired the --enable and --disable options.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7239 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Fixed the enable/disable options. The AC_ARG_ENABLE macro does not performJohn Criswell
the *action-if-not-given* code when the --disable option is used. Rather, the AC_ARG_ENABLE macro sets the $enableval variable, which then needs to be checked to determine if --enable, --disable, or neither was specified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7238 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Add documentation for runOnMachineFunction()Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7237 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Made some corrections to the enable-llc_diffs option.John Criswell
This should keep it from breaking for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7236 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Generated a new configure script.John Criswell
This script uses files within the new autoconf subdirectory and includes changes from Brian Gaeke's recent changes to configure.ac. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7235 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Updated to use files within the autoconf subdirectory.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7234 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22These are the autoconf files in their new home.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7233 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Moving these files to the llvm/autoconf directory.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7232 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Moved configure.ac to the autoconf directory.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7231 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22turn off DISABLE_LLC_DIFFS for x86.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7230 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Add new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7229 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22(1) Pass 'VAR=string' arguments to gmakeVikram S. Adve
(2) Detect LLVMDIR using the LEVEL variable in Makefile. (3) To perform #2 propertly, use the same Makefile search rules as gmake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7228 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22Fix comment.Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7227 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21Updated from the discussion on July 21, 2003.John Criswell
Expanded upon testing priorities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7225 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21Fixed misspelling.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7223 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21Simplify code a bitChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7217 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21Added code that checks to see if a global variable is external before replacingJohn Criswell
a load of the global variable with the variable's constant value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7216 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21Regression test for the Instruction Combining optimizization.John Criswell
This test helps to see if the optimization correctly handles variables that are declared constant and external. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7215 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21Remove unneccesary #ifdefsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7214 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21Fix warningsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7213 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21Remove instloops libraryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7210 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21Eliminated dead code.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7209 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-20Added special consideration for instrumentation strategyAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7208 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18Initialize the target architecture based on compiler defines, so if compiled onMisha Brukman
x86 or Sparc, LLC will automatically default to that platform, no guessing required. On another platform, it will default to `noarch' and will have to guess which architecture to compile to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7207 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18Added check for inlinable functionAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7206 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18Please, save your applause^H^H^H^H^H^H^H^Hflames for the end...Brian Gaeke
Avoid a fall-through in the (stubby) treatment of the longjmp intrinsic call which causes llc & lli to core-dump. Add a sort-of treatment of cast double to ulong. I am not really sure what a user should expect to see upon casting a negative FP value to unsigned long long. But with what is given here, I was able to write a program that could cast -123.456 to ulong and back and get -123.0, which seems like a step in the right direction. GCC seems to give you 0. I don't know if I'd consider that useful. These cases were coming up in GNU coreutils-5.0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7205 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18Cleaned up the code which chooses the appropriate value for the file descriptorMisha Brukman
to pass to dlsym() -- Linux/x86 wants 0 while Sparc/Solaris wants RTLD_SELF, which is not zero. Thanks to Chris for the suggestion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7204 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18Added a DEBUG() guard to a debug information printout.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7203 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18Added pass to instrument backedges for lightweight tracingAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7202 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18A pass to combine multiple backedges that go to same targetAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7201 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-17Use getClassB for load and store; we don't want to abort when weBrian Gaeke
try to load or store through a bool*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7195 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-17Fix typo in call to isUnresolvableFunc, which was breaking the build.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7194 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-17Dinakar and I fixed a bug where we were trying to get the initializer ofJohn Criswell
an external constant. Since external constants don't have initializers, we were failing on an assert() call in llvm/GlobalVariable.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7193 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-17Added bits about MachineFunctionPassBrian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7192 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16Tests for globals with different kinds of behavior in DS Analysis.Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7191 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16(1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodesVikram S. Adve
to clone the subgraph reachable from a set of root nodes, into the current graph, merging the global nodes into those in the current graph. (2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the globals graph into the current graph in both BU and TD passes. (3) Added hash_set<const GlobalValue*> InlinedGlobals: a set of globals to track which globals have been inlined into the current graph from callers or callees. In the TD pass, such globals are up-to-date and do not need to be rematerialized from the GlobalsGraph. (4) Added StripIncompleteBit/KeepIncompleteBit to remove incomplete bit when cloning nodes into the globals graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16Rematerialize nodes from the globals graph into the current graphVikram S. Adve
after all callees are inlined into the current graph. NOTE: There's also a major bug fix for the BU pass in DataStructure.cpp, which ensures that resolvable indirect calls are not moved out to the globals graph, so that they are eventually inlined (if possible). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7189 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16(1) Rematerialize nodes from the globals graph into the current graphVikram S. Adve
after all callers are inlined into the current graph. (2) Optimize the way a graph is inlined into its callees in the TD phase: (a) Use DSGraph::cloneReachableSubgraph to clone only a subgraph at each call site, for faster inlining. (b) Clone separately for the same callee at different call sites, since only the reachable subgraph is being cloned, not the entire caller graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7188 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16Implement 2 important changes: (1) rematerialization from the globals graph,Vikram S. Adve
and (2) faster inlining by cloning only reachable nodes. In particular: (1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes to clone the subgraph reachable from a set of root nodes, into the current graph, merging the global nodes into thos in the current graph. The TD pass now uses this for faster inlining, and so does the next function. (2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the globals graph into the current graph in both BU and TD passes. (3) `I' flags are removed from all nodes in the globals graph, because they are difficult to maintain correctly and are not needed anyway. (4) Aux. function calls are only removed to the globals graph if they will never be resovled. (This is what fixed gap.) The immediate reason is that if we took these out of a function (and moved them to the globals graph) we would need to rematerialize these nodes into the function graph for every function in the BU pass. The longer term problem is that we would need to find a way to remove them from the globals graph iff they have been resolved on all paths through the call graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7187 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16Factor out the test for unresolvable external functions intoVikram S. Adve
isUnresolvableFunc() (I thought I needed this externally. I don't, but it's still nicer this way.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7186 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16Fixed the number translation scheme for the integer condition code registers: itMisha Brukman
now works in instructions which require a 2-bit or 3-bit INTcc code. Incidentally, that means that the representation of INTcc registers is now the same in both integer and FP instructions. Thus, code became much simpler and cleaner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7185 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16The name should really be `simm11' to follow the naming convention, but this hasMisha Brukman
no change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7184 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16Marked some of the phony targets are PHONY. This will hopefully speedJohn Criswell
up builds a little bit since it will prevent GNU make from matching these phony targets against implicit rules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7183 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-15No need for a second immediate field if the class already inherits one.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7182 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-15Encode predict = 1 by default, because the Sparc assembler does this.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7181 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-15Fixed a bug: outputting name of variable instead of its value.Misha Brukman
Also, placed DEBUG() guards around debug information so that the generated file is much smaller and hence should be faster to preprocess/compile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7180 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-15This optimization greatly enhances efficiency of creating new instructions byMisha Brukman
masking and shifting operands directly into their place in the instruction, instead of the old-fashioned way of ORing in each bit separately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7179 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-15Correctly handle calls to functions which are further away than 2**32 bits willMisha Brukman
allow, i.e. make a sequence of instructions to enable an indirect call using jump-and-link and 2 temporary registers (which we save and ultimately restore). Warning: if the delay slot of a function call is used to do meaningful work and not just a NOP, this behavior is incorrect. However, the Sparc backend does not yet utilize the delay slots effectively, so it is not necessary to make an overly complicated algorithm for something that's not used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7178 91177308-0d34-0410-b5e6-96231b3b80d8