Chris Lattner
1457d067fa
remove an extraneous mem2reg pass early in the pipe. Since
...
this is run after the 'standard function passes', SRoA was
recently run. This saves a domfrontier construction. Thanks
to Eli for noticing this.
llvm-svn: 82291
2009-09-18 22:03:29 +00:00
Chris Lattner
b069ec63a4
reduce indentation by using an early exit, and add a comment,
...
no functionality change.
llvm-svn: 82290
2009-09-18 22:01:30 +00:00
Bob Wilson
8c33d67fbf
Fix a comment typo and some whitespace.
...
llvm-svn: 82285
2009-09-18 21:43:11 +00:00
Bob Wilson
3c21a35908
Fix a typo in an assertion message.
...
llvm-svn: 82284
2009-09-18 21:42:44 +00:00
Bill Wendling
053237109a
Factor out label difference creation.
...
llvm-svn: 82282
2009-09-18 21:37:56 +00:00
Victor Hernandez
537d8d99be
Enhance analysis passes so that they apply the same analysis to malloc calls as to MallocInst.
...
Reviewed by Eli Friedman.
llvm-svn: 82281
2009-09-18 21:34:51 +00:00
Dan Gohman
51f5442403
Delete the label names from this test to make it less fragile.
...
llvm-svn: 82276
2009-09-18 21:23:12 +00:00
Bill Wendling
43f2cd7757
It's inefficient to have place the exception tables (which contain the LSDA)
...
into the __DATA section. At launch time, dyld has to update most of the section
to fix up the type info pointers. It's better to place it into the __TEXT
section and use pc-rel indirect pointer encodings. Similar to the personality
routine.
llvm-svn: 82274
2009-09-18 21:14:36 +00:00
Evan Cheng
270d0f986f
Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes.
...
Not functionality change yet.
llvm-svn: 82273
2009-09-18 21:02:19 +00:00
Shantonu Sen
7ba874bb5e
Fix cmake build, which has a different -I that
...
causes the "../foo" to not find the file
llvm-svn: 82270
2009-09-18 20:35:59 +00:00
Chris Lattner
3a78ce3a56
Make a new X8632_MachoTargetObjectFile TLOF implementation whose
...
getSymbolForDwarfGlobalReference is smart enough to know that it
needs to register the stub it references with MachineModuleInfoMachO,
so that it gets emitted at the end of the file.
Move stub emission from X86ATTAsmPrinter::doFinalization to the
new X86ATTAsmPrinter::EmitEndOfAsmFile asmprinter hook. The important
thing here is that EmitEndOfAsmFile is called *after* the ehframes are
emitted, so we get all the stubs.
This allows us to remove a gross hack from the asmprinter where it would
"just know" that it needed to output stubs for personality functions.
Now this is all driven from a consistent interface.
The testcase change is just reordering the expected output now that the
stubs come out after the ehframe instead of before.
This also unblocks other changes that Bill wants to make.
llvm-svn: 82269
2009-09-18 20:22:52 +00:00
Chris Lattner
71a15b1316
add a new hook to allow targets to splat stuff at the end of the file.
...
Overriding doFinalization is pretty lame.
llvm-svn: 82268
2009-09-18 20:17:03 +00:00
Dale Johannesen
5e9a5c3664
Model the carry bit on ppc32. Without this we could
...
move a SUBFC (etc.) below the SUBFE (etc.) that consumed
the carry bit. Add missing ADDIC8, noticed along the way.
llvm-svn: 82266
2009-09-18 20:15:22 +00:00
Dan Gohman
722b1eefdb
Add support for using the FLAGS result of or, xor, and and instructions
...
on x86, to avoid explicit test instructions. A few existing tests changed
due to arbitrary register allocation differences.
llvm-svn: 82263
2009-09-18 19:59:53 +00:00
Sean Callanan
8e31aa773f
Added RCL and RCR (rotate left and right with a
...
carry bit) instructions to the Intel instruction
tables.
llvm-svn: 82260
2009-09-18 19:35:23 +00:00
Devang Patel
af206b8c88
Write and read metadata attachments.
...
llvm-svn: 82259
2009-09-18 19:26:43 +00:00
Victor Hernandez
788eaabd18
Update malloc call creation code (AllocType is now the element type of the malloc, not the resulting type).
...
In getMallocArraySize(), fix bug in the case that array size is the product of 2 constants.
Extend isArrayMalloc() and getMallocArraySize() to handle case where malloc is used as char array.
Ensure that ArraySize in LowerAllocations::runOnBasicBlock() is correct type.
Extend Instruction::isSafeToSpeculativelyExecute() to handle malloc calls.
Add verification for malloc calls.
Reviewed by Dan Gohman.
llvm-svn: 82257
2009-09-18 19:20:02 +00:00
Chris Lattner
e133923abe
duncan points out the EH selector values are signed.
...
llvm-svn: 82245
2009-09-18 18:34:29 +00:00
Chris Lattner
42bb0c1f8f
convert some stuff to StringRef to avoid temporary std::strings.
...
llvm-svn: 82244
2009-09-18 18:31:37 +00:00
Chris Lattner
bf1a769dcb
add a comment.
...
llvm-svn: 82236
2009-09-18 18:10:19 +00:00
Chris Lattner
1e64038bcb
This file can need access to the X86 instruction enums when the table exceeds 32-bits.
...
llvm-svn: 82235
2009-09-18 18:08:55 +00:00
Daniel Dunbar
73e76a1d60
Fix a few more conversion warnings on 4.0
...
llvm-svn: 82232
2009-09-18 17:48:05 +00:00
Mike Stump
e79171ca42
Update to latest versions of config.guess and config.sub from
...
http://savannah.gnu.org/projects/config
llvm-svn: 82229
2009-09-18 17:10:27 +00:00
Anton Korobeynikov
592638ae05
Allow symbols to start from the digit if target requests it. This allows, e.g. pinning
...
variables to specified absolute address. Make use of this feature for MSP430.
This unbreaks PR4776.
llvm-svn: 82227
2009-09-18 16:57:42 +00:00
Nick Lewycky
bf4c56d82b
Stop using alloca.
...
llvm-svn: 82225
2009-09-18 16:46:16 +00:00
Xerxes Ranby
cd92d24a4f
Revert r82214 completely to fix build.
...
llvm-svn: 82218
2009-09-18 09:50:00 +00:00
Evan Cheng
f4db6396e0
Revert r82214. It broke 403.gcc on x86_64 / Darwin.
...
llvm-svn: 82215
2009-09-18 08:26:06 +00:00
Evan Cheng
6ba1931d60
Fix a bug in sdisel switch lowering code. When it updates the phi nodes in switch successor blocks, it can introduce multiple phi operands of the same value from different blocks (and may not be on the predecessor list).
...
This can be seen on CodeGen/Generic/2006-09-06-SwitchLowering.ll. But it's not known to cause any real regression (but I have added an assertion for it now).
llvm-svn: 82214
2009-09-18 08:16:04 +00:00
Nick Lewycky
6a3260e004
Add newlines.
...
llvm-svn: 82206
2009-09-18 07:36:47 +00:00
Chris Lattner
7fc4ad6a63
make this testcase check darwin32 also
...
llvm-svn: 82182
2009-09-17 23:56:41 +00:00
Chris Lattner
2ba262b7e8
rename test
...
llvm-svn: 82181
2009-09-17 23:55:12 +00:00
Chris Lattner
1bd81314e7
tolerate llvm.eh.selector.i64 on 32-bit systems and llvm.eh.selector.i32 on
...
64-bit systems.
llvm-svn: 82180
2009-09-17 23:54:54 +00:00
Chris Lattner
bf2fd768f9
convert to filecheck
...
llvm-svn: 82179
2009-09-17 23:54:26 +00:00
Chris Lattner
4a1c8fc061
rename file
...
llvm-svn: 82178
2009-09-17 23:42:06 +00:00
Julien Lerouge
f2a0d7364b
Use __attribute__((__used__)) if GCC >= 3.1 (seems to be the oldest GCC
...
supporting this attribute).
llvm-svn: 82177
2009-09-17 23:27:10 +00:00
Devang Patel
dda1ab44e0
A testcase!
...
llvm-svn: 82176
2009-09-17 23:05:07 +00:00
Devang Patel
ea8a4b984c
Fix parsing of optional metadata for 'load', 'store' and 'alloc' instructions.
...
llvm-svn: 82175
2009-09-17 23:04:48 +00:00
John McCall
26a96b0369
Fix a few places where PointerIntPair was using PointerLikeTypeTraits<PointerTy>
...
instead of the PtrTraits provided. Allows PointerIntPair to contain a
PointerUnion safely, as long as the bits add up.
llvm-svn: 82163
2009-09-17 20:35:18 +00:00
Chris Lattner
a6ebba270d
pass machinemoduleinfo down into getSymbolForDwarfGlobalReference,
...
currently unused.
llvm-svn: 82157
2009-09-17 18:49:52 +00:00
Dan Gohman
36bad00bef
Teach ScalarEvolution how to reason about no-wrap flags on loops
...
where the induction variable has a non-unit stride, such as {0,+,2}, and
there are expressions such as {1,+,2} inside the loop formed with
or or add nsw operators.
llvm-svn: 82151
2009-09-17 18:05:20 +00:00
Jim Grosbach
9632c14949
grammar
...
llvm-svn: 82150
2009-09-17 17:57:26 +00:00
Jim Grosbach
d0928e8cb5
grammar
...
llvm-svn: 82149
2009-09-17 17:55:55 +00:00
Daniel Dunbar
0ec4ed7b74
Another try at fixing compile warnings on 4.0
...
llvm-svn: 82148
2009-09-17 17:46:53 +00:00
Benjamin Kramer
5ff90ed33e
Initialize HasMetadata to zero.
...
llvm-svn: 82145
2009-09-17 14:51:57 +00:00
Daniel Dunbar
94cb6144d2
Remove test cases using -regalloc=simple.
...
llvm-svn: 82130
2009-09-17 06:37:07 +00:00
Evan Cheng
4ba30d9913
Remove simple regalloc. It has bit rotted.
...
llvm-svn: 82127
2009-09-17 05:48:07 +00:00
Chris Lattner
ac6271e3f4
add a version of the APFloat constructor that initializes to 0.0
...
llvm-svn: 82110
2009-09-17 01:08:43 +00:00
Evan Cheng
f56b0482c4
Fix PR4910: Broken logic in coalescer means when a physical register liveness is being shortened, the sub-registers were not. The symptom is the register allocator could not find a free register for this particular test.
...
llvm-svn: 82108
2009-09-17 00:57:15 +00:00
Daniel Dunbar
c7012fa1e8
Some platforms may need malloc.h for alloca.
...
llvm-svn: 82100
2009-09-17 00:14:44 +00:00
Daniel Dunbar
487d1c8138
Update CMake.
...
llvm-svn: 82097
2009-09-17 00:06:48 +00:00