Commit Graph

8600 Commits

Author SHA1 Message Date
Evan Cheng cf06fe476f x86-64 PIC JIT fixes: do not generate the extra load for external GV's.
llvm-svn: 53661
2008-07-16 01:34:02 +00:00
Evan Cheng 68bd1546ab X86-64 PIC jump table values are different from x86-32 cases, they are dest - table base.
llvm-svn: 53660
2008-07-16 01:33:08 +00:00
Dan Gohman efa4160fcc TargetAsmInfo::SectionForGlobal showed up in a profile. Simplify it a little.
llvm-svn: 53639
2008-07-15 18:37:51 +00:00
Bruno Cardoso Lopes 7d5d402b16 Fixed call stack alignment. Improved AsmPrinter alignment issues.
llvm-svn: 53585
2008-07-15 02:03:36 +00:00
Bruno Cardoso Lopes 80ab8f9649 Added Subtarget support into RegisterInfo
Added HasABICall and HasAbsoluteCall (equivalent to gcc -mabicall and 
-mno-shared). HasAbsoluteCall is not implemented but HasABICall is the 
default for o32 ABI. Now, both should help into a more accurate 
relocation types implementation. 
Added IsLinux is needed to choose between asm directives.
Instruction name strings cleanup.
AsmPrinter improved.

llvm-svn: 53551
2008-07-14 14:42:54 +00:00
Chris Lattner 8377c02308 Add a note.
llvm-svn: 53535
2008-07-14 00:19:59 +00:00
Evan Cheng 32e376f354 Implement llvm.atomic.cmp.swap.i32 on PPC. Patch by Gary Benson!
llvm-svn: 53505
2008-07-12 02:23:19 +00:00
Dan Gohman 9a542a4d5f Add a utility function to MachineInstr for testing whether an instruction
has exactly one MachineMemOperand, and change some X86 lowering code to
make use of it.

llvm-svn: 53498
2008-07-12 00:10:52 +00:00
Dan Gohman 02c7c6cb33 Include a frame index in the "fixed stack" pseudo source value
instead of using the frame index for the SVOffset, which was
inconsistent.

llvm-svn: 53486
2008-07-11 22:44:52 +00:00
Chris Lattner 9fc580f2d0 add support for returning i128, PR2532.
llvm-svn: 53472
2008-07-11 20:53:00 +00:00
Dan Gohman 0597e5b697 Trim unnecessary #includes.
llvm-svn: 53471
2008-07-11 20:38:31 +00:00
Bill Wendling 5774466a33 The frame address on an x86-64 box needs to be offset by -8, not -4.
llvm-svn: 53450
2008-07-11 07:18:52 +00:00
Chris Lattner 60de1ae3d9 Remove extraneous vertical whitespace before Eric gets the wrong idea ;-)
llvm-svn: 53411
2008-07-10 16:49:53 +00:00
Chris Lattner 5e718e7431 Fix an altivec constant miscompilation that Duncan found through
his work on legalizetypes.

llvm-svn: 53410
2008-07-10 16:33:38 +00:00
Owen Anderson 36b92ca037 Fix the build by adding a #include.
llvm-svn: 53388
2008-07-10 01:44:27 +00:00
Evan Cheng 71b7398463 Fix for PR2472. Use movss to set lower 32-bits of a zero XMM vector.
llvm-svn: 53386
2008-07-10 01:08:23 +00:00
Anton Korobeynikov 6e816424b0 Remove a FIXME: we really need to use const_data section on darwin for
constant pool, if relocation model is not static. This directly maps to
the way how GCC works.

llvm-svn: 53370
2008-07-09 21:54:26 +00:00
Anton Korobeynikov 443864544e Add FIXME for future checking.
llvm-svn: 53368
2008-07-09 21:38:28 +00:00
Dale Johannesen ca43dce1e8 Remove extra call to DW.SetModuleInfo on Linux.
llvm-svn: 53365
2008-07-09 21:33:15 +00:00
Dale Johannesen f76138c71f Emit debug info for data-only files on Cell SPU.
I cannot test this target, let me know if it breaks!

llvm-svn: 53363
2008-07-09 21:25:06 +00:00
Dale Johannesen dbd04c0783 Emit debug into for data-only files for Linux PPC.
I cannot test this target, let me know if it breaks!

