summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Disable composite type debug info for now.Devang Patel2009-01-171-0/+3
| | | | llvm-svn: 62406
* Temporarily revert my last change. It is causing a bootstrap failure.Bill Wendling2009-01-171-0/+4
| | | | llvm-svn: 62405
* Implement a special algorithm for converting uint_to_fp for i32 values onBill Wendling2009-01-172-49/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X86. This code: void f() { uint32_t x; float y = (float)x; } used to be: movl %eax, -8(%ebp) movl [2^52 double], -4(%ebp) movsd -8(%ebp), %xmm0 subsd [2^52 double], %xmm0 cvtsd2ss %xmm0, %xmm0 Is now: movsd [2^52 double], %xmm0 movsd %xmm0, %xmm1 movd %ecx, %xmm2 orps %xmm2, %xmm1 subsd %xmm0, %xmm1 cvtsd2ss %xmm1, %xmm0 This is faster on X86. Note that there's an extra load of %xmm0 into %xmm1. That will be fixed in a later coalescer fix. llvm-svn: 62404
* CMake: Add lib/Target/IA64/IA64Subtarget.cppOscar Fuentes2009-01-171-0/+1
| | | | llvm-svn: 62394
* speed up iterative loop by using iterators. changes direction, but ↵Gabor Greif2009-01-171-4/+4
| | | | | | | | functionally equivalent if this works out, I'll change the others next. llvm-svn: 62385
* introduce typedef for complicated vector, and use it tooGabor Greif2009-01-171-2/+1
| | | | llvm-svn: 62384
* Simplify extract element of a scalar to vector.Mon P Wang2009-01-171-5/+13
| | | | llvm-svn: 62383
* typoGabor Greif2009-01-161-1/+1
| | | | llvm-svn: 62377
* Fix PPC ISD::Declare isel and eliminate the need for ↵Evan Cheng2009-01-162-4/+21
| | | | | | PPCTargetLowering::LowerGlobalAddress to check if isVerifiedDebugInfoDesc() is true. Given the recent changes, it would falsely return true for a lot of GlobalAddressSDNode's. llvm-svn: 62373
* Support for multi-valued options in CommandLineMikhail Glushenkov2009-01-161-4/+40
| | | | | | | Makes possible to specify options that take multiple arguments (a-la -sectalign on Darwin). See documentation for details. llvm-svn: 62372
* Give IA64 a TargetSubtarget subclass, so that it canDan Gohman2009-01-163-0/+49
| | | | | | implement getSubtargetImpl. llvm-svn: 62369
* Instead of adding dependence edges between terminator instructionsDan Gohman2009-01-166-25/+65
| | | | | | | | | | | | | | and every other instruction in their blocks to keep the terminator instructions at the end, teach the post-RA scheduler how to operate on ranges of instructions, and exclude terminators from the range of instructions that get scheduled. Also, exclude mid-block labels, such as EH_LABEL instructions, and schedule code before them separately from code after them. This fixes problems with the post-RA scheduler moving code past EH_LABELs. llvm-svn: 62366
* If an anti-dependence uses a non-allocatable register, set AntiDepRegDan Gohman2009-01-161-1/+3
| | | | | | | to 0, to ensure that the subsequent code doesn't try to break the dependence. llvm-svn: 62365
* Use the getNode() accessor instead of accessing the NodeDan Gohman2009-01-161-1/+1
| | | | | | member directly, which is private as of r55504. llvm-svn: 62364
* Fix the check for an empty basic block to check for an empty SUnitsDan Gohman2009-01-161-2/+2
| | | | | | | | array instead, since this is what the scheduler actually cares about. And remove a check that is unnecessary, since it can assume that SUnits isn't empty. llvm-svn: 62362
* new nodes should be added to the worklist, not old nodes.Chris Lattner2009-01-161-1/+2
| | | | llvm-svn: 62359
* Fix comments.Devang Patel2009-01-161-5/+5
| | | | llvm-svn: 62358
* CreateVirtualRegisters does trivial copy coalescing. If a node def is used ↵Evan Cheng2009-01-162-56/+63
| | | | | | by a single CopyToReg, it reuses the virtual register assigned to the CopyToReg. This won't work for SDNode that is a clone or is itself cloned. Disable this optimization for those nodes or it can end up with non-SSA machine instructions. llvm-svn: 62356
* don't assert and die on out of range (undefined) shifts. This fixesChris Lattner2009-01-161-4/+16
| | | | | | PR3334. llvm-svn: 62352
* Fix PR3335 by not turning a store to one address space into a store to another.Chris Lattner2009-01-161-1/+5
| | | | llvm-svn: 62351
* reduce indentation by using early exits, no functionality change.Chris Lattner2009-01-161-44/+47
| | | | llvm-svn: 62350
* Use lightweight DebugInfo objects directly.Devang Patel2009-01-161-51/+50
| | | | llvm-svn: 62341
* Add support for non-zero __builtin_return_address values on X86.Bill Wendling2009-01-161-8/+17
| | | | llvm-svn: 62338
* Change isGVCompilationDisabled() semantics again. It should abort on any GV ↵Evan Cheng2009-01-161-1/+4
| | | | | | that's not constant whether it's "internal" or not. In a server / client environment, GV is returned in the same block of memory as code. However, the memory might not be writable. llvm-svn: 62336
* use specialized accessor instead of plain getOperand(0)Gabor Greif2009-01-161-4/+5
| | | | llvm-svn: 62330
* Align source code.Devang Patel2009-01-161-4/+4
| | | | llvm-svn: 62328
* Fix a "comparison between signed and unsigned integer expressions"Dan Gohman2009-01-161-1/+1
| | | | | | warning. llvm-svn: 62327
* Reinstate r60509 from Dale:Nick Lewycky2009-01-161-0/+1
| | | | | | Make the debugging dump be a full line. llvm-svn: 62325
* Registry.h should not depend on CommandLine.h.Mikhail Glushenkov2009-01-165-1/+6
| | | | | | | Split Support/Registry.h into two files so that we have less to recompile every time CommandLine.h is changed. llvm-svn: 62312
* Delete trailing whitespace.Mikhail Glushenkov2009-01-165-325/+325
| | | | llvm-svn: 62307
* ARMCompilationCallback should not save / restore vfp registers if vfp is not ↵Evan Cheng2009-01-161-2/+2
| | | | | | available. llvm-svn: 62299
* Validate debug info values only if DwarfDebug is initialized.Devang Patel2009-01-161-1/+1
| | | | llvm-svn: 62298
* Clean up previous cast optimization a bit. Also make zext elimination a bit ↵Evan Cheng2009-01-161-30/+55
| | | | | | more aggressive: if it's not necessary to emit an AND (i.e. high bits are already zero), it's profitable to evaluate the operand at a different type. llvm-svn: 62297
* Any debug info symbol is only valid if atleast one compile unit is seen.Devang Patel2009-01-161-0/+4
| | | | llvm-svn: 62294
* Initial hazard recognizer support in post-pass scheduling. This includesDan Gohman2009-01-164-14/+120
| | | | | | | a new toy hazard recognizier heuristic which attempts to direct the scheduler to avoid clumping large groups of loads or stores too densely. llvm-svn: 62291
* Do not stumble over forward declared struct member. Devang Patel2009-01-161-0/+5
| | | | llvm-svn: 62288
* Validate dbg_* intrinsics before lowering them.Devang Patel2009-01-153-10/+55
| | | | llvm-svn: 62286
* Added missing support to widen an operand from a bit convert.Mon P Wang2009-01-152-0/+32
| | | | llvm-svn: 62285
* Generalize the HazardRecognizer interface so that it can be usedDan Gohman2009-01-159-42/+40
| | | | | | | to support MachineInstr-based scheduling in addition to SDNode-based scheduling. llvm-svn: 62284
* Simplify the MachineLICM pass by having it only traverse outerDan Gohman2009-01-151-122/+60
| | | | | | | | | loops, hoisting instructions all the way out in one step rather than hoisting them one nest level at a time. Also, make a few other code simplifications. This speeds up MachineLICM by several fold. llvm-svn: 62283
* Fix Alpha test and support for private linkage.Rafael Espindola2009-01-151-1/+2
| | | | llvm-svn: 62282
* Expand insert/extract of a <4 x i32> with a variable index.Mon P Wang2009-01-151-2/+10
| | | | llvm-svn: 62281
* Add the private linkage.Rafael Espindola2009-01-1556-136/+179
| | | | llvm-svn: 62279
* Use lightweight DebugInfo objects directly.Devang Patel2009-01-151-82/+65
| | | | llvm-svn: 62276
* Move a few containers out of ScheduleDAGInstrs::BuildSchedGraphDan Gohman2009-01-1522-118/+113
| | | | | | | | | | | and into the ScheduleDAGInstrs class, so that they don't get destructed and re-constructed for each block. This fixes a compile-time hot spot in the post-pass scheduler. To help facilitate this, tidy and do some minor reorganization in the scheduler constructor functions. llvm-svn: 62275
* add comment to explain my previous commit, as asked by ChrisNuno Lopes2009-01-151-0/+2
| | | | llvm-svn: 62272
* avoid using iterators when they get invalidated potentiallyGabor Greif2009-01-151-4/+14
| | | | | | this fixes PR3332 llvm-svn: 62271
* Use variable's context to identify respective DbgScope.Devang Patel2009-01-151-11/+25
| | | | | | Use light weight DebugInfo object directly. llvm-svn: 62269
* Add load-folding table entries for BT*ri8 instructions.Dan Gohman2009-01-151-0/+3
| | | | llvm-svn: 62267
* Make getWidenVectorType const; this file was missed in theDan Gohman2009-01-151-1/+1
| | | | | | previous commit. llvm-svn: 62266
OpenPOWER on IntegriCloud