Commit Graph

65842 Commits

Author SHA1 Message Date
Jason W Kim eae048885d Changed elf-dump to output hex format by default.
Also updated tests. 

llvm-svn: 116753
2010-10-18 21:32:41 +00:00
Dan Gohman 408beac597 Don't pass the raw invalid pointer used to represent conflicting
TBAA information to AliasAnalysis.

llvm-svn: 116751
2010-10-18 21:28:00 +00:00
Bill Wendling 337a31133b Don't recompute MachineRegisterInfo in the Optimize* method.
llvm-svn: 116750
2010-10-18 21:22:31 +00:00
Mikhail Glushenkov cf2afe008d Trailing whitespace.
llvm-svn: 116749
2010-10-18 21:16:00 +00:00
Dan Gohman fe8abf88a0 Add a basic testcase for TBAA-aware LICM.
llvm-svn: 116745
2010-10-18 21:00:09 +00:00
Rafael Espindola fba9f74932 Implement R_386_GOT32.
llvm-svn: 116744
2010-10-18 20:47:21 +00:00
Dan Gohman 71af9db0e8 Make AliasSetTracker TBAA-aware, enabling TBAA-enabled LICM.
llvm-svn: 116743
2010-10-18 20:44:50 +00:00
Rafael Espindola 0a5314fdb3 Relocate with .bss instead of using the symbol. Matches gas behavior.
llvm-svn: 116741
2010-10-18 20:25:33 +00:00
Rafael Espindola 3604d4441a Reenable assert.
llvm-svn: 116738
2010-10-18 19:33:01 +00:00
Devang Patel 218f3206fa Transfer debug loc to lowered call.
Patch by Alexander Herz!

llvm-svn: 116733
2010-10-18 18:53:44 +00:00
Dan Gohman 52dacc0d7f Add TypeBasedAliasAnalysis to the standard pass lists. Note that it
is currently inert by default.

llvm-svn: 116732
2010-10-18 18:50:27 +00:00
Dan Gohman f7a5e20372 Run tbaa before basicaa, since that's how it's expected to be used.
llvm-svn: 116731
2010-10-18 18:45:59 +00:00
Dan Gohman f3702452c8 Fix BasicAA to pass TBAAInfo through to the chained analysis.
llvm-svn: 116730
2010-10-18 18:45:11 +00:00
Jim Grosbach 6706f3c4b4 For Thumb2, try to use frame pointer references for stack slots even when a
base register is available. rdar://8525298

llvm-svn: 116729
2010-10-18 18:39:46 +00:00
Rafael Espindola e3dc9e2ea1 Produce ELF::R_386_GOTPC relocations.
llvm-svn: 116728
2010-10-18 18:36:12 +00:00
Dan Gohman 33fcde9b9c Make TypeBasedAliasAnalysis default to doing nothing, with a command-line
option to enable it.

llvm-svn: 116722
2010-10-18 18:17:47 +00:00
Dan Gohman f0a3bed6d6 Use chaining in TypeBasedAliasAnalysis::pointsToConstantMemory.
llvm-svn: 116721
2010-10-18 18:10:31 +00:00
Dan Gohman 02538ac4d3 Make BasicAliasAnalysis a normal AliasAnalysis implementation which
does normal initialization and normal chaining. Change the default
AliasAnalysis implementation to NoAlias.

Update StandardCompileOpts.h and friends to explicitly request
BasicAliasAnalysis.

Update tests to explicitly request -basicaa.

llvm-svn: 116720
2010-10-18 18:04:47 +00:00
Rafael Espindola 257374bb0f Make the bots happy.
llvm-svn: 116719
2010-10-18 18:03:28 +00:00
Kevin Enderby b9783dd9bc Added a handful of x86-32 instructions that were missing so that llvm-mc would
be more complete.  These are only expected to be used by llvm-mc with assembly
source so there is no pattern, [], in the .td files.  Most are being added to
X86InstrInfo.td as Chris suggested and only comments about register uses are
added.  Suggestions welcome on the .td changes as I'm not sure on every detail
of the x86 records.  More missing instructions will be coming.

llvm-svn: 116716
2010-10-18 17:04:36 +00:00
Rafael Espindola 3521f8467d Produce a R_386_PLT32 when needed. Moved the default cases of switches to the
start for consistency.

llvm-svn: 116715
2010-10-18 16:58:03 +00:00
Jim Grosbach 00fe92da6b ARM addrmode4 instructions (ldm, stm and friends) can't encode an immediate
offset for stack references. Make sure we take that into account when
deciding whether to reserver an emergency spill slot for the register
scavenger. rdar://8559625

