summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* g++ 4.0 doesn't have std::vector::data.Benjamin Kramer2009-08-101-1/+1
| | | | llvm-svn: 78579
* Change the MDNode uniquing to a ValueMap, at Devang's request.Owen Anderson2009-08-104-35/+28
| | | | llvm-svn: 78577
* split MachO section handling stuff out to its out .h/.cpp file.Chris Lattner2009-08-108-274/+285
| | | | llvm-svn: 78576
* arm only needs to emit one .align directive for hidden nlp's, not oneChris Lattner2009-08-101-1/+1
| | | | | | per pointer. llvm-svn: 78574
* make sure that arm nonlazypointers are aligned properlyChris Lattner2009-08-101-0/+1
| | | | llvm-svn: 78573
* Fix a weird ppc64-specific link error during an llvm-gcc build:Chris Lattner2009-08-101-0/+2
| | | | | | | | | | ld: bad offset (0x00000091) for lo14 instruction pic-base fix-up in ___popcountdi2 from libgcc/./_popcountsi2_s.o The problem is that the non lazy symbol pointers need to be 8 byte aligned on ppc64 and .section doesn't have an implicit alignment like ".non_lazy_symbol_pointer" does. llvm-svn: 78572
* fix some warnings for the MSVC build, by Yonggang Luo!Chris Lattner2009-08-101-1/+1
| | | | llvm-svn: 78571
* Make this comment more closely reflect the code.Dan Gohman2009-08-101-1/+1
| | | | llvm-svn: 78569
* Add support for printing loop structure information in asm comments.David Greene2009-08-101-3/+99
| | | | | | | | | | This definitely slows down asm output so put it under an -asm-exuberant flag. This information is useful when doing static analysis of performance issues. llvm-svn: 78567
* Checkpoint scheduling itinerary changes.David Goodwin2009-08-103-28/+53
| | | | llvm-svn: 78564
* Post RA scheduler changes. Introduce a hazard recognizer that uses the ↵David Goodwin2009-08-106-78/+331
| | | | | | target schedule information to accurately model the pipeline. Update the scheduler to correctly handle multi-issue targets. llvm-svn: 78563
* Watch out for empty BB.Evan Cheng2009-08-101-1/+1
| | | | llvm-svn: 78562
* rev, rev16, and revsh do not set CPSR.Evan Cheng2009-08-101-3/+3
| | | | llvm-svn: 78561
* Duh. Most 16-bit Thumb rr instructions are two-address. Fix table.Evan Cheng2009-08-101-9/+15
| | | | llvm-svn: 78560
* CPSR can be livein; transfer predicate operands correctly; tMUL is two-address.Evan Cheng2009-08-101-19/+57
| | | | llvm-svn: 78559
* Add support for folding loads / stores into 16-bit moves used by Thumb2.Evan Cheng2009-08-101-37/+61
| | | | llvm-svn: 78558
* 80 col violation.Evan Cheng2009-08-101-2/+3
| | | | llvm-svn: 78557
* Use tMOVgpr2gpr instead of t2MOVr.Evan Cheng2009-08-101-4/+7
| | | | llvm-svn: 78556
* Add support for a user supplied pointer argument to llvm_install_error_handler.Daniel Dunbar2009-08-101-2/+6
| | | | llvm-svn: 78553
* Move ConstantExpr handling to ResolveConstantExpr method and alsoBruno Cardoso Lopes2009-08-102-28/+87
| | | | | | add support for PtrToInt, Add, Mul. llvm-svn: 78552
* Add support to reduce most of 32-bit Thumb2 arithmetic instructions.Evan Cheng2009-08-104-81/+161
| | | | llvm-svn: 78550
* Always use the 16-bit tMOVgpr2gpr instead of the 32-bit t2MOVr.Evan Cheng2009-08-101-2/+1
| | | | llvm-svn: 78549
* Make the big switch: Change MCSectionMachO to represent a section *semantically*Chris Lattner2009-08-106-123/+429
| | | | | | | | | | | | | | | | instead of syntactically as a string. This means that it keeps track of the segment, section, flags, etc directly and asmprints them in the right format. This also includes parsing and validation support for llvm-mc and "attribute(section)", so we should now start getting errors about invalid section attributes from the compiler instead of the assembler on darwin. Still todo: 1) Uniquing of darwin mcsections 2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h] 3) there are a few FIXMEs, for example what is the syntax to get the S_GB_ZEROFILL segment type? llvm-svn: 78547
* Use abs64 instead abs; some platforms don't have a 64-bit abs overload. ↵Benjamin Kramer2009-08-091-1/+1
| | | | | | Noticed by Yonggang Luo! llvm-svn: 78543
* Add support to convert 32-bit instructions to 16-bit non-two-address ones.Evan Cheng2009-08-091-35/+96
| | | | llvm-svn: 78540
* always end a section with \n on elf.Chris Lattner2009-08-091-0/+2
| | | | llvm-svn: 78534
* llvm-mc/AsmParser: Implement user defined super classes.Daniel Dunbar2009-08-092-2/+27
| | | | | | - We can now discriminate SUB32ri8 from SUB32ri, for example. llvm-svn: 78530
* Extend comment on ParserMatchClass .td field, and add some missingDaniel Dunbar2009-08-092-0/+4
| | | | | | classes for X86. llvm-svn: 78524
* llvm-mc/AsmParser: Define match classes in the .td file.Daniel Dunbar2009-08-091-0/+3
| | | | | | -2 FIXMEs. llvm-svn: 78523
* sink the 'name' and 'isdirective' state out of MCSection into its derived ↵Chris Lattner2009-08-088-84/+106
| | | | | | | | classes. This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-) llvm-svn: 78517
* Use subclassing to print lane-like immediates (w/o hash) eliminatingAnton Korobeynikov2009-08-085-32/+37
| | | | | | 'no_hash' modifier. Hopefully this will make Daniel happy :) llvm-svn: 78514
* add a note about dead zero extends.Chris Lattner2009-08-081-0/+49
| | | | llvm-svn: 78511
* 1. Make MCSection an abstract class.Chris Lattner2009-08-088-123/+120
| | | | | | | | | 2. Move section switch printing to MCSection virtual method which takes a TAI. This eliminates textual formatting stuff from TLOF. 3. Eliminate SwitchToSectionDirective, getSectionFlagsAsString, and TLOFELF::AtIsCommentChar. llvm-svn: 78510
* Add crc32 instruction and intrinsics. Add a new class of prefixEric Christopher2009-08-085-0/+93
| | | | | | | | | bytes for F2 0F 38 and propagate. Add a FIXME for a set of possibilities which correspond to intrinsics already used. New test. llvm-svn: 78508
* Add support for READCYCLECOUNTER in Blackfin back-end.Jakob Stoklund Olesen2009-08-083-0/+35
| | | | llvm-svn: 78506
* add new PIC16Section class, this time hopefully not breaking the build :)Chris Lattner2009-08-083-2/+40
| | | | llvm-svn: 78505
* llvm-mc/AsmMatcher: Switch token matching to use the new string matcher.Daniel Dunbar2009-08-081-2/+6
| | | | | | | Also, redefined MatchRegisterName to just return the register value or a sentinel, to simplify the generated code. llvm-svn: 78504
* Revert r78501, it doesn't build.Daniel Dunbar2009-08-082-37/+1
| | | | | | | | --- Reverse-merging r78501 into '.': U lib/Target/PIC16/PIC16TargetObjectFile.cpp D lib/Target/PIC16/PIC16Section.h llvm-svn: 78503
* make PIC16 create its own custom MCSection.Chris Lattner2009-08-082-1/+37
| | | | llvm-svn: 78501
* make target-specific TLOF impls (except PIC16) create target-specificChris Lattner2009-08-082-5/+5
| | | | | | MCSection instances. llvm-svn: 78500
* stub out PECOFF/MachO/ELF MCSection classesChris Lattner2009-08-081-2/+20
| | | | llvm-svn: 78499
* eliminate TargetLoweringObjectFileSparc in favor of a TAI hook.Chris Lattner2009-08-085-31/+28
| | | | | | | | A TAI hook is appropriate in this case because this is just an asm syntax issue, not a semantic difference. TLOF should model the semantics of the section. llvm-svn: 78498
* Don't build illegal ops in DAGCombiner::SimplifyBinOpWithSameOpcodeHands().Jakob Stoklund Olesen2009-08-081-1/+3
| | | | | | | | Blackfin supports and/or/xor on i32 but not on i16. Teach DAGCombiner::SimplifyBinOpWithSameOpcodeHands to not produce illegal nodes after legalize ops. llvm-svn: 78497
* give pic16 a target-specific section creation name tooChris Lattner2009-08-082-35/+33
| | | | llvm-svn: 78496
* now that getOrCreateSection is all object-file specific,Chris Lattner2009-08-083-152/+133
| | | | | | | give the impls an object-file-specific name. In the future they can take different arguments etc. llvm-svn: 78495
* sink getOrCreateSection down into all the object file implementations,Chris Lattner2009-08-083-8/+34
| | | | | | now that they create *all* the sections. llvm-svn: 78494
* Some ProfileInfo cleanups.Daniel Dunbar2009-08-082-1/+2
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78485
* Add a basic static ProfileInfo provider (ProfileEstimatorPass).Daniel Dunbar2009-08-082-0/+237
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78484
* Use reloc_absolute_word_sext relocation for X86::MOV64(ri/mi)32 ↵Bruno Cardoso Lopes2009-08-081-2/+2
| | | | | | | | | instructions, since they are in 64 bit mode with i64immSExt32 imms. JIT is not affected since it handles both word absolute relocations in the same way llvm-svn: 78479
* More ProfileInfo improvements.Daniel Dunbar2009-08-085-68/+97
| | | | | | | | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. - Store edge, block, and function information separately for each functions (instead of in one giant map). - Return frequencies as double instead of int, and use a sentinel value for missing information. llvm-svn: 78477
OpenPOWER on IntegriCloud