summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Use a smallvector for inactiveCounts and initialize it lazily Chris Lattner2008-02-261-4/+10
| | | | | | | | instead of init'ing it maximally to zeros on entry. getFreePhysReg is pretty hot and only a few elements are typically used. This speeds up linscan by 5% on 176.gcc. llvm-svn: 47631
* Changed VarDecl::hasGlobalStorage() to be the negation of hasLocalStorage().Ted Kremenek2008-02-261-1/+1
| | | | | | | Before it was the negation of hasAutoStorage(), which is incorrect. "Register" storage for Decls do not indicate global variables. llvm-svn: 47630
* Rename PrintableName to Name.Bill Wendling2008-02-2618-53/+52
| | | | llvm-svn: 47629
* Update per review. Patch by Mikhail Glushenkov!Anton Korobeynikov2008-02-261-56/+17
| | | | llvm-svn: 47628
* Implement codegen for the following static var init.Lauro Ramos Venancio2008-02-266-9/+27
| | | | | | | | | | | void g() { static char a[10]; static char *b = a; } Now we can compile wget! llvm-svn: 47627
* Removed static analysis-specific diagnostics from DiagnosticKinds.def.Ted Kremenek2008-02-264-24/+61
| | | | | | | Use custom diagnostics for static analysis checkers. Added warnings for dereferencing uninitialized values and divide-by-zeroes. llvm-svn: 47626
* Change "Name" to "AsmName" in the target register info. Gee, a refactoring toolBill Wendling2008-02-2628-85/+88
| | | | | | would have been a Godsend here! llvm-svn: 47625
* Removed hack with toggling the signedness flag of the APSInt storedTed Kremenek2008-02-261-9/+2
| | | | | | | | | in an EnumConstantDecl. This was made possible because of a recent fix in the parser: http://llvm.org/viewvc/llvm-project?rev=47581&view=rev llvm-svn: 47624
* Enable -coalescer-commute-instrs by default.Evan Cheng2008-02-264-4/+4
| | | | llvm-svn: 47623
* Do not treat Lexer.cpp as a generated file any more, let svn show it with a ↵Gabor Greif2008-02-260-0/+0
| | | | | | question mark if it is around. llvm-svn: 47622
* first commit of new LTO system. It is not hooked up in the ↵Nick Kledzik2008-02-268-0/+1477
| | | | | | llvm/tools/Makefile, so no one will build it be default yet llvm-svn: 47621
* Small fixes to shore up overhauling of transfer function logic for '&&' and '||.Ted Kremenek2008-02-262-4/+15
| | | | llvm-svn: 47620
* Use SmallVector while constructing ReturnInst.Devang Patel2008-02-263-2/+25
| | | | llvm-svn: 47619
* Fix a bug in ConvertAsmString function. Lauro Ramos Venancio2008-02-262-2/+8
| | | | llvm-svn: 47618
* optimization: no longer create ExplodedNodes for IntegerLiteral andTed Kremenek2008-02-262-30/+29
| | | | | | CharacterLiteral expressions. llvm-svn: 47617
* Avoid const_castsDevang Patel2008-02-262-6/+6
| | | | llvm-svn: 47616
* fix http://llvm.org/bugs/show_bug.cgi?id=2097Gabor Greif2008-02-261-1/+1
| | | | llvm-svn: 47615
* Remove unnecessary getOperand/setOperand overriders.Devang Patel2008-02-262-27/+3
| | | | | | Simplify getReturnValue() llvm-svn: 47614
* Major cleanup of the transfer function logic for '&&', '||', and '?'. WeTed Kremenek2008-02-265-89/+154
| | | | | | | | now store in the state essentially which branch we took. This removes a bunch of bogus assumptions (and likely bugs), reduces the complexity of the implementation, and facilitates more optimizations. llvm-svn: 47613
* Avoid aborting on invalid shift counts.Dan Gohman2008-02-262-4/+48
| | | | llvm-svn: 47612
* Unify to ReturnInst::init() member functions.Devang Patel2008-02-262-24/+18
| | | | llvm-svn: 47611
* Fix for pr2093: direct operands aren't necessarily addresses, so don't Eli Friedman2008-02-262-1/+19
| | | | | | try to simplify them. llvm-svn: 47610
* Convert x86 target specific inline asm constraints to LLVM.Lauro Ramos Venancio2008-02-265-6/+64
| | | | llvm-svn: 47609
* fix this test so that the fn name doesn't match the regexChris Lattner2008-02-261-1/+1
| | | | llvm-svn: 47608
* Optimize most common case by using single RetVal in ReturnInst.Devang Patel2008-02-262-20/+52
| | | | llvm-svn: 47607
* Correct function comments.Arnold Schwaighofer2008-02-261-19/+23
| | | | llvm-svn: 47606
* Fix PR2096, a regression introduced with my patch last night. ThisChris Lattner2008-02-262-1/+51
| | | | | | also fixes cfrac, flops, and 175.vpr llvm-svn: 47605
* Really feed llvm-as with the testcase, do not let it read from stdin. This ↵Gabor Greif2008-02-262-2/+2
| | | | | | fixes the hangs seen on solaris10. llvm-svn: 47604
* unbreak check-oneGabor Greif2008-02-261-0/+1
| | | | | | | by supplying a dummy "verbose" procedure llvm-svn: 47603
* While hunting for two hanging tests,Gabor Greif2008-02-262-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | (on solaris10, which are: CodeGen/PowerPC/frounds.ll Transforms/InstCombine/2008-02-23-MulSub.ll) I needed a tool to figure out which one is the guilty. To this end I have added a verbosity option to the test/Makefile. It can be invoked thus: gmake check TESTSUITE=CodeGen/PowerPC VERBOSE="-v -v" (The number of "-v"s specifies the verbosity level. Instead of "-v" other aliases can be specified, please consult the dejagnu docs for info.) At level >= 2 following line is logged for each test, before running it: ABOUT TO RUN: <test>.ll llvm-svn: 47602
* Fix a nasty bug in LegalizeTypes (spotted inDuncan Sands2008-02-266-60/+70
| | | | | | | | | | | | | | | | | CodeGen/PowerPC/illegal-element-type.ll): suppose a node X is processed, and processing maps it to a node Y. Then X continues to exist in the DAG, but with no users. While processing some other node, a new node may be created that happens to be equal to X, and thus X will be reused rather than a truly new node. This can cause X to "magically reappear", and since it is in the Processed state in will not be reprocessed, so at the end of type legalization the illegal node X can still be present. The solution is to replace X with Y whenever X gets resurrected like this. llvm-svn: 47601
* De-tabifyBill Wendling2008-02-263-6/+4
| | | | llvm-svn: 47600
* De-tabify.Bill Wendling2008-02-262-24/+24
| | | | llvm-svn: 47599
* De-tabify.Bill Wendling2008-02-262-9/+9
| | | | llvm-svn: 47598
* DetabifyBill Wendling2008-02-264-25/+25
| | | | llvm-svn: 47597
* Detabify.Bill Wendling2008-02-265-56/+55
| | | | llvm-svn: 47596
* De-tabify.Bill Wendling2008-02-262-19/+19
| | | | llvm-svn: 47595
* Add support for intermodule tail calls on x86/32bit withArnold Schwaighofer2008-02-261-12/+24
| | | | | | | | GOT-style position independent code. Before only tail calls to protected/hidden functions within the same module were optimized. Now all function calls are tail call optimized. llvm-svn: 47594
* Change the lowering of arguments for tail call optimizedArnold Schwaighofer2008-02-262-42/+84
| | | | | | | | | | | | calls. Before arguments that could overwrite each other were explicitly lowered to a stack slot, not giving the register allocator a chance to optimize. Now a sequence of copyto/copyfrom virtual registers ensures that arguments are loaded in (virtual) registers before they are lowered to the stack slot (and might overwrite each other). Also parameter stack slots are marked mutable for (potentially) tail calling functions. llvm-svn: 47593
* This is possible:Evan Cheng2008-02-262-2/+63
| | | | | | | | | vr1 = extract_subreg vr2, 3 ... vr3 = extract_subreg vr1, 2 The end result is vr3 is equal to vr2 with subidx 2. llvm-svn: 47592
* Fix isNegatibleForFree to not return true for ConstantFP nodes Chris Lattner2008-02-262-33/+61
| | | | | | | | | after legalize. Just because a constant is legal (e.g. 0.0 in SSE) doesn't mean that its negated value is legal (-0.0). We could make this stronger by checking to see if the negated constant is actually legal post negation, but it doesn't seem like a big deal. llvm-svn: 47591
* Fixed inverted condition.Ted Kremenek2008-02-261-1/+1
| | | | llvm-svn: 47590
* Fix PR2076. CodeGenPrepare now sinks address computation for inline asm memoryEvan Cheng2008-02-262-0/+88
| | | | | | operands into inline asm block. llvm-svn: 47589
* Do include ParenExpr in the CFG; only include their subexpression.Ted Kremenek2008-02-261-0/+3
| | | | llvm-svn: 47588
* Refactor inline asm constraint matching code out of SDIsel into TargetLowering.Evan Cheng2008-02-263-94/+107
| | | | llvm-svn: 47587
* Added lazy "symbolication" of parameter variables and global variables.Ted Kremenek2008-02-267-35/+118
| | | | | | Added recording of divide-by-zero and divide-by-uninitialized nodes. llvm-svn: 47586
* Remove debugging help.Devang Patel2008-02-261-1/+0
| | | | llvm-svn: 47585
* test svn commit capabilityNick Kledzik2008-02-261-0/+1
| | | | llvm-svn: 47584
* Update bitcode reader and writer to handle multiple return values. Devang Patel2008-02-263-19/+35
| | | | | | Take 2. llvm-svn: 47583
* add parsing, ast building and pretty printing support for C++ throw expressions.Chris Lattner2008-02-2610-1/+101
| | | | | | Patch by Mike Stump! llvm-svn: 47582
OpenPOWER on IntegriCloud