Duncan Sands
83ec4b6711
Wrap MVT::ValueType in a struct to get type safety
...
and better control the abstraction. Rename the type
to MVT. To update out-of-tree patches, the main
thing to do is to rename MVT::ValueType to MVT, and
rewrite expressions like MVT::getSizeInBits(VT) in
the form VT.getSizeInBits(). Use VT.getSimpleVT()
to extract a MVT::SimpleValueType for use in switch
statements (you will get an assert failure if VT is
an extended value type - these shouldn't exist after
type legalization).
This results in a small speedup of codegen and no
new testsuite failures (x86-64 linux).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52044 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-06 12:08:01 +00:00
Zhou Sheng
cc41940dff
As Chris suggested, handle the situation if ShAmt larger than BitWidth,
...
otherwise, opt might crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52041 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-06 08:32:05 +00:00
Evan Cheng
9c3c221364
Refine stack slot interval weight computation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52040 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-06 07:54:39 +00:00
Anton Korobeynikov
b0a882f540
Turn stdout into binary mode during bitcode emission.
...
This is necessary on windows targets, since stdout is in text mode there.
Patch by Julien Lerouge!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52038 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-06 07:24:01 +00:00
Anton Korobeynikov
232a4ab77a
Provide hooks for libgcc symbols' address resolution inside lli on mingw32.
...
Patch by Julien Lerouge!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52037 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-06 07:20:07 +00:00
Bruno Cardoso Lopes
0af5e095ad
Added custom isel for MUL, SDIVREM, UDIVREM, SMUL_LOHI and UMUL_LOHI nodes
...
MUL is not anymore directly matched because its a pseudoinstruction.
LogicI class fixed to zero-extend immediates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52036 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-06 06:37:31 +00:00
Bruno Cardoso Lopes
07cec75913
Added custom SELECT_CC lowering
...
Added special isel for ADDE,SUBE and new patterns to match SUBC,ADDC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52031 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-06 00:58:26 +00:00
Dan Gohman
836bfcd689
Revert 52002.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52030 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 23:57:06 +00:00
Chris Lattner
5c490610a1
Expose a public interface to this pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52029 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 23:45:18 +00:00
Chris Lattner
15ccbf59a9
Let libcall semantics decide whether it knows about functions
...
with definitions or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52028 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 23:38:34 +00:00
Evan Cheng
6fc5b48f64
Warn of potential violations of strict aliasing rules.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52027 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 23:00:08 +00:00
Evan Cheng
1b022cf688
Don't break strict aliasing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52026 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 22:59:21 +00:00
Devang Patel
83a15d7209
Describe loop index split.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52021 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 21:44:00 +00:00
Dan Gohman
6e60ea42e8
Wording fixes. Thanks Bill!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52017 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 18:45:33 +00:00
Owen Anderson
417dc2f595
Remove debugging code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52016 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 18:43:34 +00:00
Gabor Greif
96a89c70df
fix typos, tweak stuff, make it to validate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52015 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 18:39:01 +00:00
Owen Anderson
a9efb264b0
Use the newly created helper on LiveIntervals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52013 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 17:22:53 +00:00
Owen Anderson
c4dc132c8a
Add a helper for constructing new live ranges that ended from an instruction to the end of its MBB.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52012 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 17:15:43 +00:00
Dan Gohman
4e16d4000b
Move i128 on x86-64 from the codegen section to the x86-specific section.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52010 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 16:15:39 +00:00
Dan Gohman
9c399265cb
Add a note about improved alignment detection.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52009 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 15:49:29 +00:00
Dan Gohman
809d91e306
Add a note mentioning --view-sunit-dags improvements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52008 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 15:46:36 +00:00
Dan Gohman
85765e62dd
Expand the bullet item about i128 support and APInt usage in codegen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52007 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 15:43:11 +00:00
Zhou Sheng
b73afcf6dc
Add a test case for opt -instcombine bug fix in revision 52003.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52004 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 14:25:11 +00:00
Zhou Sheng
17183ab973
If BitWidth equals to ShtAmt, the RHSKnownZero[BitWidth-ShiftAmt-1] will
...
crash the opt. Just fix this.
Test case in llvm/test/Transforms/InstCombine/2008-06-05-ashr-crash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52003 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 14:23:44 +00:00
Matthijs Kooijman
411e6a5efb
Change the Verifier to support returning first class aggregrates.
...
Add a testcase for functions returning first class aggregrates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52002 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 14:00:36 +00:00
Zhou Sheng
b499c86331
Add a test case for APInt bug fix in r51999.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52000 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 13:42:21 +00:00
Zhou Sheng
bfde7d6b9e
As comments said, for negative value, the arithmetic
...
over-shift-right should return -1. So here it should be signed-extended,
when bitwidth larger than 64.
test case: llvm/test/ExecutionEngine/2008-06-05-APInt-OverAShr.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51999 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 13:27:38 +00:00
Nick Lewycky
ef7d2bb8d3
Escape "$#".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51998 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 12:54:44 +00:00
Matthijs Kooijman
02518140ac
Learn ScalarReplAggregrates how stores and loads of first class aggregrates
...
work and how to replace them into individual values. Also, when trying to
replace an aggregrate that is used by load or store with a single (large)
integer, don't crash (but don't replace the aggregrate either).
Also adds a testcase for both structs and arrays.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51997 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 12:51:53 +00:00
Gordon Henriksen
1494bccef7
Move this to the proper section.
...
I misread Optimizer Improvements as Other Improvements for some reason.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51996 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 12:51:50 +00:00
Gordon Henriksen
4ca93d004b
Adding release notes for bindings improvements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51995 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 12:48:32 +00:00
Matthijs Kooijman
47c6fd7317
Let StructRetPromotion check if all if its users are really calls or invokesn,
...
not other instructions. This fixes a crash with the added testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51992 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 08:57:20 +00:00
Matthijs Kooijman
257da0a7fc
Let StructRetPromotion check if it's users are really calling it and not
...
passing its pointer. Fixes test with added testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51991 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 08:48:32 +00:00
Matthijs Kooijman
41335411a8
Use use_iterator::getOperandNo instead of CallSite::hasArgument to check if a
...
function is passed as an argument instead of called. Also do this check a bit
earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51990 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 08:34:25 +00:00
Matthijs Kooijman
045b3f7bf1
* Make CallSite::hasArgument const and let it take a const parameter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51989 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 08:04:58 +00:00
Chris Lattner
77d29b1f62
more updates and random notes, including changes up through Week-of-Mon-20080324.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51988 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 08:02:49 +00:00
Matthijs Kooijman
845f524c25
Update comments and documentation to reflect that GCSE and ValueNumbering are
...
deprecated by the GVN and GVNPRE passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51983 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 07:55:49 +00:00
Bill Wendling
67944fc427
Cast because I think I know what I'm doing. There are warnings about converting
...
from 64-bit to 32-bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51982 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 07:35:27 +00:00
Matthijs Kooijman
cfd5b7d18b
Fix 80 column violations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51981 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 07:26:15 +00:00
Bill Wendling
12c846f5d2
Remove unused parameter. Some clients might use -Werror when compiling and
...
cause drama.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51980 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 07:24:08 +00:00
Chris Lattner
bc5786ba47
add llvmc2 notes, stack realignment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51979 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 06:57:39 +00:00
Chris Lattner
5733b2743c
various status updates.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51978 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 06:35:40 +00:00
Chris Lattner
791f77b2d4
Start adding 2.3 content.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51977 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-05 06:25:56 +00:00
Evan Cheng
fb4db316d8
Fix a memcpy lowering bug. Even though the memcpy alignment is smaller than the desired alignment, the frame destination alignment may still be larger than the desired alignment. Don't change its alignment to something smaller.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51970 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04 23:37:54 +00:00
Owen Anderson
10a05bfff0
Remove unneeded #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04 18:28:10 +00:00
Chris Lattner
da021aa410
Fix inst_iterator example.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04 18:20:42 +00:00
Evan Cheng
75bb734f1d
Oops. Should not be enabled by default.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51953 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04 18:09:20 +00:00
Chris Lattner
67f631dfd5
Rewrite a bunch of the CBE's inline asm code, giving it the
...
ability to handle indirect input operands. This fixes PR2407.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51952 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04 18:03:28 +00:00
Owen Anderson
38b425020b
Correctly construct live intervals for the copies we inserted into the predecessors of a block containing a PHI.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51950 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04 17:55:58 +00:00
Evan Cheng
7a315e865a
Revert this.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51949 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-04 17:21:44 +00:00