Devang Patel
4259fe3281
It is not safe to execute split condition's true branch first all the time. If split
...
condition predicate is GT or GE then execute false branch first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41358 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 06:17:19 +00:00
Devang Patel
c830aee8e8
Reject ICMP_NE as index split condition.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41357 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 06:02:25 +00:00
Devang Patel
b88e4200cf
Tightenup loop filter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41356 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 05:36:56 +00:00
Devang Patel
7237d1167a
Remove incomplete cost analysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41354 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 05:21:13 +00:00
Dale Johannesen
d3b51fd170
Revised per review feedback from previous patch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41353 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 05:08:11 +00:00
Chris Lattner
ada530b4f5
silence some warnings in an optimized build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41352 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 03:02:34 +00:00
Dale Johannesen
343e770983
Change internal representation of ConstantFP to use APFloat.
...
Interface to rest of the compiler unchanged, as yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41348 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 00:56:33 +00:00
Chris Lattner
9e43d6316f
add some notes on really poor codegen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41319 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-23 15:22:07 +00:00
Chris Lattner
aabd0359a3
new example
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41318 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-23 15:16:03 +00:00
Anton Korobeynikov
2f597bd09e
Perform correct codegen for eh_dwarf_cfa intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41316 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-23 07:21:06 +00:00
Chris Lattner
9132a2b818
rename APInt::toString -> toStringUnsigned for symmetry with toStringSigned()
...
Add an APSInt::toString() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41309 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-23 05:15:32 +00:00
Devang Patel
40fc353a0d
Remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41295 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22 21:07:41 +00:00
Devang Patel
a24d918063
Fix typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41292 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22 20:55:18 +00:00
Devang Patel
a8644e306d
Cosmetic change
...
"True Loop" and "False Loop" naming terminology to refer two loops
after loop cloning is confusing. Instead just use A_Loop and B_Loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41287 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22 19:33:29 +00:00
Andrew Lenharth
b753a9bb62
move this check. ppc outputs .no_dead_strip properly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41286 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22 19:33:11 +00:00
Bill Wendling
adbda021e7
Add the PCSymbol for Darwin x86 platforms.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41284 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22 18:44:05 +00:00
Devang Patel
dc52395353
Refactor loop condition check in a separate function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41282 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22 18:27:01 +00:00
Devang Patel
ea0fa97334
Fix thinko.
...
Starting value of second loop's induction variable can not be lower
then starting value of original loop's induction variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41280 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-22 18:07:47 +00:00
Devang Patel
0b8e02b704
Rename bunch of variables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41250 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 21:12:02 +00:00
Devang Patel
60cbab4252
Preserve LCSSA.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41246 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 19:47:46 +00:00
Devang Patel
e79bad66e0
Use SmallVector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41230 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 16:54:51 +00:00
Devang Patel
7c6c55db4d
No need to hardcode SmallVector size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41228 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 16:39:43 +00:00
Bruno Cardoso Lopes
84f47c52fd
InlineAsm asm support for integer registers added
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41225 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 16:09:25 +00:00
Bruno Cardoso Lopes
edeede2bb5
Instruction Itinerary attribution fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41224 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 16:06:45 +00:00
Chris Lattner
5498405e2d
Fix potentially N^2 behavior handling arrays with many of the
...
same value which get RAUW'd. This speeds up reading the .bc
file in PR1616 from 852s to 0.19s on my G5 with a debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41209 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 00:55:23 +00:00
Anton Korobeynikov
095546ce34
Use only 1 knob to enable exceptions on Darwin :).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41208 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 00:31:30 +00:00
Devang Patel
b7211a2ce1
Use SmallVector instead of std::vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41207 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 00:31:24 +00:00
Chris Lattner
2d691333ac
simplify code, improve a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41205 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-21 00:21:07 +00:00
Devang Patel
1cc2ec8d20
s/ExitBlock/ExitingBlock/g
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41204 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 23:51:18 +00:00
Chris Lattner
b39cdde41d
initial checkin of Neil's APFloat work.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41203 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 22:49:32 +00:00
Anton Korobeynikov
96fea337d2
- Use correct header for SCEV inside LoopPass.cpp
...
- Move SCEVExpander::expand() out-of-line workarounding possible toolchain bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41197 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 21:17:26 +00:00
Devang Patel
ebc5fea695
Replace indunction variable with split value in loop body.
...
This fixes art miscompile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41195 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 20:49:01 +00:00
Devang Patel
d651f657f2
Do not split loops rejected by processOneIterationLoop().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41194 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 20:24:15 +00:00
Dan Gohman
8d1bfad00b
Minor cleanups to reduce some spurious differences between different
...
scheduler implementations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41191 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 19:28:38 +00:00
Dan Gohman
ef1af7d6d5
Add Type::isIntOrIntVector, like Type::isFPOrFPVector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41190 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 19:25:59 +00:00
Dan Gohman
7abff31957
When Intrinsic::getName is constructing names for overloaded intrinsics,
...
use the ValueType name instead of the llvm type name, to match what the
verifier expects. For integers these are the same, but for floating-point
values the intrinsics use f32/f64 instead of float/double.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41189 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 19:23:34 +00:00
Rafael Espindola
21485be444
Partial implementation of calling functions with byval arguments:
...
*) The needed information is propagated to the DAG
*) The X86-64 backend detects it and aborts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41179 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 15:18:24 +00:00
Chris Lattner
cf8ba696b3
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41178 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-20 02:14:33 +00:00
Chris Lattner
97f8b0900a
Fix PR1611 - Visibility should be ignored for a declaration
...
when a definition's visibility is different. Likewise, the
visibility of two declarations mismatching is not an error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41174 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-19 22:22:54 +00:00
Chris Lattner
3aa6066d01
simplify code and print visibility for declarations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41173 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-19 22:15:26 +00:00
Nick Lewycky
6694e31c49
Oops, remove assert that wasn't meant to be committed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41170 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 23:21:28 +00:00
Nick Lewycky
c721223f73
Never insert duplicate edges.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41169 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 23:18:03 +00:00
Nick Lewycky
af5cbc82bb
Typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41168 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 15:08:56 +00:00
Chris Lattner
0162c1815e
Compute the argument list as lazily as possible. This ensures that clients
...
that don't use it don't have to pay the memory cost for the arguments. This
allows us to avoid creating Argument nodes for many prototypes and for clients
who lazily deserialize code from a bytecode file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41166 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 06:14:52 +00:00
Chris Lattner
453eed147a
use a nicer accessor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41165 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 06:13:19 +00:00
Evan Cheng
571c4788d5
Fold C ? 0 : 1 to ~C or zext(~C) or trunc(~C) depending the types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41163 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 05:57:05 +00:00
Bruno Cardoso Lopes
9710536b44
MipsHi now has ouput flag
...
MipsAdd SDNode created to add support to an Add opcode which supports input flag
Added an instruction itinerary to all instruction classes
Added branches with zero cond codes
Now call clobbers all non-callee saved registers
Call w/ register support added
Added DelaySlot to branch and load instructions
Added patterns to handle all setcc, brcond/setcc and MipsAdd instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41161 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 02:37:46 +00:00
Bruno Cardoso Lopes
055c7eb4a4
Fixed stack frame addressing bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41160 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 02:19:09 +00:00
Bruno Cardoso Lopes
6d32ca0762
support for Schedule included on Mips.td
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41159 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 02:18:07 +00:00
Bruno Cardoso Lopes
7ff6fa2503
Removed LowerRETURADDR, fixed small bug into LowerRET, LowerGlobalAddress
...
fixed to generate instructions (add, lui) glued!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41158 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 02:16:30 +00:00