summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Avoid a warning "'U' might be used uninitialized inDuncan Sands2009-06-031-1/+1
| | | | | | this function" when using a not-too-smart compiler. llvm-svn: 72768
* At a newline at the end of this file.Duncan Sands2009-06-031-1/+1
| | | | llvm-svn: 72767
* Document how phi and invoke instructions interact with SSA form.Jay Foad2009-06-031-3/+9
| | | | llvm-svn: 72762
* Fix for PR4225: When rewriter reuse a value in a physical register , it ↵Evan Cheng2009-06-032-5/+381
| | | | | | clear the register kill operand marker and its kill ops information. However, the cleared operand may be a def of a super-register. Clear the kill ops info for the super-register's sub-registers as well. llvm-svn: 72758
* Temporarily revert 72756 for now.Evan Cheng2009-06-032-7/+1
| | | | llvm-svn: 72757
* Fold preceding / trailing base inc / dec into the single load / store as well.Evan Cheng2009-06-032-2/+21
| | | | llvm-svn: 72756
* If there is a def of a super-register followed by a use of a sub-register, ↵Evan Cheng2009-06-031-14/+0
| | | | | | | | | | | | | | do *not* add an implicit def of the sub-register. e.g. EAX = ..., AX<imp-def> ... = AX This creates a double-def. Apparently this used to be necessary but is no longer needed. Thanks to Anton for pointing this out. Anton, I cannot create a test case without your uncommitted ARM patches. Please check in a test case for me. llvm-svn: 72755
* Move structures and classes into header files, providing two new headers andBruno Cardoso Lopes2009-06-035-772/+900
| | | | | | | | one new .cpp file, in preparation for merging in the Direct Object Emission changes we're working on. No functional changes. Fixed coding style issues on the original patch. Patch by Aaron Gray llvm-svn: 72754
* Revert r72734. The Darwin assembler doesn't support the staticDan Gohman2009-06-035-9/+8
| | | | | | | relocation model on x86-64. Higher level logic should override the relocation model to PIC on x86_64-apple-darwin. llvm-svn: 72746
* Change TargetFolder's TD member from a reference to aDan Gohman2009-06-031-5/+7
| | | | | | | pointer, now that ConstantFoldConstantExpression can accept a null TargetData pointer. llvm-svn: 72744
* Change ConstantFoldConstantExpression to accept a nullDan Gohman2009-06-022-3/+1
| | | | | | | | | | | TargetData pointer. The only thing it's used for are calls to ConstantFoldCompareInstOperands and ConstantFoldInstOperands, which both already accept a null TargetData pointer. This makes ConstantFoldConstantExpression easier to use in clients where TargetData is optional. llvm-svn: 72741
* Delete an unnecessary forward declaration.Dan Gohman2009-06-021-1/+0
| | | | llvm-svn: 72740
* Fix CodeGenPrepare's address-mode sinking to handle unusualDan Gohman2009-06-022-1/+28
| | | | | | | addresses, involving Base values which do not have Pointer type. This fixes PR4297. llvm-svn: 72739
* NightlyTest: Stop running a separate Olden pass during nightly test.Daniel Dunbar2009-06-021-40/+3
| | | | | | | - Unless I'm mistaken, these results weren't even being reported and just served to clobber the previous build products and waste cycles. llvm-svn: 72738
* fix build on VC++2k8.Torok Edwin2009-06-021-4/+4
| | | | llvm-svn: 72736
* Fixed warning, removed some temporary validation code that snuck in during ↵Lang Hames2009-06-021-91/+0
| | | | | | my last commit. llvm-svn: 72735
* On Darwin x86_64 small code model doesn't guarantee code address fits in 32-bit.Evan Cheng2009-06-025-7/+18
| | | | llvm-svn: 72734
* Undef MemoryFence when compiling on MSVC.Owen Anderson2009-06-021-0/+1
| | | | llvm-svn: 72732
* Simplify assertion message to avoid confusion.Devang Patel2009-06-021-17/+15
| | | | llvm-svn: 72731
* Update to in-place spilling framework. Includes live interval scaling and ↵Lang Hames2009-06-0213-114/+405
| | | | | | trivial rewriter. llvm-svn: 72729
* Revert 72707 and 72709, for the moment.Dale Johannesen2009-06-0218-433/+124
| | | | llvm-svn: 72712
* Avoid infinite looping in AllGlobalLoadUsesSimpleEnoughForHeapSRA(). This ↵Evan Cheng2009-06-022-6/+133
| | | | | | can happen when PHI uses are recursively dependent on each other. llvm-svn: 72710
* Add missing file.Dale Johannesen2009-06-011-0/+2
| | | | llvm-svn: 72709
* update comments about .objc_ symbols being generatedNick Kledzik2009-06-011-2/+20
| | | | llvm-svn: 72708
* Make the implicit inputs and outputs of target-independentDale Johannesen2009-06-0117-124/+431
| | | | | | | | | | | | | | | | | | | | | | | | ADDC/ADDE use MVT::i1 (later, whatever it gets legalized to) instead of MVT::Flag. Remove CARRY_FALSE in favor of 0; adjust all target-independent code to use this format. Most targets will still produce a Flag-setting target-dependent version when selection is done. X86 is converted to use i32 instead, which means TableGen needs to produce different code in xxxGenDAGISel.inc. This keys off the new supportsHasI1 bit in xxxInstrInfo, currently set only for X86; in principle this is temporary and should go away when all other targets have been converted. All relevant X86 instruction patterns are modified to represent setting and using EFLAGS explicitly. The same can be done on other targets. The immediate behavior change is that an ADC/ADD pair are no longer tightly coupled in the X86 scheduler; they can be separated by instructions that don't clobber the flags (MOV). I will soon add some peephole optimizations based on using other instructions that set the flags to feed into ADC. llvm-svn: 72707
* Comment grammaro/clarification.Dale Johannesen2009-06-011-2/+2
| | | | llvm-svn: 72706
* Trailing whitespace.Dale Johannesen2009-06-011-1/+1
| | | | llvm-svn: 72705
* Dcoument that the opauque value used to construct QNaNs is truncatedMike Stump2009-06-011-1/+1
| | | | | | as necessary. llvm-svn: 72702
* <rdar://problem/6927148> libLTO needs to handle i386 magic objc class symbolsNick Kledzik2009-06-012-18/+152
| | | | | | | Parse __OBJC data structures and synthesize magic .objc_ symbols. Also, alter mangler so that objc method names are readable. llvm-svn: 72700
* Accidental commit. This isn't ready for prime time just yet.Bill Wendling2009-06-011-2/+6
| | | | llvm-svn: 72699
* Implement review feedback. Make thumb2 'normal' subtarget featureAnton Korobeynikov2009-06-012-13/+12
| | | | llvm-svn: 72698
* Fix new CodeEmitter stuff to follow LLVM codying style. Patch by Aaron GrayBruno Cardoso Lopes2009-06-019-199/+208
| | | | llvm-svn: 72697
* Do not emit "generic" CPU string. This fixes PR4291.Anton Korobeynikov2009-06-011-1/+3
| | | | llvm-svn: 72696
* PR4286: Make RewriteLoadUserOfWholeAlloca and Eli Friedman2009-06-012-8/+30
| | | | | | | | RewriteStoreUserOfWholeAlloca deal with tail padding because isSafeUseOfBitCastedAllocation expects them to. Otherwise, we crash trying to erase the bitcast. llvm-svn: 72688
* Update the bitcode reader to support reading .bc files where the embeddedNick Lewycky2009-06-011-1/+1
| | | | | | metadata references non-Constant values such as instructions. llvm-svn: 72685
* Add missing codenames to the .bc analyzer.Nick Lewycky2009-06-011-0/+4
| | | | llvm-svn: 72684
* Fix a grammaro and clarify a comment.Dan Gohman2009-05-311-5/+5
| | | | llvm-svn: 72668
* Delete an obsolete sentance from a comment.Dan Gohman2009-05-311-3/+1
| | | | llvm-svn: 72667
* Fix the name of the function in this comment.Dan Gohman2009-05-311-2/+2
| | | | llvm-svn: 72666
* Be more aggressive in doing LoadPRE by tracing backwards when a block only hasOwen Anderson2009-05-312-4/+71
| | | | | | | | a single predecessor. Patch by Jakub Staszak. llvm-svn: 72661
* Fix typo in error message.Nick Lewycky2009-05-311-1/+1
| | | | llvm-svn: 72659
* Rename CustomLowerResults to CustomLowerNode, sinceDuncan Sands2009-05-314-9/+8
| | | | | | | it is used both when a result is illegal and when an operand is illegal. llvm-svn: 72658
* Use uint8_t and int32_t in {JIT,Machine}CodeEmitersBruno Cardoso Lopes2009-05-307-119/+115
| | | | llvm-svn: 72650
* Add AMD64 elf machine typeBruno Cardoso Lopes2009-05-301-1/+2
| | | | llvm-svn: 72635
* First patch in the direction of splitting MachineCodeEmitter in two subclasses:Bruno Cardoso Lopes2009-05-3033-366/+1103
| | | | | | JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray llvm-svn: 72631
* fix PR4284, a bug in simplifylibcalls handling memcmp. Patch by Chris Lattner2009-05-302-1/+15
| | | | | | Benjamin Kramer! llvm-svn: 72625
* Metadata uses metadata type not empty struct.Nick Lewycky2009-05-301-5/+5
| | | | llvm-svn: 72623
* Add some documentation.Mike Stump2009-05-301-1/+6
| | | | llvm-svn: 72622
* Adjust these tests now that "extern inline"Duncan Sands2009-05-302-8/+6
| | | | | | | functions are being output with bodies and available_externally linkage. llvm-svn: 72620
* (i64 (zext (srl GR32 8))) -> movzbl AH is not safe since srl 8 only clear ↵Evan Cheng2009-05-302-7/+28
| | | | | | the top 8 bits. llvm-svn: 72618
OpenPOWER on IntegriCloud