summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Loop unroller doesn't necessarily need to be profile drivenChris Lattner2003-08-061-1/+2
| | | | llvm-svn: 7637
* Completely eliminate the isVoid TSFlag, shifting over all other fieldsChris Lattner2003-08-062-33/+34
| | | | llvm-svn: 7636
* add a pattern for RET, immediates no longer need to be explicitly typedChris Lattner2003-08-061-10/+10
| | | | llvm-svn: 7635
* Start adding usefulness to the DAG node definitions, add a new ExpanderChris Lattner2003-08-061-14/+51
| | | | | | class llvm-svn: 7634
* Add error checking code to the node type parser. Start the instruction patternChris Lattner2003-08-062-7/+34
| | | | | | reader llvm-svn: 7632
* Initial support for an instruction selector emitterChris Lattner2003-08-062-0/+115
| | | | llvm-svn: 7631
* All good classes with virtual functions should have virtual dtors...Chris Lattner2003-08-061-0/+1
| | | | llvm-svn: 7630
* Add an instruction selector emitter skeletonChris Lattner2003-08-061-2/+7
| | | | llvm-svn: 7629
* convert over to using TableGen backendsChris Lattner2003-08-064-31/+9
| | | | llvm-svn: 7628
* Switch code over to being a TableGenBackendChris Lattner2003-08-062-29/+9
| | | | llvm-svn: 7627
* Add more helper methodsChris Lattner2003-08-062-1/+30
| | | | llvm-svn: 7626
* New common interface for backends to useChris Lattner2003-08-062-0/+43
| | | | llvm-svn: 7625
* Added POOLFLAGS option to run pool allocationSumant Kowshik2003-08-061-1/+10
| | | | llvm-svn: 7624
* "fix" coding style stuffChris Lattner2003-08-051-24/+24
| | | | | | Change some <>'s into &lt;&gt;'s llvm-svn: 7623
* Completely eliminate the per-machine-instruction regsUsed set.Chris Lattner2003-08-051-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This substantially shrinks the size of each machine instruction, which should make allocation faster and the cache footprint of the machine code lighter. Here are some timings for code generation of the larger benchmarks we have. This are timings of code generation phases of the X86 JIT, when compiled in debug mode: Before After Diff 164.gzip: InstSel 0.0878 0.0722 -21.6% RegAlloc 0.2031 0.1757 -15.6% TOTAL 0.5585 0.4999 -11.7% Ptrdist-bc: InstSel 0.0878 0.0722 -21.6% RegAlloc 0.2070 0.1933 - 7.1% TOTAL 0.6972 0.6464 - 7.9% 197.parser: InstSel 0.2148 0.2148 - 0.0% RegAlloc 0.4941 0.4277 -15.5% TOTAL 1.3749 1.2851 - 7.0% 175.vpr: InstSel 0.2519 0.2109 -19.4% RegAlloc 0.5976 0.5663 - 5.5% TOTAL 1.6933 1.6347 - 3.5% 254.gap: InstSel 1.1328 0.9921 -14.2% RegAlloc 2.6933 2.4804 - 8.6% TOTAL 7.7871 7.2499 - 7.4% llvm-svn: 7622
* Use a new local data structure instead of the MachineInstr::regsUsed setChris Lattner2003-08-051-8/+7
| | | | llvm-svn: 7621
* Add a mapChris Lattner2003-08-051-0/+4
| | | | llvm-svn: 7620
* Minor cleanupsChris Lattner2003-08-051-23/+22
| | | | llvm-svn: 7619
* Physical registers no longer live in the regsUsed set for each machine instrChris Lattner2003-08-051-18/+30
| | | | llvm-svn: 7618
* Do not insert physical regsiters into the regsUsed setChris Lattner2003-08-052-5/+0
| | | | llvm-svn: 7617
* Reverted back to using OR for cmp/mv operations for lex/yacc output.John Criswell2003-08-052-6/+6
| | | | | | | The shell AND/OR operators short-circuit on command success/failure, which is the inverse of exit status (i.e. 0 means success, non-zero means failure). llvm-svn: 7616
* Switched from using diff to cmp for two reasons:John Criswell2003-08-052-6/+6
| | | | | | | | o Not all versions of diff have the -q option o The cmp program is probably faster than diff Fixed the logic that only copies the file over if no differences are found. llvm-svn: 7615
* Fixed minor bug in SafeToHoist and made some changes suggested by Chris.Tanya Lattner2003-08-051-19/+10
| | | | llvm-svn: 7614
* Added LICM test cases to:Tanya Lattner2003-08-052-0/+47
| | | | | | | 1) Check that trapping instructionns that are not guaranteed to execute are not hoisted. 2) Check that trapping instructions that are guaranteed to execute are hoisted. llvm-svn: 7613
* Fixed LICM bug that hoists trapping instructions that are not guaranteed to ↵Tanya Lattner2003-08-051-5/+59
| | | | | | execute. llvm-svn: 7612
* Minor changes:Chris Lattner2003-08-051-52/+48
| | | | | | | * Expand most tabs into spaces * Move #define DEBUG_TYPE to top of file to avoid warning llvm-svn: 7611
* Add more verbose commentChris Lattner2003-08-051-10/+9
| | | | llvm-svn: 7610
* Add a comment to the method declChris Lattner2003-08-051-7/+11
| | | | llvm-svn: 7609
* Remove unused methodChris Lattner2003-08-051-3/+0
| | | | llvm-svn: 7608
* Added declaration of mergeInGlobalsGraphSumant Kowshik2003-08-051-0/+2
| | | | llvm-svn: 7607
* Added function mergeInGlobalsGraph which merges in the entire globals graph ↵Sumant Kowshik2003-08-051-0/+29
| | | | | | with the graph of a function llvm-svn: 7606
* Major bug fixes including a memory leak and tracking some exceptional ↵Sumant Kowshik2003-08-051-83/+317
| | | | | | conditions. Also added support for including global and indirect call information in the DS graphs used by the pool allocation llvm-svn: 7605
* Specify DEBUG_TYPE's for the JIT debug messagesChris Lattner2003-08-052-0/+2
| | | | llvm-svn: 7604
* This method has now been changed to preserve flags for us!Chris Lattner2003-08-051-5/+2
| | | | llvm-svn: 7603
* All callers of these methods actually wanted them to preserve the flags,Chris Lattner2003-08-052-36/+9
| | | | | | | | | so get rid of the def/use parameters that were getting passed in. **** This now changes the semantics of these methods to preserve the flags, not clobber them! llvm-svn: 7602
* Added the declaration of InlineIndirectCallsSumant Kowshik2003-08-051-1/+6
| | | | llvm-svn: 7601
* Factor shared codeChris Lattner2003-08-051-8/+4
| | | | llvm-svn: 7600
* Fix bug: SimplifyCFG/2003-08-05-InvokeCrash.llChris Lattner2003-08-051-1/+2
| | | | | | Fix bug: SimplifyCFG/2003-08-05-MishandleInvoke.ll llvm-svn: 7599
* new testcases that simplifycfg breaksChris Lattner2003-08-052-0/+19
| | | | llvm-svn: 7598
* * Removed `using' declaration, now use full namespace qualifier std::stringMisha Brukman2003-08-051-43/+43
| | | | | | * Simplified code by using an inline function instead of copy-pasted code llvm-svn: 7597
* If we're debugging the SimplifyCFG pass, we _REALLY_ don't want to use it forChris Lattner2003-08-053-8/+14
| | | | | | narrowing, no matter what. llvm-svn: 7596
* Implement TODO: print out short form of Invoke if possibleChris Lattner2003-08-051-8/+23
| | | | llvm-svn: 7595
* Only test the vector of functions if it is non-empty.Misha Brukman2003-08-051-1/+1
| | | | llvm-svn: 7594
* Stop special-casing annul and predict bits (which are Sparc-specific anyway)Misha Brukman2003-08-051-8/+1
| | | | | | since those bits are now hard-coded in Sparc*.td files. llvm-svn: 7593
* * Set annul bit to be 0, because the Sparc backend currently does not use it.Misha Brukman2003-08-051-5/+5
| | | | | | | * Use the name of the predict field instead of just the const 1 in the Instruction. llvm-svn: 7592
* Fix bugs handling ESP in alloca referencesChris Lattner2003-08-051-3/+6
| | | | llvm-svn: 7591
* No functional changes, comment the fix I just put inChris Lattner2003-08-051-4/+5
| | | | llvm-svn: 7590
* The CodeEmitterGenerator used to consider ANY uninitialized field as being anChris Lattner2003-08-051-48/+48
| | | | | | | operand (unless it's annul or predict). Now we only consider fields to be operands if they are uninitialized AND used in the "Inst" field. llvm-svn: 7589
* Revert previous change, and be really anal about what physical registers can do.Chris Lattner2003-08-051-27/+19
| | | | llvm-svn: 7588
* This is the real fix for the previous register allocator problem.Chris Lattner2003-08-053-1/+4
| | | | | | Physical registers should not float around. llvm-svn: 7587
OpenPOWER on IntegriCloud