Chris Lattner
05334af883
(re)introduce new simpler apis for creation sectionkinds.
...
llvm-svn: 77834
2009-08-01 23:57:16 +00:00
Chris Lattner
81229d1bed
Remove "JumpTableDataSection" from TAI, instead, have AsmPrinter
...
compute it based on what it knows. As part of this, rename getSectionForMergeableConstant
to getSectionForConstant because it works for non-mergable constants also.
The only functionality change from this is that Xcore will start dropping
its jump tables into readonly section instead of data section in -static mode.
This should be fine as the linker resolves the relocations. If this is a
problem, let me know and we'll come up with another solution.
llvm-svn: 77833
2009-08-01 23:46:12 +00:00
Chris Lattner
8120a93944
give alpha its readonly section. This optimizes alpha, and prevents a
...
testsuite regression with a coming patch.
llvm-svn: 77832
2009-08-01 23:44:04 +00:00
Chris Lattner
e3d23ea562
.rdata == .rodata on mips.
...
llvm-svn: 77827
2009-08-01 23:07:29 +00:00
Chris Lattner
52229980ff
no need to override the default with the default.
...
llvm-svn: 77826
2009-08-01 23:05:25 +00:00
Chris Lattner
42c655db2f
one fewer license, yay. :)
...
llvm-svn: 77824
2009-08-01 22:54:39 +00:00
Chris Lattner
190b319c4c
eXtensible Systems doesn't exist any more and Reid donated this to the
...
project under the normal license, yay. :)
llvm-svn: 77823
2009-08-01 22:54:17 +00:00
Chris Lattner
82b6045b0b
loweringinfo is always non-null.
...
llvm-svn: 77821
2009-08-01 22:48:40 +00:00
Chris Lattner
4cbb1c0c3f
REmove dead fields of TAI.
...
llvm-svn: 77820
2009-08-01 22:40:22 +00:00
Chris Lattner
e1cc2c27b3
fix a problem Eli noticed where we would compile the attached ptrtoint
...
to:
.quad X
even on a 32-bit system, where X is not 64-bits. There isn't much that
we can do here, so we just print:
.quad ((X) & 4294967295)
instead.
llvm-svn: 77818
2009-08-01 22:25:12 +00:00
Chris Lattner
49daade398
update for rename
...
llvm-svn: 77817
2009-08-01 22:06:53 +00:00
Chris Lattner
0106f7031b
fix a fixme by sinking various target-specific directives down into
...
the appropriate subclasses.
llvm-svn: 77815
2009-08-01 21:56:13 +00:00
Chris Lattner
ac27c8c8d3
coff also doesn't have a ReadOnlySection yet, (!)
...
llvm-svn: 77814
2009-08-01 21:49:24 +00:00
Chris Lattner
d0f608200c
coff doesn't set a .bss seciton, so this is dead.
...
llvm-svn: 77813
2009-08-01 21:48:25 +00:00
Chris Lattner
2a9d51b703
it turns out that isWeak() was basically dead anyway. Kill off SectionInfo :-/
...
llvm-svn: 77812
2009-08-01 21:46:23 +00:00
Chris Lattner
cbc6752ac5
don't use isWeak anymore.
...
llvm-svn: 77810
2009-08-01 21:42:58 +00:00
Chris Lattner
2f8fcad7cf
fix a layering violation by moving SectionKind out to its own header.
...
llvm-svn: 77808
2009-08-01 21:30:49 +00:00
Dan Gohman
3b05aaef0b
Minor whitespace tidiness.
...
llvm-svn: 77807
2009-08-01 21:25:46 +00:00
Dan Gohman
8961d1aaa3
Fix typos in comments.
...
llvm-svn: 77806
2009-08-01 21:25:00 +00:00
Chris Lattner
45a786d25d
with the previous refactoring, fixme fixed!
...
llvm-svn: 77805
2009-08-01 21:21:43 +00:00
Chris Lattner
944a154399
update for API change.
...
llvm-svn: 77804
2009-08-01 21:14:30 +00:00
Chris Lattner
79e9585304
Change SectionKind to be a property that is true of a *section*, it
...
should have no state that is specific to particular globals in the
section. In this case, it means the removal of the "isWeak" and
"ExplicitSection" bits. MCSection uses the new form of SectionKind.
To handle isWeak, I introduced a new SectionInfo class, which is
SectionKind + isWeak, and it is used by the part of the code generator
that does classification of a specific global.
The ExplicitSection disappears. It is moved onto MCSection as a new
"IsDirective" bit. Since the Name of a section is either a section
or directive, it makes sense to keep this bit in MCSection. Ultimately
the creator of MCSection should canonicalize (e.g.) .text to whatever
the actual section is.
llvm-svn: 77803
2009-08-01 21:11:14 +00:00
Chris Lattner
2c1ccbe37c
add a note about the build bots
...
llvm-svn: 77796
2009-08-01 19:25:25 +00:00
Dan Gohman
abd57d8aec
Minor code cleanups.
...
llvm-svn: 77795
2009-08-01 19:14:37 +00:00
Dan Gohman
bc9ad85a84
Print the target flags as an int instead of a char, as they aren't
...
actually characters.
llvm-svn: 77794
2009-08-01 19:13:38 +00:00
Dan Gohman
c4369ff556
Use the default copy ctor and copy-assignment operators.
...
llvm-svn: 77793
2009-08-01 19:11:31 +00:00
Dan Gohman
512a0d9f42
Add nounwind to this test.
...
llvm-svn: 77792
2009-08-01 19:11:04 +00:00
Nick Lewycky
9dccd7a872
Add newline at end of file to remove gcc warning.
...
llvm-svn: 77791
2009-08-01 19:09:44 +00:00
Benjamin Kramer
44b1be9788
Remove now empty unit test directory.
...
llvm-svn: 77790
2009-08-01 19:07:29 +00:00
Chris Lattner
c0be87a893
daniel says it's fine to nuke this.
...
llvm-svn: 77789
2009-08-01 18:38:21 +00:00
Chris Lattner
4efd0874b1
update for new api
...
llvm-svn: 77788
2009-08-01 18:35:49 +00:00
Chris Lattner
04ae6629fe
All MCSections are now required to have a SectionKind.
...
llvm-svn: 77787
2009-08-01 18:25:49 +00:00
Eli Friedman
cd4d9ff7fa
Hack to make this test work on platforms which aren't Macs. Fixing this
...
myself because I'm getting tired of seeing the red buildbots, which have
been red since 5:30PM PDT last night.
Proposed supplement to developer policy: committers should make sure to
be around to watch for buildbot failures after committing.
llvm-svn: 77785
2009-08-01 16:37:18 +00:00
Evan Cheng
b9b4b9aa15
Workaround a couple of Darwin assembler bugs.
...
llvm-svn: 77781
2009-08-01 06:13:52 +00:00
Dan Gohman
74b8f449e7
Give MachineFunctionAnalysis a destructor so it can verify that
...
that it released its allocated memory.
llvm-svn: 77775
2009-08-01 04:19:43 +00:00
Dan Gohman
7ca77f37db
Delete a redundant variable.
...
llvm-svn: 77774
2009-08-01 04:18:29 +00:00
Dan Gohman
c0b1c0e18d
Minor code simplifications.
...
llvm-svn: 77769
2009-08-01 03:51:09 +00:00
Dan Gohman
2e5fd769b6
Minor code simplifications.
...
llvm-svn: 77768
2009-08-01 03:42:59 +00:00
Daniel Dunbar
c4efea5c56
Avoid a problem with ulimit on Solaris & friends, patch by Edward O'Callaghan!
...
llvm-svn: 77767
2009-08-01 03:37:54 +00:00
Evan Cheng
c165700a7f
Split t2MOVCCs since some assemblers do not recognize mov shifted register alias with predicate.
...
llvm-svn: 77764
2009-08-01 01:43:45 +00:00
Ted Kremenek
b29794d828
Make default ctor for ImmutableSet::iterator public.
...
llvm-svn: 77762
2009-08-01 01:28:23 +00:00
Daniel Dunbar
7fd7e31119
llvm-mc: More quoted identifier support.
...
llvm-svn: 77761
2009-08-01 00:48:30 +00:00
Dan Gohman
e8685de233
SelectionDAGISel no longer needs to check hasAvailableExternallyLinkage,
...
as it is now a MachineFunctionPass, and MachineFunctionPass now handles
this.
llvm-svn: 77760
2009-08-01 00:42:23 +00:00
Dan Gohman
c1dc8ac240
Make UnreachableMachineBlockElim preserve MachineDominatorTree and
...
MachineLoopInfo.
llc now runs MachineLoopInfo and MachineDominatorTree only twice, instead
of three times.
llvm-svn: 77759
2009-08-01 00:34:30 +00:00
Dan Gohman
e05a157134
The X86 maximal stack alignment calculator preserves the CFG. Also,
...
be more careful about the return value of runOnMachineFunction.
llvm-svn: 77758
2009-08-01 00:31:02 +00:00
Dan Gohman
db8c4b62b4
X86 floating-point passes don't modify the CFG.
...
llvm-svn: 77757
2009-08-01 00:26:16 +00:00
Evan Cheng
5ef6928dff
Fix Thumb2 function call isel. Thumb1 and Thumb2 should share the same
...
instructions for calls since BL and BLX are always 32-bit long and BX is always
16-bit long.
Also, we should be using BLX to call external function stubs.
llvm-svn: 77756
2009-08-01 00:16:10 +00:00
Dan Gohman
bbd7d54b39
Use setPreservesAll in X86CodeEmitter.
...
llvm-svn: 77755
2009-07-31 23:44:16 +00:00
Dan Gohman
4529d71681
Use setPreservesAll and setPreservesCFG in CodeGen passes.
...
llvm-svn: 77754
2009-07-31 23:37:33 +00:00
Dan Gohman
8dbc245f9b
SelectionDAGISel does not "preserve all", since it makes lots of changes
...
to the MachineFunction.
llvm-svn: 77753
2009-07-31 23:36:22 +00:00