summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* Simplify namespacesChris Lattner2004-11-162-8/+2
| | | | llvm-svn: 17870
* Remove a dead function, which died when we got GAS emission working (phwew,Chris Lattner2004-11-162-16/+0
| | | | | | hold your nose!) llvm-svn: 17869
* Implement a simple FIXME: if we are emitting a basic block address that hasChris Lattner2004-11-161-3/+13
| | | | | | | already been emitted, we don't have to remember it and deal with it later, just emit it directly. llvm-svn: 17868
* * Merge some win32 ifdefs togetherChris Lattner2004-11-161-22/+17
| | | | | | | | * Get rid of "emitMaybePCRelativeValue", either we want to emit a PC relative value or not: drop the maybe BS. As it turns out, the only places where the bool was a variable coming in, the bool was a dynamic constant. llvm-svn: 17867
* Add debug-only=jit printout, so we see when lazily resolved symbols areChris Lattner2004-11-151-0/+2
| | | | | | set up. llvm-svn: 17862
* Simplify and rearrange long shift codeChris Lattner2004-11-151-12/+17
| | | | llvm-svn: 17861
* Add BCTR and LWZU instruction opcodesMisha Brukman2004-11-151-2/+7
| | | | llvm-svn: 17851
* Update list of failing Benchmarks.Brian Gaeke2004-11-151-1/+1
| | | | llvm-svn: 17823
* Expand Defs to encompass all the possibly-call-clobbered regs.Brian Gaeke2004-11-151-1/+2
| | | | llvm-svn: 17822
* GhostLinkage should not reach asm printing stageMisha Brukman2004-11-141-0/+3
| | | | llvm-svn: 17750
* Handle GhostLinkage (should not ever reach the assembly printing stage!)Misha Brukman2004-11-141-0/+3
| | | | llvm-svn: 17749
* Fix build on Linux/PowerPC64 using SuSE GCC (#undef PPC)Misha Brukman2004-11-141-0/+3
| | | | llvm-svn: 17744
* Fix problem with insertion point for ADJCALLSTACKDOWN.Brian Gaeke2004-11-141-2/+1
| | | | llvm-svn: 17733
* Update lists of failing unit tests.Brian Gaeke2004-11-141-4/+5
| | | | | | | Exclude bigfib, so that we effectively exclude all C++ benchmarks. Update to-do list: mention va_start. llvm-svn: 17732
* Fix NotTest - round up extraStack to the nearest doubleword, if it isBrian Gaeke2004-11-142-1/+3
| | | | | | not zero. llvm-svn: 17728
* Update failing Benchmarks; point out that I'm skipping Shootout-C++.Brian Gaeke2004-11-141-2/+2
| | | | llvm-svn: 17725
* Update expected UnitTests failures.Brian Gaeke2004-11-141-6/+2
| | | | llvm-svn: 17723
* Rewrite outgoing arg handling to handle more weird corner cases.Brian Gaeke2004-11-141-40/+67
| | | | llvm-svn: 17722
* Support UndefValue emission.Brian Gaeke2004-11-141-1/+5
| | | | llvm-svn: 17721
* Don't print unneeded labelsChris Lattner2004-11-131-5/+7
| | | | llvm-svn: 17714
* Hack around stupidity in GCC, fixing Burg with the CBE andChris Lattner2004-11-131-9/+56
| | | | | | CBackend/2004-11-13-FunctionPointerCast.llx llvm-svn: 17710
* shld is a very high latency operation. Instead of emitting it for shifts ofChris Lattner2004-11-131-14/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | two or three, open code the equivalent operation which is faster on athlon and P4 (by a substantial margin). For example, instead of compiling this: long long X2(long long Y) { return Y << 2; } to: X3_2: movl 4(%esp), %eax movl 8(%esp), %edx shldl $2, %eax, %edx shll $2, %eax ret Compile it to: X2: movl 4(%esp), %eax movl 8(%esp), %ecx movl %eax, %edx shrl $30, %edx leal (%edx,%ecx,4), %edx shll $2, %eax ret Likewise, for << 3, compile to: X3: movl 4(%esp), %eax movl 8(%esp), %ecx movl %eax, %edx shrl $29, %edx leal (%edx,%ecx,8), %edx shll $3, %eax ret This matches icc, except that icc open codes the shifts as adds on the P4. llvm-svn: 17707
* Add missing checkChris Lattner2004-11-131-1/+1
| | | | llvm-svn: 17706
* Compile:Chris Lattner2004-11-131-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | long long X3_2(long long Y) { return Y+Y; } int X(int Y) { return Y+Y; } into: X3_2: movl 4(%esp), %eax movl 8(%esp), %edx addl %eax, %eax adcl %edx, %edx ret X: movl 4(%esp), %eax addl %eax, %eax ret instead of: X3_2: movl 4(%esp), %eax movl 8(%esp), %edx shldl $1, %eax, %edx shll $1, %eax ret X: movl 4(%esp), %eax shll $1, %eax ret llvm-svn: 17705
* Correct the name of stosd for the AT&T syntax:John Criswell2004-11-101-1/+1
| | | | | | It's stosl (l for long == 32 bit). llvm-svn: 17658
* Allow hbd to be bugpointable on darwin by fixing common and linkonce codegenNate Begeman2004-11-091-3/+4
| | | | llvm-svn: 17637
* Put int the getReg cast optimization from x86 so that we generate fewerNate Begeman2004-11-082-0/+10
| | | | | | move instructions for the register allocator to coalesce. llvm-svn: 17608
* Disable bogus cast elimination when the cast is used by a setcc instruction.Nate Begeman2004-11-071-4/+4
| | | | llvm-svn: 17583
* Decompose* is V9 specific, make it internalChris Lattner2004-11-072-1/+15
| | | | llvm-svn: 17547
* Move this file from lib/Transforms/ScalarChris Lattner2004-11-071-0/+136
| | | | llvm-svn: 17544
* Fix compilation problem; make the cast and the LHS be the same type.John Criswell2004-11-051-1/+1
| | | | llvm-svn: 17488
* Quiet VC++ warningsChris Lattner2004-11-051-2/+2
| | | | llvm-svn: 17484
* Thanks to sabre for pointing out that we were incorrectly codegen'ingNate Begeman2004-11-041-1/+4
| | | | | | | | | int test(int x) { return 32768 - x; } Fixed by teaching the function that checks a constant's validity to be used as an immediate argument about subtract-from instructions. llvm-svn: 17476
* Handle "call" operands of type long/ulong passed in registers.Brian Gaeke2004-11-041-5/+11
| | | | llvm-svn: 17464
* Fix this function to not say that longs have 8-byte alignment on X86/PPC.Chris Lattner2004-11-021-1/+1
| | | | | | | | | This method is really a gross hack, but at least we can make it work on the targets we support right now. This bug fix stops a crash in a testcase reduced from 176.gcc llvm-svn: 17443
* Added gross hacks such as creating my own def-use map, and picking on ↵Tanya Lattner2004-11-022-70/+73
| | | | | | Instruction that I can add all my TmpInstructions to its MCFI. llvm-svn: 17441
* Fix a warningChris Lattner2004-11-021-1/+2
| | | | llvm-svn: 17431
* Add placeholder variable to make Win32 work, applied for Morten OfstadChris Lattner2004-11-011-0/+6
| | | | llvm-svn: 17406
* Internalize variable names to prevent recursive assignment. Cleanup docs.Reid Spencer2004-10-301-12/+10
| | | | llvm-svn: 17359
* Fixed bug with infinite epilogues.Tanya Lattner2004-10-304-105/+187
| | | | | | Fixed issue with generating the partial order. It now adds the nodes not in recurrences in sets for each connected component. llvm-svn: 17351
* Change name of target lib to conform to new naming scheme.Brian Gaeke2004-10-291-1/+1
| | | | llvm-svn: 17347
* Remove dependency on MRegisterInfo::getRegClassBrian Gaeke2004-10-291-2/+15
| | | | llvm-svn: 17346
* Change Library Names Not To Conflict With Others When InstalledReid Spencer2004-10-2710-10/+10
| | | | llvm-svn: 17286
* Move destructor out of line to avoid vtable emission in every file that ↵Nate Begeman2004-10-271-0/+2
| | | | | | includes the header. Thanks to sabre. llvm-svn: 17278
* Fix the build by eliminating some more dead code. That'll learn me not to ↵Nate Begeman2004-10-271-20/+0
| | | | | | listen to Reid llvm-svn: 17275
* Remove include of MRegisterInfo.h, since it is already included byNate Begeman2004-10-261-2/+0
| | | | | | SkeletonGenRegisterInfo.h.inc llvm-svn: 17245
* Remove file that is no longer used, and move include of MRegisterInfo.hNate Begeman2004-10-263-55/+1
| | | | | | | from PowerPCFrameInfo.h to PowerPCAsmPrinter.cpp where it is actually needed. llvm-svn: 17244
* Eliminate usage of MRegisterInfo::getRegClass(physreg)Nate Begeman2004-10-262-9/+18
| | | | llvm-svn: 17240
* Update to-do listNate Begeman2004-10-261-1/+2
| | | | llvm-svn: 17235
* Fix treecc. Also fix a latent bug in emitBinaryConstOperation that wouldNate Begeman2004-10-261-64/+46
| | | | | | allow and const, 0 to be incorrectly codegen'd into a rlwinm instruction. llvm-svn: 17234
OpenPOWER on IntegriCloud