Chris Lattner
71bf3e2ef9
cleanups for strlen optimizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35711 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 01:02:00 +00:00
Chris Lattner
679d7188c7
Introduce a new ReplaceCallWith method, which simplifies a lot of code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35710 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 00:42:32 +00:00
Chris Lattner
db895b82a3
fixes for strcpy optimizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35709 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 00:26:18 +00:00
Chris Lattner
7b50c8f278
Fix bugs in strncmp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35708 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 00:06:57 +00:00
Chris Lattner
ceb375ecf2
fix 3 miscompilations and several compielr crashes in strcmp optimizer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35707 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 00:01:51 +00:00
Chris Lattner
6897fe5861
Fix several nasty bugs in the strchr optimizer, this fixes
...
SimplifyLibCalls/2007-04-06-strchr-miscompile.ll and PR1307
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35706 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 23:38:55 +00:00
Chris Lattner
3d2e54bb74
testcase for PR1307
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35705 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 23:36:59 +00:00
Chris Lattner
09c11aa7f5
clean up strcat optimizer, no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35704 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 22:59:33 +00:00
Chris Lattner
c8e1741bb9
rename getConstantStringLength -> GetConstantStringInfo. Make it return
...
the start index of the array as well as the length. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35703 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 22:54:17 +00:00
Jeff Cohen
a2150f639c
Track new header file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35702 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 22:30:07 +00:00
Chris Lattner
9878d6ae3a
rearchitect the registration mechanism used by the command line option stuff.
...
This dramatically reduce the amount of memory allocated by the commandline stuff
at static init time, changing it to build local data structures when ParseCommandLineOptions
is called. In a dummy empty program that links some llvm libraries, this reduces
the number of malloc'd bytes from 4864 to 3360 on entry to main. Most of that
memory is now allocated by non-commandline related stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35701 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 21:06:55 +00:00
Chris Lattner
4802d90ca8
implement Transforms/InstCombine/malloc2.ll and PR1313
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35700 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 18:57:34 +00:00
Chris Lattner
b62eee4a69
new testcase, update old one.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35699 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 18:56:54 +00:00
Chris Lattner
3b6078f584
Switch some vectors to smallvectors. This reduces amount of malloc'd
...
memory that occurs before main starts from 5104 to 4864 bytes with a dummy
example app.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35698 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 18:36:18 +00:00
Chris Lattner
f6143ef556
Eliminate unneeded virtual methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35697 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 18:06:27 +00:00
Chris Lattner
e303ac9052
minor comment fix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35696 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 17:47:14 +00:00
Reid Spencer
5a1ebb3c99
For PR1209:
...
Implement Type class's ContainedTys without using a std::vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35693 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06 02:02:20 +00:00
Reid Spencer
11eec56a04
XFAIL this test for now. It will be a while before I can implement this
...
intrinsic properly in SDISel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35692 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 22:57:45 +00:00
Chris Lattner
6e18fa0e1c
eliminate a virtual method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35691 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 22:21:39 +00:00
Chris Lattner
af035f3460
remove the dead removeArgument method, rename Options to OptionsMap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35690 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 21:58:17 +00:00
Chris Lattner
4913bf47fd
Fix Transforms/GlobalOpt/2007-04-05-Crash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35689 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 21:09:42 +00:00
Chris Lattner
65fe9124e3
new testcase that crashes globalopt
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35688 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 21:09:29 +00:00
Dale Johannesen
285d96e63f
testcase for padding before zero-length fields.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35687 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 19:05:43 +00:00
Devang Patel
f1bc4ad1e5
New tests for Packed structs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35686 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 17:14:21 +00:00
Devang Patel
13eb4c6587
New tests for Packed structs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35685 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 17:07:48 +00:00
Chris Lattner
c8c5752b2f
run a late dce pass to clean up extra cruft.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35684 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 16:50:20 +00:00
Anton Korobeynikov
56f54d431b
Fix test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35683 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 16:43:09 +00:00
Chris Lattner
db8918a98f
Add a helper class (APSInt) which can represent an APInt along with sign
...
information. This is useful when a value does have a sign associated with
it. This shouldn't be used generally in LLVM for mid-level optimizer stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35681 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 05:20:11 +00:00
Chris Lattner
1984a32867
Use a worklist-driven algorithm instead of a recursive one.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35680 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 01:27:02 +00:00
Reid Spencer
3f108cb555
Change the bit_part_select (non)implementation from "return 0" to abort.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35679 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 01:20:18 +00:00
Reid Spencer
addd11d98e
Implement the llvm.bit.part_select.iN.iN.iN overloaded intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35678 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 23:48:25 +00:00
Reid Spencer
93a8415cef
Ignore some things generated by bugpoint.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35677 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 22:47:38 +00:00
Lauro Ramos Venancio
ecd276a498
Fix release build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35676 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 22:13:39 +00:00
Jeff Cohen
00361004a6
Fix some FreeBSD/amd64 regressions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35675 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 22:07:44 +00:00
Reid Spencer
6733a1661a
Squelch a warning about mismatch between sign of constant and sign of return
...
type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35674 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 22:07:24 +00:00
Anton Korobeynikov
a6d3f1341d
Fix test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35673 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 21:28:36 +00:00
Anton Korobeynikov
5502bf67cd
Properly emit range comparisons for switch cases, where neighbour cases
...
go to the same destination. Now we're producing really good code for
switch-lower-feature.ll testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35672 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 21:14:49 +00:00
Jeff Cohen
bbf6f5751d
Any add is wrong, regardless of type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35671 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 20:40:44 +00:00
Jeff Cohen
bd8987285b
Get it right...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35670 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 20:35:31 +00:00
Dale Johannesen
50781eacd5
Test for transformConstExprCastCall fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35669 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 19:18:16 +00:00
Dale Johannesen
16ff304e2c
Prevent transformConstExprCastCall from generating conversions that assert
...
elsewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35668 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 19:16:42 +00:00
Reid Spencer
8d8e1eb284
Remove the part_set intrinsic. It won't get implemented as an intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35667 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 19:15:59 +00:00
Chris Lattner
12ba806c5d
stringmap memory managed with malloc now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35666 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 17:24:28 +00:00
Jeff Cohen
86796bec50
Fix 2007-04-04-BadFoldBitcastIntoMalloc.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35665 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 16:58:57 +00:00
Jeff Cohen
451994334d
Add new test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35664 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 16:11:23 +00:00
Evan Cheng
1c89bd10b3
Better still.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35663 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 08:49:40 +00:00
Evan Cheng
43cbb2d33d
Fix test case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35662 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 07:41:33 +00:00
Evan Cheng
96598233fc
These got better.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35661 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 07:41:15 +00:00
Evan Cheng
9193514e2e
Re-materialize all loads from fixed stack slots.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35660 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 07:40:01 +00:00
Evan Cheng
a96c5b3040
Add isFixedObjectIndex. It returns true if the stack slot index is for a fixed stack object.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35659 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 07:38:25 +00:00