summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Add parameter to pattern classes to enable an itinerary to be specified for ↵David Goodwin2009-08-066-819/+926
| | | | | | instructions. For now just use the existing itineraries or NoItinerary. llvm-svn: 78321
* Fix several fixmes and clean up code by sinking *all* sectionChris Lattner2009-08-063-39/+48
| | | | | | | | | | | | | | | | | creation activity into the target-specific subclasses of TLOF. Before this, globals with explicit sections could be created by the base class. 1. make getOrCreateSection protected, add a new getExplicitSectionGlobal pure virtual method to assign sections to globals with a specified section. 2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific. 3. eliminate the getKindForNamedSection virtual method, which is now just a static method for ELF. 4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16. They are now all detangled and understandable, woo! :) llvm-svn: 78319
* Reg Scavenging generalization (Thumb support):John Mosby2009-08-061-27/+52
| | | | | | | - start support for new PEI w/reg alloc, allow running RS from emit{Pro,Epi}logue() target hooks. - fix minor issue with recursion detection. llvm-svn: 78318
* go through PIC16TargetObjectFile to make sections instead of Chris Lattner2009-08-064-12/+26
| | | | | | creating them directly in the pic16 asmprinter. llvm-svn: 78317
* Add assertion checks after the calls to LowerFormalArguments, LowerCall,Dan Gohman2009-08-061-1/+34
| | | | | | | and LowerReturn, to verify that the targets' hooks have respected some of their postconditions. llvm-svn: 78312
* Remove an over-aggressive assert. Functions with empty struct returnDan Gohman2009-08-061-3/+0
| | | | | | | types don't have any return values, from CodeGen's perspective. This fixes PR4688. llvm-svn: 78311
* We need to sext global addresses in kernel code model, not zextAnton Korobeynikov2009-08-062-11/+24
| | | | llvm-svn: 78299
* Fix a bug in x86's PreprocessForRMW logic that was exposedDan Gohman2009-08-061-3/+5
| | | | | | | | by aggressive chain operand optimization. UpdateNodeOperands does not modify the node in place if it would result in a node identical to an existing node. llvm-svn: 78297
* Fix a few places in DAGCombiner that were creating all-ones-bitsDan Gohman2009-08-061-5/+17
| | | | | | | | and high-bits values in ways that weren't correct for integer types wider than 64 bits. This fixes a miscompile in PPMacroExpansion.cpp in clang on x86-64. llvm-svn: 78295
* Missed part of recent kernel codemodel tweaksAnton Korobeynikov2009-08-061-2/+4
| | | | llvm-svn: 78293
* Don't search the entire type table just to delete a type by name.Daniel Dunbar2009-08-062-7/+16
| | | | | | - This also fixes the ENABLE_EXPENSIVE_CHECKS failure on vmcore.ml. llvm-svn: 78287
* Simplify the ZIV tester to the max.Andreas Bolka2009-08-061-3/+2
| | | | | | As suggested by Nick Lewycky. llvm-svn: 78277
* Neon does not actually have VLD{234}.64 instructions.Bob Wilson2009-08-063-9/+0
| | | | | | These operations will have to be synthesized from other instructions. llvm-svn: 78263
* Privatize the StructType table, which unfortunately involves routing ↵Owen Anderson2009-08-0514-49/+69
| | | | | | contexts through a number of APIs. llvm-svn: 78258
* Add a new pre-allocation pass to assign adjacent registers for Neon instructionsBob Wilson2009-08-054-1/+142
| | | | | | | | | that have that constraint. This is currently just assigning a fixed set of registers, and it only handles VLDn for n=2,3,4 with DPR registers. I'm going to expand it to handle more operations next; we can make it smarter once everything is working correctly. llvm-svn: 78256
* Better handle kernel code model. Also, generalize the things and fix oneAnton Korobeynikov2009-08-053-34/+81
| | | | | | subtle bug with small code model. llvm-svn: 78255
* Use GR32 for copies between GR32_NOSP and GR32_NOREX, as neitherDan Gohman2009-08-051-3/+11
| | | | | | is a subset of the other, but both are subsets of GR32. llvm-svn: 78250
* Make block and function count available via ProfileInfo.Daniel Dunbar2009-08-052-6/+19
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78247
* When using NEON for single-precision FP, the NEON result must be placed in ↵David Goodwin2009-08-053-21/+41
| | | | | | D0-D15 as these are the only D registers with S subregs. Introduce a new regclass to represent D0-D15 and use it in the NEON single-precision FP patterns. llvm-svn: 78244
* Fix some column padding bugs, reorganize things as suggested by ChrisDavid Greene2009-08-051-2/+16
| | | | | | and eliminate complexity. Yay! llvm-svn: 78243
* remove the 'DataSectionStartSuffix' and 'TextSectionStartSuffix' knobs.Chris Lattner2009-08-053-21/+13
| | | | llvm-svn: 78242
* Fix FindExecutable to use sys::Path::GetMainExecutable instead ofDan Gohman2009-08-051-15/+8
| | | | | | | | | | | | | just argv[0]. And remove the code for searching the current working directory and for searching PATH; the point of FindExecutable is not to find whatever version of the executable can be found by searching around, but to find an executable that accompanies the current executable. Update the tools to use sys::Program::FindProgramByName when they want PATH searching. llvm-svn: 78240
* Minor code simplification.Dan Gohman2009-08-051-4/+2
| | | | llvm-svn: 78239
* Remove redundand checks: the only way to have, e.g. f32 RegVT is exactlyAnton Korobeynikov2009-08-051-11/+7
| | | | | | hardfloat case. llvm-svn: 78237
* hasSuperClass tests for a strict superset relation, rather thanDan Gohman2009-08-051-2/+2
| | | | | | | a superset relation. This code wants to test the regular superset relation. llvm-svn: 78236
* Unbreak the stuff, this is ugly, but we cannot do better for now with ↵Anton Korobeynikov2009-08-051-5/+4
| | | | | | 'plain' C calling conv. llvm-svn: 78232
* Missed pieces for ARM HardFP ABI.Anton Korobeynikov2009-08-054-24/+41
| | | | | | Patch by Sandeep Patel! llvm-svn: 78225
* Privatize the FunctionType table.Owen Anderson2009-08-052-7/+9
| | | | llvm-svn: 78221
* Use elf Object File directlyAndrew Lenharth2009-08-051-18/+1
| | | | llvm-svn: 78220
* Remove some dead code.Daniel Dunbar2009-08-053-35/+1
| | | | llvm-svn: 78219
* Enable the new no-SP register classes by default. This is to addressDan Gohman2009-08-053-17/+6
| | | | | | | PR4572. A few tests have some minor code regressions due to different coalescing. llvm-svn: 78217
* Remove a redundant declaration.Bob Wilson2009-08-051-2/+0
| | | | llvm-svn: 78216
* Update a comment to reflect the current code.Dan Gohman2009-08-051-1/+2
| | | | llvm-svn: 78215
* Convert bswap test to filecheck, add more test entries & convert stuff to ↵Anton Korobeynikov2009-08-051-1/+1
| | | | | | filecheck llvm-svn: 78212
* Fix a bug in the PIC16 backend.Dan Gohman2009-08-051-1/+1
| | | | llvm-svn: 78211
* Disable NEON single-precision FP support for Cortex-A8, for now...David Goodwin2009-08-051-1/+1
| | | | llvm-svn: 78209
* Remove dead code. MDNode and MDString are not Constant anymore.Devang Patel2009-08-057-21/+0
| | | | llvm-svn: 78207
* Add memory versions of some instructions.Anton Korobeynikov2009-08-051-6/+83
| | | | | | Patch by Neale Ferguson! llvm-svn: 78203
* Rename a variable to make MSVC happy.Benjamin Kramer2009-08-051-3/+3
| | | | llvm-svn: 78202
* By default, for cortex-a8 use NEON for single-precision FP. David Goodwin2009-08-052-5/+7
| | | | llvm-svn: 78200
* Remove unnecessary ProfileInfoLoader methods.Daniel Dunbar2009-08-052-152/+20
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78199
* Special constants as destinations does not work as expected - drop the patterns.Anton Korobeynikov2009-08-051-53/+0
| | | | llvm-svn: 78191
* Alpha: Get section directives rightAndrew Lenharth2009-08-051-3/+3
| | | | llvm-svn: 78189
* Cleanup in dbg_stoppoint handling in CBE. Patch by Sandeep Patel.Anton Korobeynikov2009-08-051-7/+6
| | | | llvm-svn: 78182
* Minor arm CBE fixes. Patch by Sandeep.Anton Korobeynikov2009-08-051-2/+2
| | | | llvm-svn: 78181
* Emit module-level inline asm for CBE.Anton Korobeynikov2009-08-051-0/+48
| | | | | | Patch by Sandeep Patel llvm-svn: 78180
* Disable stack coloring with register for now. It's not able to set kill markers.Evan Cheng2009-08-051-1/+3
| | | | llvm-svn: 78179
* Another nasty coalescer bug (is there another kind):Evan Cheng2009-08-051-5/+19
| | | | | | | | | | | | | | | | After coalescing reg1027's def and kill are both at the same point: %reg1027,0.000000e+00 = [56,814:0) 0@70-(814) bb5: 60 %reg1027<def> = t2MOVr %reg1027, 14, %reg0, %reg0 68 %reg1027<def> = t2LDRi12 %reg1027<kill>, 8, 14, %reg0 76 t2CMPzri %reg1038<kill,undef>, 0, 14, %reg0, %CPSR<imp-def> 84 %reg1027<def> = t2MOVr %reg1027, 14, %reg0, %reg0 96 t2Bcc mbb<bb5,0x2030910>, 1, %CPSR<kill> Do not remove the kill marker on t2LDRi12. llvm-svn: 78178
* Remove accidental commited commentBruno Cardoso Lopes2009-08-051-2/+0
| | | | llvm-svn: 78177
* - Remove custom handling of jumptables by the elf writter (this wasBruno Cardoso Lopes2009-08-057-124/+218
| | | | | | | | | | | | a dirty hack and isn't need anymore since the last x86 code emitter patch) - Add a target-dependent modifier to addend calculation - Use R_X86_64_32S relocation for X86::reloc_absolute_word_sext - Use getELFSectionFlags whenever possible - fix getTextSection to use TLOF and emit the right text section - Handle global emission for static ctors, dtors and Type::PointerTyID - Some minor fixes llvm-svn: 78176
OpenPOWER on IntegriCloud