summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Attempt to support platforms which don't have fenv.h.Dan Gohman2010-09-171-12/+7
| | | | llvm-svn: 114196
* Add skeleton infrastructure for the ARMMCCodeEmitter class. Patch by Jason Kim!Jim Grosbach2010-09-173-0/+120
| | | | llvm-svn: 114195
* handle the upper16/lower16 target operand flags on symbol references for MCJim Grosbach2010-09-175-23/+60
| | | | | | instruction lowering. llvm-svn: 114191
* fix rdar://8444631 - encoder crash on 'enter'Chris Lattner2010-09-174-4/+18
| | | | | | What a weird instruction. llvm-svn: 114190
* Fix an MSVC warning.Daniel Dunbar2010-09-171-0/+3
| | | | llvm-svn: 114184
* expand PICLDR MC lowering to handle other PICLDR and PICSTR versions.Jim Grosbach2010-09-171-11/+31
| | | | llvm-svn: 114183
* MC/Mach-O/i386: Fix a crash in relocation handling.Daniel Dunbar2010-09-171-1/+2
| | | | llvm-svn: 114176
* Move the declaration SetInformationJobObject() outside of namespace.NAKAMURA Takumi2010-09-171-9/+9
| | | | | | It is also workaround for PR7927. llvm-svn: 114175
* AlphaSchedule.td: 7bit-ize.NAKAMURA Takumi2010-09-171-1/+1
| | | | llvm-svn: 114173
* System: Don't reexport ___eprintf when building with Clang; this symbol isn'tDaniel Dunbar2010-09-171-0/+7
| | | | | | | used on Darwin anymore, and Clang might not always link with the library it is currently found in. llvm-svn: 114165
* MC/AsmParser: Add support for 'a + 4@GOTPCREL' and friends, by reconsing theDaniel Dunbar2010-09-171-2/+81
| | | | | | | | | expression to include the modifier. - Gross, but this a corner case we don't expect to see often in practice, but it is worth accepting. - Also improves diagnostics on invalid modifiers. llvm-svn: 114154
* Fix the folding of floating-point math library calls, like sin(infinity),Dan Gohman2010-09-171-2/+9
| | | | | | | so that it detects errors on platforms where libm doesn't set errno. It's still subject to host libm details though. llvm-svn: 114148
* Add an #include of raw_ostream.h. Previously, this only compiledDan Gohman2010-09-171-0/+1
| | | | | | because it was using Twine.h's declaration of operator<<(const Twine &). llvm-svn: 114141
* Allow the PassRegistry mutex to be lazily initialized, and clean up the ↵Owen Anderson2010-09-161-10/+10
| | | | | | global namespace at the same time. llvm-svn: 114131
* Do not expose the locking for the PassRegistry in the header. Be careful toOwen Anderson2010-09-161-1/+8
| | | | | | synchronize any method that might lazily initialize the pImpl. llvm-svn: 114130
* Update CMake build.Benjamin Kramer2010-09-161-0/+1
| | | | llvm-svn: 114128
* Rename a variable to avoid a declaration conflict.Dan Gohman2010-09-161-3/+3
| | | | llvm-svn: 114126
* Add a pass which prints out all the memdep dependencies.Dan Gohman2010-09-161-0/+153
| | | | llvm-svn: 114121
* If FE forgot to provide a file name (usually it uses "stdin" as name in such ↵Devang Patel2010-09-161-0/+4
| | | | | | situation) then make one up to ensure that debug info is not malformed. llvm-svn: 114119
* Revert r114097, adding back in the assertion against replacing an ↵Owen Anderson2010-09-161-24/+11
| | | | | | | | | Instruction by itself. Now that CorrelatedValuePropagation is more careful not to call SimplifyInstructionsInBlock() on an unreachable block, the issue has been fixed at a higher level. Add a big warning to SimplifyInstructionsInBlock() to hopefully prevent this in the future. llvm-svn: 114117
* fix rdar://8438816 - unrecognized 'fildq' instructionChris Lattner2010-09-161-1/+2
| | | | llvm-svn: 114116
* Print the address of sections as 0 and create the metadata sections in theRafael Espindola2010-09-161-33/+24
| | | | | | same order as gnu as. llvm-svn: 114109
* Use a depth-first iteratation in CorrelatedValuePropagation to avoid wasting ↵Owen Anderson2010-09-161-2/+6
| | | | | | | | time trying to optimize unreachable blocks. llvm-svn: 114105
* When substituting sunkaddrs into indirect arguments an asm, we wereDale Johannesen2010-09-161-2/+4
| | | | | | | | | walking the asm arguments once and stashing their Values. This is wrong because the same memory location can be in the list twice, and if the first one has a sunkaddr substituted, the stashed value for the second one will be wrong (use-after-free). PR 8154. llvm-svn: 114104
* It is possible, under specific circumstances involving ptrtoint ↵Owen Anderson2010-09-161-3/+7
| | | | | | | | | | | | ConstantExpr's, for LVI to end up trying to merge a Constant into a ConstantRange. Handle this conservatively for now, rather than asserting. The testcase is more complex that I would like, but the manifestation of the problem is sensitive to iteration orders and the state of the LVI cache, and I have not been able to reproduce it with manually constructed or simplified cases. Fixes PR8162. llvm-svn: 114103
* MC-ization of the PICLDR pseudo. Next up, adding the other variantsJim Grosbach2010-09-162-1/+33
| | | | | | (PICLDRB, et. al.) and PICSTR* llvm-svn: 114098
* Fix PR8161, in which an unreachable loop causes recursive instruction ↵Owen Anderson2010-09-161-11/+24
| | | | | | | | simplification to try to replace an instruction with itself. Add a predicate to the simplifier to prevent this case. llvm-svn: 114097
* Make sure to promote single precision floats to double before extracting themJim Grosbach2010-09-161-2/+4
| | | | | | from the APFloat. llvm-svn: 114096
* Make sure that names like .note.GNU-stack are accepted as valid section names.Rafael Espindola2010-09-161-2/+37
| | | | llvm-svn: 114091
* Add support for the .zero directive.Rafael Espindola2010-09-161-0/+22
| | | | llvm-svn: 114077
* Change SPU register re-interpretations from OR to COPY_TO_REGCLASS instruction.Kalle Raiskila2010-09-163-238/+177
| | | | | | | | | | | | | This cleans up after the mess r108567 left in the CellSPU backend. ORCvt-instruction were used to reinterpret registers, and the ORs were then removed by isMoveInstr(). This patch now removes 350 instrucions of format: or $3, $3, $3 (from the 52 testcases in CodeGen/CellSPU). One case of a nonexistant or is checked for. Some moves of the form 'ori $., $., 0' and 'ai $., $., 0' still remain. llvm-svn: 114074
* Add better support for environment portion of triple. Original patch byDuncan Sands2010-09-161-6/+32
| | | | | | Cameron Esfahani, tweaked to use array_lengthof. llvm-svn: 114073
* Some versions of gcc still warn about "ignoring return value ... declaredDuncan Sands2010-09-161-1/+2
| | | | | | with attribute warn_unused_result" here - suppress the warning harder. llvm-svn: 114072
* Remove support for "dregpair" operand modifier, now that it is no longer beingBob Wilson2010-09-162-36/+2
| | | | | | used for anything. llvm-svn: 114067
* When expanding ARM pseudo registers, copy the existing predicate operandsBob Wilson2010-09-161-9/+29
| | | | | | instead of using default predicates on the expanded instructions. llvm-svn: 114066
* store MC FP immediates as a double instead of as an APFloat, thus avoiding anJim Grosbach2010-09-163-4/+8
| | | | | | unnecessary dtor for MCOperand. llvm-svn: 114064
* Add missing break.Bob Wilson2010-09-161-0/+1
| | | | llvm-svn: 114048
* Change VLDMQ and VSTMQ to be pseudo instructions. They are expanded afterBob Wilson2010-09-163-15/+70
| | | | | | | register allocation to VLDMD and VSTMD respectively. This avoids using the dregpair operand modifier. llvm-svn: 114047
* Fix a threaded LLVM bug due the need for operator= on reference counted ↵Owen Anderson2010-09-161-0/+1
| | | | | | | | | AttrListImpl's. It might be possible to implement this very carefully to allow a lock-free implementation while still avoiding illegal interleavings, but I haven't been able to figure one out. llvm-svn: 114046
* Use the value mapping provided by LiveIntervalMap. This simplifies the code aJakob Stoklund Olesen2010-09-162-225/+85
| | | | | | | | | | | | | | | | | great deal because we don't have to worry about maintaining SSA form. Unconditionally copy back to dupli when the register is live out of the split range, even if the live-out value was defined outside the range. Skipping the back-copy only makes sense when the live range is going to spill outside the split range, and we don't know that it will. Besides, this was a hack to avoid SSA update issues. Clear up some confusion about the end point of a half-open LiveRange. Methinks LiveRanges need to be closed so both start and end are included in the range. The low bits of a SlotIndex are symbolic, so a half-open range doesn't really make sense. This would be a pervasive change, though. llvm-svn: 114043
* System/Path: Add x86-64 COFF to IdentifyFileType.Michael J. Spencer2010-09-151-0/+4
| | | | llvm-svn: 114037
* Since PassRegistry is currently a shared global object, it needs locking. ↵Owen Anderson2010-09-151-0/+7
| | | | | | | | | While it might intuitively seem that all the setup of this class currently happens at static initialization time, this misses the fact that some later events can cause mutation of the PassRegistrationListeners list, and thus cause race issues. llvm-svn: 114036
* System/Path: Add isObjectFile().Michael J. Spencer2010-09-151-0/+14
| | | | llvm-svn: 114032
* Add support for the 'lane' modifier on vdup operandsJim Grosbach2010-09-151-7/+25
| | | | llvm-svn: 114030
* Add a InitSections method to the streamer interface.Rafael Espindola2010-09-159-9/+73
| | | | | | | | | | | | | | The ELF implementation now creates text, data and bss to match the gnu as behavior. The text streamer still has the old MachO specific behavior since the testsuite checks that it will error when a directive is given before a setting the current section for example. A nice benefit is that -n is not required anymore when producing ELF files. llvm-svn: 114027
* Remember VLDMQ.Jakob Stoklund Olesen2010-09-151-0/+9
| | | | llvm-svn: 114026
* Add missing break.Jakob Stoklund Olesen2010-09-151-0/+1
| | | | llvm-svn: 114025
* Teach the MC disassembler to handle vmov.f32 and vmov.f64 immediate to registerJim Grosbach2010-09-151-8/+7
| | | | | | | moves. Previously, the immediate was printed as the encoded integer value, which is incorrect. llvm-svn: 114021
* move getRegisterNumbering() to out of ARMBaseRegisterInfo into the helperJim Grosbach2010-09-157-87/+80
| | | | | | | | | functions in ARMBaseInfo.h so it can be used in the MC library as well. For anything bigger than this, we may want a means to have a small support library for shared helper functions like this. Cross that bridge when we come to it. llvm-svn: 114016
* PR7959: Handle negative scales in GEPs correctly in BasicAA for non-64-bitEli Friedman2010-09-151-3/+3
| | | | | | targets. llvm-svn: 114015
OpenPOWER on IntegriCloud