summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR5262: when folding select into PHI, make sure all operands are availableTorok Edwin2009-10-211-6/+60
| | | | | | | in the PHI's Basic Block. This uses a conservative approach, because we don't have dominator info in instcombine. llvm-svn: 84754
* Add a pass to overlay pic16 data sections for function frame and automaticSanjiv Gupta2009-10-2111-6/+341
| | | | | | | | variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph to detect what function frames and their automatic variables can be overlaid. Currently this builds an archive , but needs to be changed to a loadable module. llvm-svn: 84753
* Match more patterns to movt.Evan Cheng2009-10-214-1/+42
| | | | llvm-svn: 84751
* Need a comma after imp-use.Evan Cheng2009-10-211-1/+3
| | | | llvm-svn: 84749
* De-bork CMake buildDouglas Gregor2009-10-211-1/+0
| | | | llvm-svn: 84744
* make GVN work better when TD is not around:Chris Lattner2009-10-211-15/+21
| | | | | | | | | | | | | | | | | "In the existing code, if the load and the value to replace it with are of different types *and* target data is available, it tries to use the target data to coerce the replacement value to the type of the load. Otherwise, it skips all effort to handle the type mismatch and just feeds the wrongly-typed replacement value to replaceAllUsesWith, which triggers an assertion. The patch replaces it with an outer if checking for type mismatch, and an inner if-else that checks whether target data is available and, if not, returns false rather than trying to replace the load." Patch by Kenneth Uildriks! llvm-svn: 84739
* tidyChris Lattner2009-10-211-1/+1
| | | | llvm-svn: 84738
* Fix some more NEON instruction encoding problems.Bob Wilson2009-10-211-6/+6
| | | | | | Thanks to Johnny Chen for discovering the problem. llvm-svn: 84732
* Do not remove dead metadata for now.Devang Patel2009-10-211-1/+2
| | | | llvm-svn: 84731
* Leave some NEON instruction encoding bits unspecified instead of settingBob Wilson2009-10-212-198/+247
| | | | | | | a default value of zero. This is important for decoding the instructions. Patch by Johnny Chen, with some changes from me, too. llvm-svn: 84730
* Revert r84658 and r84691. They were causing llvm-gcc bootstrap to fail.Dan Gohman2009-10-211-489/+319
| | | | llvm-svn: 84727
* IPSCCP is missing stuff.Chris Lattner2009-10-211-0/+7
| | | | llvm-svn: 84725
* Delete the MacOSJITEventListener per echristo's request. It was disabled byJeffrey Yasskin2009-10-211-172/+0
| | | | | | default and didn't work anyway. llvm-svn: 84720
* Add noteAnton Korobeynikov2009-10-211-0/+2
| | | | llvm-svn: 84713
* Be crazy and assert in case of unsupported modifier passed.Anton Korobeynikov2009-10-211-0/+1
| | | | llvm-svn: 84712
* Handle external symbolsAnton Korobeynikov2009-10-212-2/+14
| | | | llvm-svn: 84711
* Distinguish between pcrel imm operands and 'normal' ones. Fix fixes gross ↵Anton Korobeynikov2009-10-214-9/+23
| | | | | | weirdness of asmprinting. llvm-svn: 84710
* Add basic block operands & jump kindsAnton Korobeynikov2009-10-215-16/+43
| | | | llvm-svn: 84709
* Ignore all implicit reg operandsAnton Korobeynikov2009-10-211-0/+2
| | | | llvm-svn: 84708
* Add a workaround for different memops prefixesAnton Korobeynikov2009-10-211-3/+6
| | | | llvm-svn: 84707
* Checkpoint MCInst printer. We (almostly) able to print global / JT / ↵Anton Korobeynikov2009-10-215-11/+106
| | | | | | constpool entries llvm-svn: 84706
* Add simple operand printing stuffAnton Korobeynikov2009-10-212-4/+19
| | | | llvm-svn: 84704
* Add experimental MSP430 MCInstLowering stuffAnton Korobeynikov2009-10-214-1/+155
| | | | llvm-svn: 84703
* Wire up MSP430 printMCInst() methodAnton Korobeynikov2009-10-211-0/+4
| | | | llvm-svn: 84702
* Add MSP430 InstPrinter stubAnton Korobeynikov2009-10-213-0/+84
| | | | llvm-svn: 84701
* Use proper target dataAnton Korobeynikov2009-10-211-1/+1
| | | | llvm-svn: 84700
* Respect src register allocation requirements when breaking ↵David Goodwin2009-10-201-17/+20
| | | | | | anti-dependencies. Remove some dead code. llvm-svn: 84691
* Cosmetic changes.Devang Patel2009-10-202-10/+10
| | | | | | | | s/validName/isValidName/g s/with an Instruction/to an Instruction/g s/RegisterMDKind/registerMDKind/g llvm-svn: 84689
* Fix -Asserts warning.Daniel Dunbar2009-10-201-2/+3
| | | | llvm-svn: 84687
* Fix invalid for vector types fneg(bitconvert(x)) => bitconvert(x ^ sign)Anton Korobeynikov2009-10-201-4/+6
| | | | | | transform. llvm-svn: 84683
* Oops. Backing out 84681 - needs to wait for the indexing patch.Lang Hames2009-10-201-54/+35
| | | | llvm-svn: 84682
* Added some debugging output to pre-alloc splitting.Lang Hames2009-10-201-35/+54
| | | | llvm-svn: 84681
* Fix another place that calls Loop::contains a lot to construct a sortedDan Gohman2009-10-201-1/+4
| | | | | | | | container of the blocks and do efficient lookups. This makes isLoopSimplifyForm much faster on large loops, fixing a significant compile-time issue in builds with assertions enabled. llvm-svn: 84673
* Disable by default while debuggingJim Grosbach2009-10-201-1/+1
| | | | llvm-svn: 84669
* alternate fix for PR5258 which avoids worklist problems, with reduced testcase.Chris Lattner2009-10-201-11/+6
| | | | llvm-svn: 84667
* add cmd line opt to disable frame index reuse for ARM and T2. debug aid.Jim Grosbach2009-10-201-0/+7
| | | | llvm-svn: 84664
* Restore LoopUnswitch's block-oriented threshold. LoopUnswitch now checks bothDan Gohman2009-10-201-36/+27
| | | | | | | | | the estimated code size and the number of blocks when deciding whether to do a non-trivial unswitch. This protects it from some very undesirable worst-case behavior on large numbers of loop-unswitchable conditions, such as in the testcase in PR5259. llvm-svn: 84661
* Checkpoint more aggressive anti-dependency breaking for post-ra scheduler.David Goodwin2009-10-201-310/+477
| | | | llvm-svn: 84658
* Better handle instructions that re-def a scratch registerJim Grosbach2009-10-201-9/+18
| | | | llvm-svn: 84657
* Following r84485, add Defs = [EFLAGS] to the 32-bit lock instructions too.Dan Gohman2009-10-201-0/+2
| | | | llvm-svn: 84652
* Move the Function*->allocated blocks map from the JITMemoryManager to theJeffrey Yasskin2009-10-202-34/+30
| | | | | | | | | | | | | | | JITEmitter. I'm gradually making Functions auto-remove themselves from the JIT when they're destroyed. In this case, the Function needs to be removed from the JITEmitter, but the map recording which Functions need to be removed lived behind the JITMemoryManager interface, which made things difficult. This patch replaces the deallocateMemForFunction(Function*) method with a pair of methods deallocateFunctionBody(void *) and deallocateExceptionTable(void *) corresponding to the two startFoo/endFoo pairs. llvm-svn: 84651
* Register re-use for scavenged frame indices must check for re-deginitionJim Grosbach2009-10-201-0/+4
| | | | | | of the register in the instruction which kills the scavenged value. llvm-svn: 84641
* Make TranslateX86CC return COND_INVALID instead of aborting when itDan Gohman2009-10-201-4/+15
| | | | | | | | | | encounters an OEQ or UNE comparison, and update its callers to check for this return status and recover. This fixes a problem resulting from the LowerOperation hooks being called from LegalizeVectorOps, because LegalizeVectorOps only lowers vectors, so OEQ and UNE comparisons may still be at large. This fixes PR5092. llvm-svn: 84640
* Fix PR5258, jump-threading creating invalid PHIs.Torok Edwin2009-10-201-2/+10
| | | | | | | When an incoming value for a PHI is updated, we must also updated all other incoming values for the same BB to match, otherwise we create invalid PHIs. llvm-svn: 84638
* Fix PR4313: IPSCCP was not setting the lattice value for the invoke instructionTorok Edwin2009-10-201-2/+4
| | | | | | | | | | when the invoke had multiple return values: it set the lattice value only on the extractvalue. This caused the invoke's lattice value to remain the default (undefined), and later propagated to extractvalue's operand, which incorrectly introduces undefined behavior. llvm-svn: 84637
* Random #include pruning.Benjamin Kramer2009-10-201-1/+2
| | | | llvm-svn: 84632
* This file is replaeced by PIC16Section.h.Sanjiv Gupta2009-10-201-88/+0
| | | | llvm-svn: 84628
* implement some more easy hooks.Chris Lattner2009-10-202-3/+34
| | | | llvm-svn: 84614
* Implement some hooks, make printOperand abort if unknown modifiers areChris Lattner2009-10-202-9/+129
| | | | | | present. llvm-svn: 84613
* t2MOVi32imm is currently always lowered by the Thumb2ITBlockPass.Chris Lattner2009-10-201-2/+2
| | | | llvm-svn: 84611
OpenPOWER on IntegriCloud