llvm-svn: 53362
2008-07-09 21:24:07 +00:00
Dale Johannesen c4650f4b56 Emit debug info for data-only files. ARM version.
llvm-svn: 53360
2008-07-09 21:20:54 +00:00
Dale Johannesen 605d38657a Emit debug info for data-only files. This version
is X86 ATT only.

llvm-svn: 53355
2008-07-09 20:55:35 +00:00
Anton Korobeynikov bcfb41ca7d Add missed section
llvm-svn: 53354
2008-07-09 20:47:55 +00:00
Dale Johannesen b9aaddc110 Emit debug info for data-only files. This version
applies to ppc Darwin only.

llvm-svn: 53353
2008-07-09 20:43:39 +00:00
Anton Korobeynikov 5c0d2bd46e Distinguish .const and .const_data on Darwin, when needed. This is somehow crazy :)
llvm-svn: 53350
2008-07-09 20:01:42 +00:00
Anton Korobeynikov 92e4ac1599 Weak stuff always goes to coalesced sections on Darwin
llvm-svn: 53340
2008-07-09 19:06:02 +00:00
Dan Gohman 0acb6be89c Remove #include <iostream>.
llvm-svn: 53333
2008-07-09 18:08:48 +00:00
Anton Korobeynikov ee09e66a01 Add FIXME needed to be resolved later
llvm-svn: 53324
2008-07-09 13:30:02 +00:00
Anton Korobeynikov 56827c1b60 Use only 'subset' of flags
llvm-svn: 53323
2008-07-09 13:29:44 +00:00
Anton Korobeynikov d5cf47d853 Typo
llvm-svn: 53322
2008-07-09 13:29:27 +00:00
Anton Korobeynikov d62b4f5b37 Revert accidentially added stuff
llvm-svn: 53321
2008-07-09 13:29:08 +00:00
Anton Korobeynikov daee281590 First sketch of special section objects
llvm-svn: 53320
2008-07-09 13:28:49 +00:00
Anton Korobeynikov 03dc8bf4d6 Honour text sections
llvm-svn: 53319
2008-07-09 13:28:19 +00:00
Anton Korobeynikov 577c45dd74 Use isWeakForLinker() hook
llvm-svn: 53318
2008-07-09 13:27:59 +00:00
Anton Korobeynikov fe047d241c Switch to new section name handling facility
llvm-svn: 53316
2008-07-09 13:27:16 +00:00
Anton Korobeynikov 3d3d12f431 Another bunch of hacks for named sections support
llvm-svn: 53315
2008-07-09 13:26:52 +00:00
Anton Korobeynikov 4f125b7217 Typo
llvm-svn: 53314
2008-07-09 13:26:24 +00:00
Anton Korobeynikov 9da4fd0f2e Drop mergeable flag, if size is no suitable
llvm-svn: 53313
2008-07-09 13:26:05 +00:00
Anton Korobeynikov 13b9a22fb0 Fix several bugs in named sections handling
llvm-svn: 53312
2008-07-09 13:25:46 +00:00
Anton Korobeynikov 60919583b3 Add hacky way to distinguish named and named sections. This will be generalized in the future.
llvm-svn: 53311
2008-07-09 13:25:26 +00:00
Anton Korobeynikov d789b7c196 Use 'gnu.linkonce', where needed
llvm-svn: 53310
2008-07-09 13:24:55 +00:00
Anton Korobeynikov 7504c283f2 Fix thinko
llvm-svn: 53309
2008-07-09 13:24:38 +00:00
Anton Korobeynikov e1a65bcda1 Drop dead member reference
llvm-svn: 53308
2008-07-09 13:24:18 +00:00
Anton Korobeynikov 1e4dc36be4 Add funny darwin section selection logic
llvm-svn: 53307
2008-07-09 13:23:57 +00:00
Anton Korobeynikov 908998f071 Handle ELF mergeable sections
llvm-svn: 53306
2008-07-09 13:23:37 +00:00
Anton Korobeynikov 4c37c3ad5b Provide section selection for X86 ELF targets
llvm-svn: 53305
2008-07-09 13:23:08 +00:00
Anton Korobeynikov 9d6939b5fc Provide general hook for section name calculation
llvm-svn: 53304
2008-07-09 13:22:46 +00:00
Anton Korobeynikov 94ff6f02ef Print entity size for mergeable sections
llvm-svn: 53303
2008-07-09 13:22:17 +00:00
Anton Korobeynikov 4e4f3168dd Split PrintSectionFlags
llvm-svn: 53302
2008-07-09 13:21:49 +00:00