summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Workaround a couple of Darwin assembler bugs.Evan Cheng2009-08-013-31/+71
| | | | llvm-svn: 77781
* Give MachineFunctionAnalysis a destructor so it can verify thatDan Gohman2009-08-011-0/+4
| | | | | | that it released its allocated memory. llvm-svn: 77775
* Delete a redundant variable.Dan Gohman2009-08-011-1/+0
| | | | llvm-svn: 77774
* Minor code simplifications.Dan Gohman2009-08-011-8/+8
| | | | llvm-svn: 77769
* Minor code simplifications.Dan Gohman2009-08-012-8/+1
| | | | llvm-svn: 77768
* Split t2MOVCCs since some assemblers do not recognize mov shifted register ↵Evan Cheng2009-08-012-8/+29
| | | | | | alias with predicate. llvm-svn: 77764
* SelectionDAGISel no longer needs to check hasAvailableExternallyLinkage,Dan Gohman2009-08-011-5/+0
| | | | | | | as it is now a MachineFunctionPass, and MachineFunctionPass now handles this. llvm-svn: 77760
* Make UnreachableMachineBlockElim preserve MachineDominatorTree andDan Gohman2009-08-011-0/+15
| | | | | | | | | MachineLoopInfo. llc now runs MachineLoopInfo and MachineDominatorTree only twice, instead of three times. llvm-svn: 77759
* The X86 maximal stack alignment calculator preserves the CFG. Also,Dan Gohman2009-08-011-2/+9
| | | | | | be more careful about the return value of runOnMachineFunction. llvm-svn: 77758
* X86 floating-point passes don't modify the CFG.Dan Gohman2009-08-012-0/+2
| | | | llvm-svn: 77757
* Fix Thumb2 function call isel. Thumb1 and Thumb2 should share the sameEvan Cheng2009-08-015-72/+40
| | | | | | | | | instructions for calls since BL and BLX are always 32-bit long and BX is always 16-bit long. Also, we should be using BLX to call external function stubs. llvm-svn: 77756
* Use setPreservesAll in X86CodeEmitter.Dan Gohman2009-07-311-0/+1
| | | | llvm-svn: 77755
* Use setPreservesAll and setPreservesCFG in CodeGen passes.Dan Gohman2009-07-3117-14/+31
| | | | llvm-svn: 77754
* SelectionDAGISel does not "preserve all", since it makes lots of changesDan Gohman2009-07-311-1/+3
| | | | | | to the MachineFunction. llvm-svn: 77753
* Use a range insert instead of an explicit loop.Dan Gohman2009-07-311-2/+1
| | | | llvm-svn: 77752
* llvm-mc: Fix .s output to quote section & symbol names when necessary.Daniel Dunbar2009-07-311-12/+51
| | | | llvm-svn: 77749
* Privatize all but one of the remaining constant tables.Owen Anderson2009-07-312-62/+55
| | | | llvm-svn: 77748
* Allow target intrinsics that return multiple values, i.e., struct types,Bob Wilson2009-07-311-15/+9
| | | | | | | | | | | | | | | | | | | | | | | | in SelectionDAGLowering::visitTargetIntrinsic. This removes a bit of special-case code for vector types. After staring at it for a while, I managed to convince myself that it is not necessary. The only case where TLI.getValueType() differs from MVT::getMVT is for iPTR, so this code could potentially make a difference for a vector of pointers. But, it looks like that is not supported. Calling TLI.getValueType() on a vector of pointers leads to the following sequence of calls: TargetLowering::getValueType MVT::getMVT MVT::getVectorVT(iPTR, num elements) MVT::getExtendedVectorVT MVT::getTypeForMVT for iPTR assertion fails "Type is not extended!" So, unless I'm really missing something, this bit of code is irrelevant to the current version of LLVM, which is consistent with the fact that I don't see this code in other similar places. llvm-svn: 77747
* llvm-mc: A few more parsing / match tweaks.Daniel Dunbar2009-07-311-11/+42
| | | | | | | | | | | | | | - Operands which are just a label should be parsed as immediates, not memory operands (from the assembler perspective). - Match a few more flavors of immediates. - Distinguish match functions for memory operands which don't take a segment register. - We match the .s for "hello world" now! llvm-svn: 77745
* t2BR_JT is mov pc, it's 2 byte long, not 4.Evan Cheng2009-07-311-9/+9
| | | | llvm-svn: 77744
* Thumb2 movcc need .w suffix.Evan Cheng2009-07-311-3/+3
| | | | llvm-svn: 77743
* add some comments on how this is *supposed* to work. We don'tChris Lattner2009-07-311-0/+27
| | | | | | | need the PreferredEHDataFormat hook, but I have yet-more refactoring to do before I can zap it. llvm-svn: 77742
* rearrange a conditional. Even if this weren't #if 0'd out, this wouldChris Lattner2009-07-311-4/+5
| | | | | | have no functionality change. llvm-svn: 77741
* Simplify operand padding by keying off tabs in the asm stream. IfDavid Greene2009-07-311-1/+21
| | | | | | | | | | | | padding is disabled, tabs get replaced by spaces except in the case of the first operand, where the tab is output to line up the operands after the mnemonics. Add some better comments and eliminate redundant code. Fix some testcases to not assume tabs. llvm-svn: 77740
* PreferredEHDataFormat is always call with data and global, but this wholeChris Lattner2009-07-314-47/+19
| | | | | | | thing is #if0'd out anyway. Just simplify the code by reducing the interface. Not deleting this is essential for Bill's continuing happiness. llvm-svn: 77736
* Move the metadata constructors back to 2.5 syntax.Owen Anderson2009-07-316-80/+52
| | | | llvm-svn: 77733
* LibCallAliasAnalysis doesn't use TargetData.Dan Gohman2009-07-311-2/+0
| | | | llvm-svn: 77729
* llvm-mc/X86: Sketch match functions for immediates and memory operands.Daniel Dunbar2009-07-311-37/+112
| | | | | | | Also, change scale value to always be 1 when unspecified to machine MachineInst encoding. llvm-svn: 77728
* Make TargetData optional in MemoryDependenceAnalysis.Dan Gohman2009-07-311-10/+7
| | | | llvm-svn: 77727
* move emitUsedDirectiveFor to TargetLoweringObjectFile and rename it toChris Lattner2009-07-313-21/+24
| | | | | | | indicate that it is a predicate, not an emitter. This eliminates TAI dependencies on Mangler and GlobalValue. llvm-svn: 77726
* Remove an unnecessary header.Dan Gohman2009-07-311-1/+0
| | | | llvm-svn: 77725
* remove the PPCLinuxTargetAsmInfo implementation of PreferredEHDataFormat,Chris Lattner2009-07-312-35/+0
| | | | | | | | | | because it just calls the default impl. Remove the PPCDarwinTargetAsmInfo version of PreferredEHDataFormat because it just returns DW_EH_PE_absptr unless on 10.6. However, 10.6 doesn't support PPC, so the default impl is just fine. llvm-svn: 77724
* remove a pointless override.Chris Lattner2009-07-312-12/+0
| | | | llvm-svn: 77723
* Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵Owen Anderson2009-07-3143-376/+331
| | | | | | | | change back are metadata related, which I'm waiting on to avoid conflicting with Devang. llvm-svn: 77721
* Fix GVN's debug output, now that operator<< on Value* doesn't printDan Gohman2009-07-311-11/+12
| | | | | | a trailing newline. llvm-svn: 77719
* Whitespace and 80-col cleanup.Eric Christopher2009-07-311-153/+167
| | | | llvm-svn: 77718
* - Convert the rest of the DOUTs to DEBUG+errs().Bill Wendling2009-07-311-14/+13
| | | | | | | | - One formatting change. No intended functionality change. llvm-svn: 77717
* PR4662: Fix a crash introduced by the recent LLVMContext changes.Eli Friedman2009-07-311-1/+2
| | | | llvm-svn: 77716
* Update CMake files.Ted Kremenek2009-07-312-1/+2
| | | | llvm-svn: 77709
* switch off of 'Section' onto MCSection. We're not properly usingChris Lattner2009-07-3116-117/+128
| | | | | | MCSection subclasses yet, but this is a step in the right direction. llvm-svn: 77708
* Remove Annotation.h, which is no longer used in the LLVM tree.Dan Gohman2009-07-311-130/+0
| | | | llvm-svn: 77706
* Until we have a "ALIGN" pseudo instruction, have asm printer emitted a .alignEvan Cheng2009-07-311-0/+7
| | | | | | | | to ensure the instruction that follows a TBB (when the number of table entries is odd) is 2-byte aligned. Patch by Sandeep Patel. llvm-svn: 77705
* MachineFunction no longer needs Annotation.Dan Gohman2009-07-311-2/+1
| | | | llvm-svn: 77704
* - Teach TBB / TBH offset limits are 510 and 131070 respectively since the offsetEvan Cheng2009-07-312-9/+14
| | | | | | | is scaled by two. - Teach GetInstSizeInBytes about TBB and TBH. llvm-svn: 77701
* Fix printing of Alloca instructions with null operands.Dan Gohman2009-07-311-1/+1
| | | | llvm-svn: 77697
* Fix some problems with ASTCallbackVH in its use as a DenseMap key.Dan Gohman2009-07-311-4/+6
| | | | llvm-svn: 77696
* Process DbgDeclareInst.Devang Patel2009-07-311-0/+15
| | | | llvm-svn: 77694
* Normalize target registration code.Daniel Dunbar2009-07-311-1/+1
| | | | llvm-svn: 77692
* Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsageDan Gohman2009-07-3111-104/+121
| | | | | | | | shouldn't do AU.setPreservesCFG(), because even though CodeGen passes don't modify the LLVM IR CFG, they may modify the MachineFunction CFG, and passes like MachineLoop are registered with isCFGOnly set to true. llvm-svn: 77691
* refactor section construction in TLOF to be through an explicitChris Lattner2009-07-317-10/+24
| | | | | | initialize method, which can be called when an MCContext is available. llvm-svn: 77687
OpenPOWER on IntegriCloud