Chris Lattner
6830c25f35
I missed a checking with my GVN change.
...
llvm-svn: 131851
2011-05-22 07:20:02 +00:00
Chris Lattner
2be4296485
insertvalue takes a variable number of arguments, document this, fixing PR9935.
...
llvm-svn: 131850
2011-05-22 07:18:08 +00:00
Chris Lattner
98ce5cd957
fix PR9856, an incorrectly conservative assertion: a global can be
...
"stored once" even if its address is compared.
llvm-svn: 131849
2011-05-22 07:15:13 +00:00
Chris Lattner
6cce3b63ab
fix PR9841 by having GVN not process dead loads. This was
...
causing it to get into infinite loops when it would widen a
load (which can necessarily leave around dead loads).
llvm-svn: 131847
2011-05-22 07:03:34 +00:00
Chris Lattner
dcb6599980
remove a trivial test, make some other tests less trivial.
...
llvm-svn: 131846
2011-05-22 07:02:43 +00:00
Chris Lattner
ed5d5cc74d
make this test less trivial.
...
llvm-svn: 131845
2011-05-22 06:59:33 +00:00
Chris Lattner
84d1d4b89c
initialize and finalize function passes, pointed out by Cameron.
...
llvm-svn: 131843
2011-05-22 06:44:19 +00:00
Chris Lattner
75adf06d44
fix a bug for hosts without round, PR8893.
...
llvm-svn: 131842
2011-05-22 06:03:53 +00:00
Chris Lattner
9359dea740
move PR9408 here.
...
llvm-svn: 131841
2011-05-22 05:45:06 +00:00
Nick Lewycky
82ddea6aaa
Commit test change, forgotten as part of r131838.
...
llvm-svn: 131839
2011-05-22 05:31:47 +00:00
Nick Lewycky
9f7644d549
Teach the inliner to emit llvm.lifetime.start/end, to scope the local variables
...
of the inlinee to the code representing the original function.
llvm-svn: 131838
2011-05-22 05:22:10 +00:00
Chris Lattner
7eb3367809
switch to using a smallvector to avoid allocations for most normal size instructions.
...
llvm-svn: 131837
2011-05-22 04:53:24 +00:00
Chris Lattner
b58a888c57
tidy some things up.
...
llvm-svn: 131836
2011-05-22 04:52:24 +00:00
Chris Lattner
1520c4f4f0
Fix some minor typos and grammar.
...
llvm-svn: 131835
2011-05-22 04:44:48 +00:00
Charles Davis
d74119d139
Implement emission of all Win64 exception tables. Make the COFF streamer emit
...
these tables.
llvm-svn: 131833
2011-05-22 04:15:07 +00:00
Charles Davis
c23700bb65
Make the COFF streamer emit unwind info when processing a .seh_handlerdata
...
directive.
Implement emission of Win64 EH unwind info.
Pull in <cassert> in MCWin64EH.h so it can use the assert() macro.
llvm-svn: 131832
2011-05-22 03:01:05 +00:00
Nick Lewycky
7cc4d86ea6
Fix grammar in test.
...
llvm-svn: 131831
2011-05-22 01:16:00 +00:00
Charles Davis
a537e589c9
Don't allow unaligned offsets and sizes in the Win64 EH directives.
...
Also, fix threshold for 'Big' register saves.
llvm-svn: 131830
2011-05-22 00:56:20 +00:00
Chris Lattner
69a52dd280
random comment cleanups.
...
llvm-svn: 131829
2011-05-22 00:50:53 +00:00
Chris Lattner
9413ffa53b
fix a file system case sensitivity issue.
...
llvm-svn: 131828
2011-05-22 00:37:51 +00:00
Chris Lattner
03d83a7b9b
remove StandardPasses, it has been replaced with PassManagerBuilder
...
llvm-svn: 131827
2011-05-22 00:30:45 +00:00
Chris Lattner
dd750b0404
switch opt to using PassManagerBuilder.h
...
llvm-svn: 131824
2011-05-22 00:21:33 +00:00
Chris Lattner
a9a8b633ae
switch llvm-ld. It has a terrible mechanism that people can add extra
...
passes, it should be converted to use extension points.
llvm-svn: 131823
2011-05-22 00:21:15 +00:00
Chris Lattner
89036e6501
switch bugpoint and liblto to PassManagerBuilder.
...
llvm-svn: 131821
2011-05-22 00:20:07 +00:00
Chris Lattner
6e81571c48
add support for LTO passes.
...
llvm-svn: 131820
2011-05-22 00:14:20 +00:00
Chris Lattner
c383dd2c87
eliminate dependence on StandardPasses.h. The code generator's pass pipeline
...
should eventually convert to PMBuilder, but I don't plan to do this.
llvm-svn: 131819
2011-05-22 00:13:44 +00:00
Charles Davis
49f650f80b
Include DataTypes.h from this header to get the uint*_t types.
...
llvm-svn: 131817
2011-05-22 00:05:26 +00:00
Charles Davis
53b696daee
Allow access to the .pdata and .xdata sections through the TargetAsmInfo
...
class.
llvm-svn: 131816
2011-05-22 00:03:24 +00:00
Chris Lattner
03847f8199
add an extension point mechanism that allow plugins to add stuff to
...
the pass manager.
llvm-svn: 131814
2011-05-21 23:50:37 +00:00
Nick Lewycky
0539f44b9f
Add CreateLifetimeStart and CreateLifetimeEnd to the IRBuilder, with plans to
...
use these soon.
llvm-svn: 131812
2011-05-21 23:14:36 +00:00
Duncan Sands
c228e6bdea
Revert commit 131781, to see if it fixes the x86-64 dragonegg buildbot.
...
Original log message:
When BasicAA can determine that two pointers have the same base but
differ by a dynamic offset, return PartialAlias instead of MayAlias.
See the comment in the code for details. This fixes PR9971.
llvm-svn: 131809
2011-05-21 20:54:46 +00:00
Chris Lattner
d2e2d612c0
add a new PassManagerBuilder class to replace StandardPasses.h
...
llvm-svn: 131807
2011-05-21 20:39:42 +00:00
Chris Lattner
777808dcaf
add a copy ctor to TargetLibraryInfo.
...
llvm-svn: 131806
2011-05-21 20:09:13 +00:00
Eli Friedman
58beee1262
PR7952: Make isa<> use the same logic as cast<>, so that they both work
...
consistently.
llvm-svn: 131803
2011-05-21 19:13:10 +00:00
Benjamin Kramer
85e86083d5
X86: smulo -> add is now done target-independently in DAGCombiner, remove the patterns.
...
llvm-svn: 131801
2011-05-21 18:32:01 +00:00
Benjamin Kramer
df3070e83d
Implement mulo x, 2 -> addo x, x in DAGCombiner.
...
llvm-svn: 131800
2011-05-21 18:31:55 +00:00
Benjamin Kramer
e55e27c161
Merge and FileCheckize test cases.
...
llvm-svn: 131799
2011-05-21 18:31:48 +00:00
Benjamin Kramer
24f75ab769
Revert "InstCombine: Turn mul.with.overflow(X, 2) into the cheaper add.with.overflow(X, X)"
...
It's better to do this in codegen, mul.with.overflow(X, 2) is more canonical because it has only one use on "X".
llvm-svn: 131798
2011-05-21 18:31:42 +00:00
Charles Davis
525855fe48
Don't allow .seh_handler and .seh_handlerdata directives inside chained
...
unwind areas.
llvm-svn: 131795
2011-05-21 17:36:25 +00:00
Charles Davis
7f9c007dce
A handler for a function in the Win64 EH scheme can be both an unwind handler
...
and an exception handler. Handle that case.
Also, add an 'Emitted' member to the MCWin64EHUnwindInfo struct. It will be
needed later.
llvm-svn: 131791
2011-05-21 15:57:49 +00:00
Benjamin Kramer
51d1eac4bc
InstCombine: Turn mul.with.overflow(X, 2) into the cheaper add.with.overflow(X, X)
...
llvm-svn: 131789
2011-05-21 09:22:06 +00:00
Cameron Zwarich
28ea8de263
Fix PR9978 by adding RIP to GR64_TC so it can be used as an address in PIC code. It
...
is already in GR64 for the same reasons. Since it isn't allocatable it can't cause
any problems.
llvm-svn: 131787
2011-05-21 04:13:49 +00:00
Akira Hatanaka
af8143cdde
Use the correct register to access stack frame objects.
...
llvm-svn: 131785
2011-05-21 03:01:03 +00:00
Akira Hatanaka
6605a1e1a6
Insert instructions that copy $sp to or from $fp at the right locations.
...
llvm-svn: 131784
2011-05-21 02:29:26 +00:00
Dan Gohman
048c261e5d
When BasicAA can determine that two pointers have the same base but
...
differ by a dynamic offset, return PartialAlias instead of MayAlias.
See the comment in the code for details. This fixes PR9971.
llvm-svn: 131781
2011-05-21 01:05:08 +00:00
Andrew Trick
9f867fd2dc
Have Program::Wait return -2 for crashed and timeouts instead of embedding
...
info in the error message. Per Dan's request.
llvm-svn: 131780
2011-05-21 00:56:46 +00:00
Charles Davis
520128d52f
Set the "LastFrameInst" field when streaming a .seh_setframe directive. This
...
is needed for an upcoming patch.
llvm-svn: 131772
2011-05-21 00:09:04 +00:00
Cameron Zwarich
00ec3d1f9f
Fix PR9962 by properly constraining register classes in RemoveCopyByCommutingDef(). This
...
actually fixes most of the VerifyCoalescing failures in test-suite.
llvm-svn: 131768
2011-05-20 23:25:36 +00:00
Akira Hatanaka
66b7b0949f
Change the order fixed objects are created in MipsTargetLowering::LowerCall in
...
preparation for reversing StackDirection.
Fixed objects are created in the following order:
1. Incoming arguments passed on stack.
2. va_arg objects (include both arguments that are passed in registers and
pointer to the location of the first va_arg argument).
3. $gp restore slot.
4. Outgoing arguments passed on stack.
5. Pointer to alloca'd space.
llvm-svn: 131767
2011-05-20 23:22:14 +00:00
Charles Davis
445c467ced
Fix typo. When will I learn?
...
llvm-svn: 131765
2011-05-20 22:23:34 +00:00