Chris Lattner
efdc572e44
Rearrange handling of jump tables. Highlights:
...
1. MachineJumpTableInfo is now created lazily for a function the first time
it actually makes a jump table instead of for every function.
2. The encoding of jump table entries is now described by the
MachineJumpTableInfo::JTEntryKind enum. This enum is determined by the
TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
throughout the compiler that "knows" that jump table entries are always
32-bits in pic mode (for example).
3. The size and alignment of jump table entries is now calculated based on
their kind, instead of at machinefunction creation time.
Future work includes using the EntryKind in more places in the compiler,
eliminating other logic that "knows" the layout of jump tables in various
situations.
llvm-svn: 94470
2010-01-25 23:26:13 +00:00
Chris Lattner
e3f214b438
prep work to support a future where getJumpTableInfo will return
...
a null pointer for functions with no jump tables. No functionality
change.
llvm-svn: 94469
2010-01-25 23:22:00 +00:00
Chris Lattner
00ba9a5343
add a method to get the alignment of an integer type even
...
when we don't have one laying around. Useful if you don't
have an llvmcontext handy.
llvm-svn: 94468
2010-01-25 23:18:11 +00:00
Johnny Chen
9ff21f3121
Make it SP, LR, PC for GPR Register Class instead of LR, SP, PC.
...
llvm-svn: 94465
2010-01-25 22:54:29 +00:00
Chris Lattner
1e05dd3446
eliminate redundant argument to EmitJumpTableInfo
...
llvm-svn: 94464
2010-01-25 22:41:33 +00:00
Johnny Chen
40f1246038
Implemented ARMInstPrinter::printThumbS4ImmOperand().
...
llvm-svn: 94457
2010-01-25 22:13:10 +00:00
Sean Callanan
4dbe558a10
Implemented the dialect decision logic for the X86
...
TargetAsmLexer. Dialect-specific lexing code will
be placed in the functions LexTokenATT() and
LexTokenIntel().
llvm-svn: 94456
2010-01-25 21:59:20 +00:00
Johnny Chen
4facdb7d00
Fixed the order of GPR RegisterClass regs to be: ..., R10, R11, R12, ...
...
llvm-svn: 94455
2010-01-25 21:56:35 +00:00
Dan Gohman
18bbc20ac8
Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the case
...
of a forward-reference, which doesn't use an "abbrev" encoding.
llvm-svn: 94454
2010-01-25 21:55:39 +00:00
Chris Lattner
3559d9a38a
mcstreamerize gprel32 emission.
...
llvm-svn: 94452
2010-01-25 21:28:50 +00:00
Bob Wilson
e3d00b2e56
Remove check for an impossible condition: the condition of the while loop has
...
already checked that TmpBB->getSinglePredecessor() is non-null.
llvm-svn: 94451
2010-01-25 21:28:05 +00:00
Chris Lattner
151c0e8669
mcize the non-gprel cases of AsmPrinter::printPICJumpTableEntry
...
llvm-svn: 94450
2010-01-25 21:22:22 +00:00
Chris Lattner
27d1a6fed5
handle the _set_ symbol with an MCSymbol.
...
llvm-svn: 94449
2010-01-25 21:17:10 +00:00
Chris Lattner
ac1144c110
rename MAI::PICJumpTableDirective to MAI::GPRel32Directive to
...
make it clear what it is, instead of how it is used.
llvm-svn: 94448
2010-01-25 21:10:10 +00:00
Chris Lattner
ee2163758e
pull the non-pic jump table case out of printPICJumpTableEntry
...
and MCize the non-pic case. Now printPICJumpTableEntry really
is just about printing PIC entries.
llvm-svn: 94446
2010-01-25 21:01:58 +00:00
Chris Lattner
fafb52a75a
remove JumpTableDirective, it is always null.
...
llvm-svn: 94445
2010-01-25 20:52:54 +00:00
Chris Lattner
b05aa7f639
no need to implement these.
...
llvm-svn: 94443
2010-01-25 20:37:36 +00:00
Chris Lattner
1e1d7ad2f8
mcize jump table symbol manipulation.
...
llvm-svn: 94441
2010-01-25 19:51:38 +00:00
Chris Lattner
1cd2ba1c3a
sink an arm specific method out of asmprinter into the ARMAsmPrinter and
...
rename it to avoid shadowing.
llvm-svn: 94440
2010-01-25 19:39:52 +00:00
Chris Lattner
fc056d77e4
remove dead code: the x86 target never sets usesGlobalOffsetTable,
...
even on x86-32/elf which uses a GOT.
llvm-svn: 94439
2010-01-25 19:23:04 +00:00
Chris Lattner
5f919913e8
wirte up .file and .file to the mc asmparser.
...
llvm-svn: 94438
2010-01-25 19:02:58 +00:00
Chris Lattner
20d89c382c
mcstreamerize .file and .file. This also fixes an issue where the
...
normal form of .file would fail if the filename had a weird character
in it.
llvm-svn: 94437
2010-01-25 18:58:59 +00:00
Chris Lattner
4746185ef2
emit ELF .type directives through MCStreamer instead of doing it textually.
...
llvm-svn: 94436
2010-01-25 18:33:40 +00:00
Chris Lattner
7a5c8c15bd
add symbol attribute support for the ELF .type directive.
...
llvm-svn: 94435
2010-01-25 18:30:45 +00:00
Bob Wilson
1882fba746
Change Value::getUnderlyingObject to have the MaxLookup value specified as a
...
parameter with a default value, instead of just hardcoding it in the
implementation. The limit of MaxLookup = 6 was introduced in r69151 to fix
a performance problem with O(n^2) behavior in instcombine, but the scalarrepl
pass is relying on getUnderlyingObject to go all the way back to an AllocaInst.
Making the limit part of the method signature makes it clear that by default
the result is limited and should help avoid similar problems in the future.
This fixes pr6126.
llvm-svn: 94433
2010-01-25 18:26:54 +00:00
Victor Hernandez
253c09eb8f
Revert r94260 until findDbgDeclare() is made more efficient
...
llvm-svn: 94432
2010-01-25 17:52:13 +00:00
Rafael Espindola
575697fd65
Update test for darwin.
...
llvm-svn: 94421
2010-01-25 15:32:10 +00:00
Chris Lattner
30a253067e
add a comment
...
llvm-svn: 94417
2010-01-25 07:53:05 +00:00
Chris Lattner
9834b7f300
emit the .size directive for global variables on ELF through
...
mcstreamer.
llvm-svn: 94416
2010-01-25 07:52:13 +00:00
Chris Lattner
2020423588
we removed support for darwin8 tools.
...
llvm-svn: 94414
2010-01-25 07:43:40 +00:00
Chris Lattner
474395e815
all supported target now have aligned common support.
...
llvm-svn: 94413
2010-01-25 07:29:13 +00:00
Chris Lattner
355085f393
Remove support for i386 tiger tools for aligned common symbols.
...
Previously we would just silently miscompile code that used aligned
common's, now at least you'll get a build error. tiger-ppc already
triggered the build error because it didn't have a version of this
logic.
llvm-svn: 94412
2010-01-25 07:26:17 +00:00
Chris Lattner
3db729e661
don't set value to its default.
...
llvm-svn: 94411
2010-01-25 07:23:14 +00:00
Chris Lattner
0b42d3ef45
coff targets support alignment on .comm
...
llvm-svn: 94410
2010-01-25 07:20:44 +00:00
Jim Grosbach
4f713bf0fb
ARM does accept the .comm directive alignment.
...
llvm-svn: 94408
2010-01-25 04:59:07 +00:00
Eric Christopher
0f43b92584
Fix autoconf llvm srcdir location for generic projects.
...
Patch by Torvald Riegel!
llvm-svn: 94405
2010-01-25 04:10:28 +00:00
Rafael Espindola
82a8b3efd4
Fix PR6134.
...
We are not emitting alignments on Darwin for "bar". Not sure what is the
correct way to do it.
llvm-svn: 94400
2010-01-25 02:27:39 +00:00
Daniel Dunbar
c1df55e99c
Attempt to unbreak test on Linux. Chris, please check.
...
llvm-svn: 94399
2010-01-25 00:54:13 +00:00
Daniel Dunbar
003c6aca1c
This example requires RTTI.
...
llvm-svn: 94398
2010-01-25 00:45:01 +00:00
Chris Lattner
e04db98cdd
linux/ppc does use alignment in bytes, not pow-2. This fixes PR6129.
...
It looks like linux/arm and linux/mips have the same setting, which
are probably wrong. Someone who cares about ARM and MIPS should
investigate with the testcase in PR6129.
llvm-svn: 94381
2010-01-24 20:54:45 +00:00
Chris Lattner
bf8495a08e
don't reset the default.
...
llvm-svn: 94380
2010-01-24 20:53:12 +00:00
Chris Lattner
5a57121631
make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.
...
llvm-svn: 94378
2010-01-24 20:43:08 +00:00
Chris Lattner
397d34f06b
mark some libraries that currently require RTTI.
...
llvm-svn: 94377
2010-01-24 20:22:08 +00:00
Chris Lattner
e753847267
libs that need EH need RTTI.
...
llvm-svn: 94376
2010-01-24 20:21:50 +00:00
Chris Lattner
c0335bacb4
ENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it.
...
llvm-svn: 94375
2010-01-24 20:20:40 +00:00
Chris Lattner
82318209c4
reassociate should do this.
...
llvm-svn: 94374
2010-01-24 20:17:09 +00:00
Chris Lattner
e328ab9a00
add a note.
...
llvm-svn: 94373
2010-01-24 20:01:41 +00:00
Chris Lattner
6fdaf12267
just remove this test, it is not reduced, is not clear what its testing for and
...
it is dying due to fragility in the asmprinter .s comments.
llvm-svn: 94372
2010-01-24 19:23:09 +00:00
Chris Lattner
9cb699ec58
this test has been failing or a long time, just disable it for now to get
...
back to green.
llvm-svn: 94371
2010-01-24 19:13:39 +00:00
Chris Lattner
0dde21dba4
fix some issues where we weren't emitting enough newlines.
...
llvm-svn: 94370
2010-01-24 19:01:06 +00:00