summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a simple module-level debug info printer. It just sets up aDan Gohman2010-05-072-0/+87
| | | | | | DebugInfoFinder and iterates over all the contents calling print. llvm-svn: 103262
* Fix the new print functions to call print instead of dump.Dan Gohman2010-05-071-11/+11
| | | | llvm-svn: 103261
* Add an LLVM IR version of code sinking. This uses the same simple algorithmDan Gohman2010-05-071-0/+267
| | | | | | as MachineSink, but it isn't constrained by MachineInstr-level details. llvm-svn: 103257
* Convert the DebugInfo classes dump() methods into print(raw_ostream &)Dan Gohman2010-05-071-52/+102
| | | | | | methods, and add dump functions implemented in terms of the print. llvm-svn: 103254
* Use VLD2q32 / VST2q32 to reload / spill QQ (pair of Q) registers when stack ↵Evan Cheng2010-05-072-15/+39
| | | | | | slot is sufficiently aligned. Use VLDMD / VSTMD otherwise. llvm-svn: 103235
* Use VSTMD / VLDMD for spills and reloads of Q registers instead of VSTMQ / ↵Evan Cheng2010-05-071-9/+15
| | | | | | VLDQ. The later are aliases which ought to be eliminated but we can't because they are used for storing and loading v2f64 values. llvm-svn: 103234
* Revert r103133 and add testcase from PR7066.Nick Lewycky2010-05-071-12/+2
| | | | llvm-svn: 103233
* When rematerializing, use the debug location of the originalDan Gohman2010-05-071-1/+1
| | | | | | | instruction, rather than a location near where the new instruction is being inserted. llvm-svn: 103232
* Transfer debug location information from PHI nodes to resultingDan Gohman2010-05-071-0/+8
| | | | | | lowered copies. llvm-svn: 103228
* Print debug information for SDNodes.Dan Gohman2010-05-071-0/+16
| | | | llvm-svn: 103227
* Disable the new unknown-location code for now. It causes a majorDan Gohman2010-05-071-14/+20
| | | | | | | increase in the debug line info section, and it's causing regressions in a gdb testsuite. llvm-svn: 103226
* Remove VLD1q and VST1q for reloading and spilling Q registers. Just use ↵Evan Cheng2010-05-072-32/+23
| | | | | | VLD1q64 / VST1q64 and reference sub-registers. llvm-svn: 103218
* MC/X86: X86AbsMemAsmOperand is subclass of X86NoSegMemAsmOperand.Daniel Dunbar2010-05-061-4/+4
| | | | | | - This fixes "leal 0, %eax", for example. llvm-svn: 103205
* fix rdar://7947167 - llvm-mc doesn't match movsqChris Lattner2010-05-061-4/+10
| | | | llvm-svn: 103199
* Eliminated the classification of control registers into %ecr_Sean Callanan2010-05-067-64/+32
| | | | | | | | | and %rcr_, leaving just %cr_ which is what people expect. Updated the disassembler to support this unified register set. Added a testcase to verify that the registers continue to be decoded correctly. llvm-svn: 103196
* MC/X86: Error out if we see a non-constant FK_Data_1 or FK_Data_2 fixup, sinceDaniel Dunbar2010-05-061-2/+14
| | | | | | we don't currently support relaxing them. llvm-svn: 103195
* Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that itDan Gohman2010-05-0644-118/+137
| | | | | | doesn't have to guess. llvm-svn: 103194
* Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.Evan Cheng2010-05-0637-109/+178
| | | | llvm-svn: 103193
* 80 col violation.Evan Cheng2010-05-061-2/+2
| | | | llvm-svn: 103185
* Add a missing break statement to fix unintentional fall-throughBob Wilson2010-05-061-4/+3
| | | | | | (replacing the previous patch for the same issue). llvm-svn: 103183
* Fix unintentional fallthrough. Patch by Edmund Grimley-Evans ↵Jim Grosbach2010-05-061-1/+2
| | | | | | <Edmund.Grimley-Evans@arm.com> llvm-svn: 103181
* Fix "warning: extra ';' inside a struct or union" when building llvm with clangShantonu Sen2010-05-061-2/+2
| | | | llvm-svn: 103179
* Revert r103137, fix for $ in labels. It looks like we can't actually handle thisDaniel Dunbar2010-05-061-16/+7
| | | | | | | | | | | | at the token level. Consider the following horrible test case: a = 1 .globl $a movl ($a), %eax movl $a, %eax movl $$a, %eax llvm-svn: 103178
* Re-apply 103156 and 103157. 103156 didn't break anything. 10315 exposed a ↵Evan Cheng2010-05-066-24/+147
| | | | | | coalescer bug that's fixed by 103170. llvm-svn: 103172
* Fixes a coalescer bug that caused llc to crash on 2009-11-30-LiveVariablesBug.llEvan Cheng2010-05-061-4/+16
| | | | | | | | | | | with the fix in 103157. %reg1039:1<def> = VMOVS %S1<kill>, pred:14, pred:%reg0 is not coalescable since none of the super-registers of S1 are in reg1039's register class: DPR_VFP2. But it is still a legal copy instruction so it should not assert. llvm-svn: 103170
* Revert r103157, which broke test/CodeGen/ARM/2009-11-30-LiveVariablesBug.ll.Dan Gohman2010-05-061-4/+2
| | | | llvm-svn: 103163
* Revert r103156 since it was breaking the build bots.Eric Christopher2010-05-066-143/+22
| | | | | | | | | | | Reverse-merging r103156 into '.': U lib/Target/ARM/ARMInstrNEON.td U lib/Target/ARM/ARMRegisterInfo.h U lib/Target/ARM/ARMBaseRegisterInfo.cpp U lib/Target/ARM/ARMBaseInstrInfo.cpp U lib/Target/ARM/ARMRegisterInfo.td llvm-svn: 103159
* Handle the case where open(2) or close(2) is interrupted by a signal whenDan Gohman2010-05-061-11/+24
| | | | | | | | automatic syscall restarting is disabled. Also, fix the build on systems which don't define EWOULDBLOCK. llvm-svn: 103158
* Fix an obvious bug in isMoveInstr. It needs to return sub-register indices.Evan Cheng2010-05-061-2/+4
| | | | llvm-svn: 103157
* Adding pseudo 256-bit registers QQ0 . . . QQ7 to represent pairs of Q ↵Evan Cheng2010-05-065-21/+142
| | | | | | registers. These will be used to model VLD2 / VST2 instructions in order to get substantially better codegen for them. llvm-svn: 103156
* Cosmetic changes.Evan Cheng2010-05-061-7/+7
| | | | llvm-svn: 103155
* storeRegToStackSlot has forgotten about QPR_8 register class.Evan Cheng2010-05-061-1/+2
| | | | llvm-svn: 103154
* Handle EWOULDBLOCK as EAGAIN. And add a comment explaining whyDan Gohman2010-05-061-3/+22
| | | | | | | | | EAGAIN and EWOULDBLOCK are used here. Also, handle the case where a write call is interrupted after some data has already been written. llvm-svn: 103153
* Update LabelsBeforeInsn also, when creating unknown-position labels.Dan Gohman2010-05-061-0/+5
| | | | llvm-svn: 103145
* Fix PR7054 - Assertion `Symbol->isUndefined() && "Cannot define a symbol ↵Chris Lattner2010-05-061-1/+7
| | | | | | | | | twice!"' failed. Users can write broken code that emits the same label twice with asm renaming, detect this and emit a fatal backend error instead of aborting. llvm-svn: 103140
* In bottom-up mode, defer the materialization of local constant values.Dan Gohman2010-05-061-0/+11
| | | | llvm-svn: 103139
* Add an "IsBottomUp" member function to FastISel, which will be used toDan Gohman2010-05-051-1/+2
| | | | | | support a new bottom-up mode. llvm-svn: 103138
* fix rdar://7946934 - in some limited cases, the assembler shouldChris Lattner2010-05-051-7/+16
| | | | | | allow $ at the start of a symbol name. llvm-svn: 103137
* Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/packJim Grosbach2010-05-056-24/+38
| | | | | | | instructions to subtarget features and update tests to reflect. PR5717. llvm-svn: 103136
* Emit debug info for MachineInstrs with unknown debug locations, insteadDan Gohman2010-05-051-19/+34
| | | | | | | | of just letting them inherit the debug locations of adjacent instructions. Debug info should aim to be either accurate or absent. llvm-svn: 103135
* Fix PR6520. An earlyclobber physreg must not be allocated to anything else.Jakob Stoklund Olesen2010-05-051-2/+12
| | | | llvm-svn: 103133
* Fixed a sign-extension bug in the X86 disassemblerSean Callanan2010-05-051-3/+55
| | | | | | | | that was causing PC-relative branch targets to be evaluated incorrectly. Also added support for checking operand values to the llvm-mc tester. llvm-svn: 103128
* Use getValue() for PHINodes when direct NodeMap access does not work. Devang Patel2010-05-051-1/+15
| | | | llvm-svn: 103126
* Do not pre-allocate references of D registers pairs if they are extracted ↵Evan Cheng2010-05-051-8/+28
| | | | | | from the same Q register and are in the right order. llvm-svn: 103124
* No-ops emitted for scheduling don't correspond with anything in theDan Gohman2010-05-054-5/+0
| | | | | | user's source, so don't arbitrarily assign them a debug location. llvm-svn: 103121
* Add initial support for ARMv7M subtarget and cortex-m3 cpu. Patch byJim Grosbach2010-05-056-20/+49
| | | | | | | | | Jordy <snhjordy@gmail.com>. Followup patches will add some tests and adjust to use Subtarget features for the instructions. llvm-svn: 103119
* Use the right version of "append" to combine two SmallVectors.Bob Wilson2010-05-051-1/+1
| | | | | | This fixes the compile-time regressions seen in last night's tests. llvm-svn: 103118
* MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support forDaniel Dunbar2010-05-054-4/+6
| | | | | | | writing them. - <rdar://problem/7885351> integrated assembler broken for i386 objc code llvm-svn: 103112
* MC: Reject attempts to define a variable symbol.Daniel Dunbar2010-05-053-9/+4
| | | | llvm-svn: 103111
* MC: Make setVariableValue check the redefinition condition a bit more strongly.Daniel Dunbar2010-05-051-0/+8
| | | | llvm-svn: 103110
OpenPOWER on IntegriCloud