llvm-svn: 116714
2010-10-18 16:48:59 +00:00
Jim Grosbach e8a0eaafe6 Grammar tweak.
llvm-svn: 116712
2010-10-18 16:38:50 +00:00
Rafael Espindola 4464e0858f Handle GOTOFF correctly on i386.
llvm-svn: 116711
2010-10-18 16:38:04 +00:00
Jim Grosbach a3aa17b376 Trivial grammar tweak.
llvm-svn: 116710
2010-10-18 16:29:26 +00:00
Kalle Raiskila 5f2034c455 Improve lowering of sext to i128 on SPU.
The old algorithm inserted a 'rotqmbyi' instruction which was
both redundant and wrong - it made shufb select bytes from the
wrong end of the input quad.

llvm-svn: 116701
2010-10-18 09:34:19 +00:00
Eric Christopher 167a700229 Remove the check for invalid calling conventions. Testing shows that they're
working just fine.

llvm-svn: 116698
2010-10-18 06:49:12 +00:00
Eric Christopher c103c668ce Lift arg promotion from the X86 backend. This should be unified at some point.
llvm-svn: 116694
2010-10-18 02:17:53 +00:00
Eric Christopher a8a9f3c52b Now that we handle all allocas via a non-SP reg offset remove all of the
special case handling for ARM::SP.

llvm-svn: 116688
2010-10-17 11:08:44 +00:00
Benjamin Kramer 74beb4278a std::string cleanup.
llvm-svn: 116686
2010-10-17 07:39:34 +00:00
Benjamin Kramer 77414757f6 Fix a typo and silence unused variable warnings in -Asserts build.
llvm-svn: 116685
2010-10-17 07:38:40 +00:00
Eric Christopher 730764da62 Allow more load types to be materialized through the allocas.
llvm-svn: 116683
2010-10-17 06:07:26 +00:00
Oscar Fuentes 889c1e7d80 Build with RTTI and exceptions disabled. Only in GCC for now.
llvm-svn: 116682
2010-10-17 02:26:16 +00:00
Eric Christopher d265b3fcfe Optimize GEP off of intermediate allocas.
llvm-svn: 116681
2010-10-17 01:51:42 +00:00
Eric Christopher a0b9c2e9c0 Fix comment.
llvm-svn: 116680
2010-10-17 01:42:53 +00:00
Eric Christopher abc3a9d34b Turn on AddOperator folding in GEP.
llvm-svn: 116679
2010-10-17 01:41:46 +00:00
Eric Christopher 947e422c46 Use the i12 immediate versions of the load instructions - they're handled
more in the post-passes.

llvm-svn: 116678
2010-10-17 01:40:27 +00:00
Rafael Espindola 4262a22225 Add a MCObjectFormat class so that code common to all targets that use a
single object format can be shared.

This also adds support for

mov zed+(bar-foo), %eax

on ELF and COFF targets.

llvm-svn: 116675
2010-10-16 18:23:53 +00:00
Benjamin Kramer 2fcb554f5b Hack around incompatible pointer warnings.
llvm-svn: 116671
2010-10-16 15:43:02 +00:00
Benjamin Kramer 1dc34b48dd Eliminate some calls to Value::getNameStr.
llvm-svn: 116670
2010-10-16 11:28:23 +00:00
Benjamin Kramer 0d14b5b0fa Unbreak test on non-COFF targets.
llvm-svn: 116669
2010-10-16 11:27:13 +00:00
Michael J. Spencer 17990d5690 MC-COFF: Add support for default-null weak externals.
llvm-svn: 116666
2010-10-16 08:25:57 +00:00
Michael J. Spencer 5e683250ee X86-Windows: Emit an undefined global __fltused symbol when targeting Windows
if any floating point arguments are passed to an external function.

llvm-svn: 116665
2010-10-16 08:25:41 +00:00
Michael J. Spencer d3ea25e66e Whitespace!
llvm-svn: 116664
2010-10-16 08:25:21 +00:00
Daniel Dunbar 4d99878a37 MC/AsmParser: Report .stabs directive as unsupported.
llvm-svn: 116659
2010-10-16 04:56:42 +00:00
Evan Cheng 44436302fb More machine LICM work. It now tracks register pressure for path from preheader to current BB and use the information determine whether hoisting is worthwhile.
llvm-svn: 116654
2010-10-16 02:20:26 +00:00
Eric Christopher c918d550b6 Fix some funky formatting that got through.
llvm-svn: 116653
2010-10-16 01:10:35 +00:00
Bill Wendling 5f5b922ec6 ARMCodeEmitter::emitMiscInstruction is dead. Long live
ARMCodeEmitter::emitMiscInstruction!

llvm-svn: 116644
2010-10-15 23:35:12 +00:00
Eric Christopher f410acbbd5 Make sure offset is 0 for load/store register to the stack call.
llvm-svn: 116640
2010-10-15 23:07:10 +00:00
Owen Anderson 18e4fed3fa Generalize MemCpyOpt's handling of call slot forwarding to function properly when the call slot
forwarding is implemented with a load/store pair rather than a memcpy.

llvm-svn: 116637
2010-10-15 22:52:12 +00:00