summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* this is (unfortunately) several changes mixed together:Chris Lattner2009-07-2511-81/+72
| | | | | | | | | | | | | | 1. Spell SectionFlags::Writeable as "Writable". 2. Add predicates for deriving SectionFlags from SectionKinds. 3. Sink ELF-specific getSectionPrefixForUniqueGlobal impl into ELFTargetAsmInfo. 4. Fix SectionFlagsForGlobal to know that BSS/ThreadBSS has the BSS bit set (the real fix for PR4619). 5. Fix isSuitableForBSS to not put globals with explicit sections set in BSS (which was the reason #4 wasn't fixed earlier). 6. Remove my previous hack for PR4619. llvm-svn: 77085
* document some invariants.Chris Lattner2009-07-251-1/+6
| | | | llvm-svn: 77084
* add the most expedient hack to fix PR4619, along with a testcase.Chris Lattner2009-07-251-0/+5
| | | | | | Thanks to Rafael for the great example. llvm-svn: 77083
* SCEV objects are no longer reference-counted.Dan Gohman2009-07-251-3/+2
| | | | llvm-svn: 77080
* When attempting to sign-extend an addrec by interpretingDan Gohman2009-07-251-2/+2
| | | | | | | the step value as unsigned, the start value and the addrec itself still need to be treated as signed. llvm-svn: 77078
* Convert DOUT to DEBUG.Andreas Bolka2009-07-251-5/+5
| | | | llvm-svn: 77065
* Simplify JIT target selection.Daniel Dunbar2009-07-2516-145/+48
| | | | | | | | | | - Instead of requiring targets to define a JIT quality match function, we just have them specify if they support a JIT. - Target selection for the JIT just gets the host triple and looks for the best target which matches the triple and has a JIT. llvm-svn: 77060
* Mark attributes of return insn correctly. It was being assumed safe to ↵Sanjiv Gupta2009-07-251-0/+1
| | | | | | delete in isSafeToDelete (a thing checked-in 76281). llvm-svn: 77056
* Add new helpers for registering targets.Daniel Dunbar2009-07-2538-289/+93
| | | | | | - Less boilerplate == good. llvm-svn: 77052
* Finish migrating VMCore to StringRef/Twine based APIs.Daniel Dunbar2009-07-259-72/+59
| | | | llvm-svn: 77051
* Initial update to VMCore to use Twines for string arguments.Daniel Dunbar2009-07-259-98/+104
| | | | | | | - The only meat here is in Value.{h,cpp} the rest is essential 'const std::string &' -> 'const Twine &'. llvm-svn: 77048
* Fix 80-col violations.Eric Christopher2009-07-251-5/+8
| | | | llvm-svn: 77045
* Move ExtractElementInst to ::Create instead of new. Update all uses.Eric Christopher2009-07-255-12/+12
| | | | llvm-svn: 77044
* 80 col violation.Evan Cheng2009-07-251-1/+2
| | | | llvm-svn: 77041
* Convert a few more things to use raw_ostream.Dan Gohman2009-07-256-44/+42
| | | | llvm-svn: 77039
* Get rid of a couple of unnecessary getOpcode calls.Evan Cheng2009-07-252-2/+2
| | | | llvm-svn: 77035
* Teach ScalarEvolution to make use of no-overflow flags whenDan Gohman2009-07-251-2/+37
| | | | | | analyzing add recurrences. llvm-svn: 77034
* Convert a few more uses of llvm/Support/Streams.h to raw_ostream.Dan Gohman2009-07-253-23/+17
| | | | llvm-svn: 77033
* Instead of eagerly creating new SCEVs to replace all SCEVs that areDan Gohman2009-07-251-103/+56
| | | | | | | | | | | | affected after a PHI node has been analyzed, just remove affected SCEVs from the Scalars map, so that they'll be (lazily) recreated as needed. This avoids creating SCEV objects that aren't actually needed. Also, rewrite the associated def-use walking code to be non-recursive and to continue traversing past Instructions that don't have an entry in the Scalars map. llvm-svn: 77032
* Make AliasAnalysis and related classes useDan Gohman2009-07-257-41/+45
| | | | | | getAnalysisIfAvailable<TargetData>(). llvm-svn: 77028
* Another TODO.Evan Cheng2009-07-251-0/+6
| | | | llvm-svn: 77026
* Change Thumb2 jumptable codegen to one that uses two level jumps:Evan Cheng2009-07-2512-72/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: adr r12, #LJTI3_0_0 ldr pc, [r12, +r0, lsl #2] LJTI3_0_0: .long LBB3_24 .long LBB3_30 .long LBB3_31 .long LBB3_32 After: adr r12, #LJTI3_0_0 add pc, r12, +r0, lsl #2 LJTI3_0_0: b.w LBB3_24 b.w LBB3_30 b.w LBB3_31 b.w LBB3_32 This has several advantages. 1. This will make it easier to optimize this to a TBB / TBH instruction + (smaller) table. 2. This eliminate the need for ugly asm printer hack to force the address into thumb addresses (bit 0 is one). 3. Same codegen for pic and non-pic. 4. This eliminate the need to align the table so constantpool island pass won't have to over-estimate the size. Based on my calculation, the later is probably slightly faster as well since ldr pc with shifter address is very slow. That is, it should be a win as long as the HW implementation can do a reasonable job of branch predict the second branch. llvm-svn: 77024
* More migration to raw_ostream, the water has dried up around the iostream hole.Daniel Dunbar2009-07-2545-256/+302
| | | | | | | | | | - Some clients which used DOUT have moved to DEBUG. We are deprecating the "magic" DOUT behavior which avoided calling printing functions when the statement was disabled. In addition to being unnecessary magic, it had the downside of leaving code in -Asserts builds, and of hiding potentially unnecessary computations. llvm-svn: 77019
* ARM code emitter can't handle Thumb2 instructions yet. So don't even try.Evan Cheng2009-07-251-4/+3
| | | | llvm-svn: 77018
* Fix build for GCC 4.0?Daniel Dunbar2009-07-241-0/+1
| | | | llvm-svn: 77016
* Fix compile with 4.4 (I hope?); PR4617.Daniel Dunbar2009-07-241-1/+1
| | | | llvm-svn: 77015
* Forward-declare raw_ostream.Andreas Bolka2009-07-241-0/+2
| | | | llvm-svn: 77014
* Revert the ConstantInt constructors back to their 2.5 forms where possible, ↵Owen Anderson2009-07-2452-1179/+887
| | | | | | thanks to contexts-on-types. More to come. llvm-svn: 77011
* AliasAnalysis wants sizes in address-units, not bits.Dan Gohman2009-07-241-1/+1
| | | | llvm-svn: 77009
* Fix assert assembling zero-argument constant GEP.Eli Friedman2009-07-241-2/+3
| | | | | | | There's still a strict-aliasing violation here, but I don't feel like dealing with that right now... llvm-svn: 77005
* Uh. It would be useful to actually print the operand.Evan Cheng2009-07-241-1/+1
| | | | llvm-svn: 77004
* fix some predicatesChris Lattner2009-07-241-1/+1
| | | | llvm-svn: 76999
* change SectionKindForGlobal from being a public (andChris Lattner2009-07-241-17/+9
| | | | | | | previously virtual) function to being a static function in the .cpp file. llvm-svn: 76997
* Disable my constant island pass optimization (to make use soimm more ↵Evan Cheng2009-07-242-4/+7
| | | | | | effectively). It caused infinite looping on lencod. llvm-svn: 76995
* make SectionKindForGlobal target independent, and therefore non-virtual.Chris Lattner2009-07-244-51/+72
| | | | | | | | It's classifications now include elf-specific discriminators. Targets that don't have these features (like darwin and pecoff) simply treat data.rel like data, etc. llvm-svn: 76993
* Add a workaround for Darwin assembler bug where it's not setting the thumb ↵Evan Cheng2009-07-241-2/+20
| | | | | | bit in Thumb2 jumptable entries. We now pass Olden. llvm-svn: 76991
* we already know the sectionkind when invoking SelectSectionForGlobal,Chris Lattner2009-07-245-14/+14
| | | | | | pass it in instead of recomputing it. llvm-svn: 76990
* make SectionForGlobal non-virtual, add a hook for pic16 to do its "address=" ↵Chris Lattner2009-07-243-18/+30
| | | | | | hack. llvm-svn: 76989
* Fix this condition I accidentally inverted.Dan Gohman2009-07-241-1/+1
| | | | llvm-svn: 76988
* Add support for promoting SETCC operations.Jakob Stoklund Olesen2009-07-244-13/+20
| | | | llvm-svn: 76987
* Make sure thumb2 jumptable entries are aligned.Evan Cheng2009-07-243-15/+19
| | | | llvm-svn: 76986
* Clean up.Evan Cheng2009-07-241-3/+1
| | | | llvm-svn: 76984
* Replace use of std::set with SmallPtrSet.Evan Cheng2009-07-241-3/+5
| | | | llvm-svn: 76983
* Convert several more passes to use getAnalysisIfAvailable<TargetData>()Dan Gohman2009-07-244-30/+31
| | | | | | instead of getAnalysis<TargetData>(). llvm-svn: 76982
* start refactoring pic16 section selection logic.Chris Lattner2009-07-242-16/+13
| | | | llvm-svn: 76977
* move ELF-specific code into ELFTargetAsmInfo.Chris Lattner2009-07-242-25/+28
| | | | llvm-svn: 76976
* tidy upChris Lattner2009-07-241-3/+4
| | | | llvm-svn: 76975
* split the ELF-specific section flag inference-from-name code outChris Lattner2009-07-241-25/+32
| | | | | | into its own helper function. llvm-svn: 76974
* make SectionFlagsForGlobal a private static function instead of a publicChris Lattner2009-07-241-6/+6
| | | | | | virtual one. llvm-svn: 76973
* move a method up in the file, GV is always non-null, so remove a check.Chris Lattner2009-07-241-61/+62
| | | | llvm-svn: 76972
OpenPOWER on IntegriCloud