Piotr Padlewski
69dc971527
Generate assume loads only with -fstrict-vtable-pointers
...
Temporary fix till InstCombine and other possible passes will be
efficient to handle multiple assumes.
llvm-svn: 248734
2015-09-28 20:30:22 +00:00
Piotr Padlewski
d128fff5df
small test bugfix
...
llvm-svn: 247650
2015-09-15 00:55:29 +00:00
Piotr Padlewski
d679d7e924
Generating assumption loads of vptr after ctor call (fixed)
...
Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.
For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
Edit:
Fixed version because of PR24479 and other bug caused in chrome.
After this patch got reverted because of ScalarEvolution bug (D12719)
Merged after John McCall big patch (Added Address).
http://reviews.llvm.org/D11859
http://reviews.llvm.org/D12865
llvm-svn: 247646
2015-09-15 00:37:06 +00:00
Piotr Padlewski
4bed31b9bf
Revert "Generating assumption loads of vptr after ctor call (fixed)"
...
It seems that there is small bug, and we can't generate assume loads
when some virtual functions have internal visibiliy
This reverts commit 982bb7d966947812d216489b3c519c9825cacbf2.
llvm-svn: 247332
2015-09-10 20:18:30 +00:00
Piotr Padlewski
255652e828
Generating assumption loads of vptr after ctor call (fixed)
...
Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.
For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
Edit:
Fixed version because of PR24479.
After this patch got reverted because of ScalarEvolution bug (D12719)
Merged after John McCall big patch (Added Address).
http://reviews.llvm.org/D11859
llvm-svn: 247199
2015-09-09 22:20:28 +00:00
Steven Wu
5528da76ef
Revert r246214 and r246213
...
These two commits causes llvm LTO bootstrap to hang in ScalarEvolution.
llvm-svn: 246282
2015-08-28 07:14:10 +00:00
Piotr Padlewski
81461a4350
Assume loads fix #2
...
There was linker problem, and it turns out that it is not always safe
to refer to vtable. If the vtable is used, then we can refer to it
without any problem, but because we don't know when it will be used or
not, we can only check if vtable is external or it is safe to to emit it
speculativly (when class it doesn't have any inline virtual functions).
It should be fixed in the future.
http://reviews.llvm.org/D12385
llvm-svn: 246214
2015-08-27 21:35:41 +00:00
Piotr Padlewski
525f746710
Generating assumption loads of vptr after ctor call (fixed)
...
Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.
For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
Edit:
Fixed version because of PR24479.
http://reviews.llvm.org/D11859
llvm-svn: 246213
2015-08-27 21:35:37 +00:00
Piotr Padlewski
fa0e11efdd
Revert "Generating assumption loads of vptr after ctor call (fixed)"
...
Reverting because of 245721
This reverts commit 552658e2b60543c928030b09cc9b5dfcb40c3f28.
llvm-svn: 245727
2015-08-21 19:49:41 +00:00
Piotr Padlewski
910a059e42
Generating assumption loads of vptr after ctor call (fixed)
...
Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.
For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
Edit:
Fixed version because of PR24479.
http://reviews.llvm.org/D11859
llvm-svn: 245721
2015-08-21 18:28:00 +00:00
Justin Bogner
3c32c83daa
Revert "Generating assumption loads of vptr after ctor call (fixed)"
...
Bootstrap bots were failing:
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_build/6382/
http://bb.pgr.jp/builders/clang-3stage-i686-linux/builds/2969
This reverts r245264.
llvm-svn: 245267
2015-08-18 05:40:20 +00:00
Piotr Padlewski
bc7497abbb
Generating assumption loads of vptr after ctor call (fixed)
...
Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.
For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
Edit:
Fixed version because of PR24479.
http://reviews.llvm.org/D11859
llvm-svn: 245264
2015-08-18 03:52:00 +00:00
Hans Wennborg
386e442d1d
Revert r245257 "Generating assumption loads of vptr after ctor call"
...
It caused PR24479
llvm-svn: 245260
2015-08-18 00:17:58 +00:00
Piotr Padlewski
a3f6f9477b
Generating assumption loads of vptr after ctor call
...
Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.
For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
http://reviews.llvm.org/D11859
llvm-svn: 245257
2015-08-17 23:33:49 +00:00