David Goodwin
e94d490b89
Add Thumb-2 patterns for ARMsrl_flag and ARMsra_flag.
...
llvm-svn: 77329
2009-07-28 17:06:49 +00:00
Daniel Dunbar
45429b2b1e
Switch AsmLexer::Lex to returning a reference to the current token.
...
llvm-svn: 77328
2009-07-28 16:56:42 +00:00
David Greene
b224a9f38c
Add reload and remat backscheduling. This is disabled by default. Use
...
-schedule-spills=true to enable.
llvm-svn: 77327
2009-07-28 16:49:24 +00:00
Chris Lattner
dde77ff48b
fix unused variable warning
...
llvm-svn: 77326
2009-07-28 16:49:19 +00:00
Daniel Dunbar
61ef1ddfb4
Drop some AsmLexer methods in favor of their AsmToken equivalents.
...
llvm-svn: 77323
2009-07-28 16:38:40 +00:00
Daniel Dunbar
1c373fc85a
llvm-mc: Sink token enum into AsmToken.
...
llvm-svn: 77322
2009-07-28 16:08:33 +00:00
Stefanus Du Toit
591ef9fa8c
Include cmath/math.h in DataTypes.h regardless of whether MSVC is being used.
...
Fixes MSVC build of LiveInterval.cpp.
Patch by Nicolas Capens.
llvm-svn: 77317
2009-07-28 13:41:07 +00:00
Evan Cheng
05555a7d31
tADDrSPI doesn't have a predicate operand, but tADDhirr and tADDi3 have.
...
llvm-svn: 77305
2009-07-28 07:38:35 +00:00
Nick Lewycky
02a08fcbe5
Remove memory corruption bug. string.c_str() was returning a temporary that was
...
dead before we used it.
llvm-svn: 77304
2009-07-28 06:53:50 +00:00
Evan Cheng
93c1b56fe9
Code clean up. No functionality changes.
...
llvm-svn: 77301
2009-07-28 06:24:12 +00:00
Evan Cheng
b740190d2e
- More refactoring. This gets rid of all of the getOpcode calls.
...
- This change also makes it possible to switch between ARM / Thumb on a
per-function basis.
- Fixed thumb2 routine which expand reg + arbitrary immediate. It was using
using ARM so_imm logic.
- Use movw and movt to do reg + imm when profitable.
- Other code clean ups and minor optimizations.
llvm-svn: 77300
2009-07-28 05:48:47 +00:00
Chris Lattner
ec951ca82f
fix a casting problem on the llvm-x86_64-linux tester
...
llvm-svn: 77295
2009-07-28 03:20:34 +00:00
Chris Lattner
55461787cc
Rip all of the global variable lowering logic out of TargetAsmInfo. Since
...
it is highly specific to the object file that will be generated in the end,
this introduces a new TargetLoweringObjectFile interface that is implemented
for each of ELF/MachO/COFF/Alpha/PIC16 and XCore.
Though still is still a brutal and ugly refactoring, this is a major step
towards goodness.
This patch also:
1. fixes a bunch of dangling pointer problems in the PIC16 backend.
2. disables the TargetLowering copy ctor which PIC16 was accidentally using.
3. gets us closer to xcore having its own crazy target section flags and
pic16 not having to shadow sections with its own objects.
4. fixes wierdness where ELF targets would set CStringSection but not
CStringSection_. Factor the code better.
5. fixes some bugs in string lowering on ELF targets.
llvm-svn: 77294
2009-07-28 03:13:23 +00:00
Chris Lattner
2aed301c12
don't copy TargetLowering.
...
llvm-svn: 77293
2009-07-28 03:05:40 +00:00
Daniel Dunbar
f7ad1ea8dd
llvm-mc: Factor AsmToken class out of AsmLexer.
...
llvm-svn: 77292
2009-07-28 03:00:54 +00:00
Dan Gohman
0d0dd7b732
Teach instcombine to respect and preserve inbounds. Add inbounds
...
to a few tests where it is required for the expected transformation.
llvm-svn: 77290
2009-07-28 01:40:03 +00:00
Mike Stump
8902846c69
Fix a small little typo.
...
llvm-svn: 77289
2009-07-28 01:35:34 +00:00
Daniel Dunbar
9e627e8dc8
llvm-mc: Stop uniqueing string tokens, nothing actually uses this.
...
llvm-svn: 77287
2009-07-28 00:58:50 +00:00
Dan Gohman
11eb2ee32c
Replace dyn_castGetElementPtr with dyn_cast<GEPOperator>.
...
llvm-svn: 77286
2009-07-28 00:37:50 +00:00
Dan Gohman
361e911b89
Grab the LLVMContext and parent Module of SI ahead of the
...
point where SI can get deleted. This fixes a use of free'd memory.
This fixes Externals/Povray.
llvm-svn: 77285
2009-07-28 00:37:06 +00:00
David Goodwin
0bcb94eeff
ORN does not require (and can not have) the ".w" suffix. "Orthogonality" is a dirty word at ARM.
...
llvm-svn: 77275
2009-07-27 23:34:12 +00:00
Mike Stump
6cc3ea28df
Fix a release-asserts warning. Debug functions should be marked used,
...
if there are no other uses. If people don't need this routine
anymore, if should be deleted.
llvm-svn: 77274
2009-07-27 23:33:34 +00:00
Dan Gohman
839f148e82
Pass true to the Internalize parameter of createStandardLTOPasses,
...
to match llvm-ld's default behavior.
llvm-svn: 77273
2009-07-27 23:23:47 +00:00
Daniel Dunbar
3edfc4bb16
llvm-mc: Implement .abort fully in the front end
...
llvm-svn: 77272
2009-07-27 23:20:52 +00:00
Mike Stump
be4029ff76
Avoid build warnings.
...
llvm-svn: 77271
2009-07-27 23:14:11 +00:00
Daniel Dunbar
67ac64c7b1
Add a comment on Value explaining the current getName() behavior.
...
llvm-svn: 77269
2009-07-27 22:39:14 +00:00
Owen Anderson
d729f993b8
Move ConstantStruct back to 2.5 API.
...
llvm-svn: 77266
2009-07-27 22:29:26 +00:00
Dan Gohman
1e723730cb
Add a comment about the "getelementptr null" trick.
...
llvm-svn: 77262
2009-07-27 21:59:50 +00:00
Dan Gohman
ab9087e845
Add inbounds to the polygen grammar.
...
llvm-svn: 77261
2009-07-27 21:55:32 +00:00
Dan Gohman
b8e8e75942
vim syntax highlighting for inbounds keyword.
...
llvm-svn: 77260
2009-07-27 21:54:51 +00:00
Dan Gohman
490eb36e1d
Add a new keyword 'inbounds' for use with getelementptr. See the
...
LangRef.html changes for details.
llvm-svn: 77259
2009-07-27 21:53:46 +00:00
Daniel Dunbar
5f73e9d3f8
llvm-mc: Move AsmLexer::getCurStrVal to StringRef based API.
...
- My DFS traversal of LLVM is, at least for now, nearly complete! :)
llvm-svn: 77258
2009-07-27 21:49:56 +00:00
Dan Gohman
daf5eafa6a
Order unsigned before signed, for consistency.
...
llvm-svn: 77257
2009-07-27 21:49:34 +00:00
Daniel Dunbar
89c8a88449
Unbreak build.
...
llvm-svn: 77256
2009-07-27 21:47:07 +00:00
Dan Gohman
40bd748448
Make raw_null_ostream flush its buffer in its destructor, so that
...
it conforms to the assertion added in r77245. This fixes a failure
in qa_override.c in clang's testsuite.
llvm-svn: 77255
2009-07-27 21:46:02 +00:00
Chris Lattner
d519223908
hoist MCContext/MCStreamer up to AsmPrinter since we're going to start creating
...
MCSections soon instead of Section for all targets, and we need something to
own them.
llvm-svn: 77252
2009-07-27 21:28:04 +00:00
Daniel Dunbar
6de68a2544
Move MCContext and friends to StringRef based APIs.
...
llvm-svn: 77251
2009-07-27 21:22:30 +00:00
Chris Lattner
923a453dea
simplify #includes.
...
llvm-svn: 77250
2009-07-27 21:13:35 +00:00
Owen Anderson
256c2c250e
Move ConstantFP construction back to the 2.5-ish API.
...
llvm-svn: 77247
2009-07-27 20:59:43 +00:00
Dan Gohman
982c2fe893
Add an assertion check to raw_ostream's destructor to verify
...
that the subclass hasn't left any pending data in the buffer.
llvm-svn: 77245
2009-07-27 20:49:44 +00:00
Andreas Bolka
0cb4ca7575
Fix typo.
...
llvm-svn: 77244
2009-07-27 20:37:10 +00:00
Devang Patel
1706411e39
80 columns!
...
llvm-svn: 77243
2009-07-27 20:30:05 +00:00
David Goodwin
6ff3fd8021
Remove TPat. No patterns depend on just isThumb(). Must use either T1Pat (isThumb1Only()) or T2Pat (is Thumb2).
...
llvm-svn: 77242
2009-07-27 19:59:26 +00:00
Sean Callanan
3b5de0fa36
Thanks, Bill!
...
llvm-svn: 77240
2009-07-27 19:45:28 +00:00
Bruno Cardoso Lopes
acb73d4897
fix comment
...
llvm-svn: 77239
2009-07-27 19:38:38 +00:00
Bruno Cardoso Lopes
f6ea9fb8c2
add module identifier to the elf object file
...
llvm-svn: 77238
2009-07-27 19:32:57 +00:00
Chris Lattner
674e5fa434
Sink getSectionPrefixForUniqueGlobal down into the TAI
...
implementations that need it, rearrange ELFTAI.
llvm-svn: 77236
2009-07-27 19:14:14 +00:00
Chris Lattner
4ff7e1300f
remove dead code.
...
llvm-svn: 77233
2009-07-27 19:00:33 +00:00
Bruno Cardoso Lopes
a536302ed5
Handle external symbols for ELF and add some static methods to ELFSym
...
llvm-svn: 77232
2009-07-27 18:54:47 +00:00
Evan Cheng
718ab76a04
More DCE.
...
llvm-svn: 77231
2009-07-27 18:48:45 +00:00