Chris Lattner
92103de8ce
Cut off crazy computation. This helps PR1622 slightly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41522 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-28 04:23:55 +00:00
Devang Patel
1cd39a4f6e
Use simpler test to filter loops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41516 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 21:34:31 +00:00
David Greene
f1355a55f8
Update InvokeInst to work like CallInst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41506 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 19:04:21 +00:00
Rafael Espindola
44c8265cf8
Add a comment about using libc memset/memcpy or generating inline code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41502 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 17:48:26 +00:00
Dan Gohman
e9c8fa095e
Make DAGCombiner's global alias analysis query more precise in the case
...
where both pointers have non-zero offsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41491 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 16:32:11 +00:00
Dan Gohman
5f43f92c69
If the source and destination pointers in an llvm.memmove are known
...
to not alias each other, it can be translated as an llvm.memcpy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41489 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 16:26:13 +00:00
Dan Gohman
e3784951af
Change comments to refer to @malloc and @free instead of %malloc and %free.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41488 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 16:11:48 +00:00
Duncan Sands
6590b0457c
There is an impedance matching problem between LLVM and
...
gcc exception handling: if an exception unwinds through
an invoke, then execution must branch to the invoke's
unwind target. We previously tried to enforce this by
appending a cleanup action to every selector, however
this does not always work correctly due to an optimization
in the C++ unwinding runtime: if only cleanups would be
run while unwinding an exception, then the program just
terminates without actually executing the cleanups, as
invoke semantics would require. I was hoping this
wouldn't be a problem, but in fact it turns out to be the
cause of all the remaining failures in the LLVM testsuite
(these also fail with -enable-correct-eh-support, so turning
on -enable-eh didn't make things worse!). Instead we need
to append a full-blown catch-all to the end of each
selector. The correct way of doing this depends on the
personality function, i.e. it is language dependent, so
can only be done by gcc. Thus this patch which generalizes
the eh.selector intrinsic so that it can handle all possible
kinds of action table entries (before it didn't accomodate
cleanups): now 0 indicates a cleanup, and filters have to be
specified using the number of type infos plus one rather than
the number of type infos. Related gcc patches will cause
Ada to pass a cleanup (0) to force the selector to always
fire, while C++ will use a C++ catch-all (null).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41484 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 15:47:50 +00:00
Dan Gohman
81975f6dfd
Add explicit keywords and remove spurious trailing semicolons.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41482 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 14:50:10 +00:00
Rafael Espindola
6b83b5d1ae
call libc memcpy/memset if array size is bigger then threshold.
...
Coping 100MB array (after a warmup) shows that glibc 2.6.1 implementation on
x86-64 (core 2) is 30% faster (from 0.270917s to 0.188079s)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41479 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 10:18:20 +00:00
Anton Korobeynikov
9f528e6280
Don't promote volatile loads/stores. This is needed (for example) to handle setjmp/longjmp properly.
...
This fixes PR1520.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41461 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-26 21:43:30 +00:00
Owen Anderson
5dfcf4318a
Don't DSe volatile stores.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41456 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-26 21:14:47 +00:00
Dale Johannesen
e6c1742914
Revise per review comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41409 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-26 01:18:27 +00:00
Dale Johannesen
87503a63d5
Add APFloat interface to ConstantFPSDNode. Change
...
over uses in DAGCombiner. Fix interfaces to work
with APFloats.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41407 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-25 22:10:57 +00:00
Devang Patel
d79faee69a
Move exit condition and exit branch from exiting block into loop header and dominator info. This avoid execution of dead iteration. Loop is already filter in the beginning such that this change is safe.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41394 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-25 02:39:24 +00:00
Devang Patel
be97c986e1
Constant split values needs upper bound and lower bound check, just like any other split value.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41389 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-25 01:09:14 +00:00
Chris Lattner
09ec1b0583
Allow target constants to be illegal types. The target should
...
know how to handle them. This fixes
test/CodeGen/Generic/asm-large-immediate.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41388 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-25 01:00:22 +00:00
Devang Patel
4a69da9cb0
While calculating upper loop bound for first loop and lower loop bound for second loop, take care of edge cases.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41387 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-25 00:56:38 +00:00
Chris Lattner
7df31dc89b
Teach the dag scheduler to handle inline asm nodes with multi-value immediate operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41386 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-25 00:53:07 +00:00
Bill Wendling
cf4bb317ef
The personality function might need to be declared as:
...
.set Lset0,___gxx_personality_v0-.
.long Lset0
on some targets. Make it so!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41385 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-25 00:51:55 +00:00
Chris Lattner
48884cd80b
rename isOperandValidForConstraint to LowerAsmOperandForConstraint,
...
changing the interface to allow for future changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41384 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-25 00:47:38 +00:00
Dale Johannesen
12595d7b16
Poison APFloat::operator==. Replace existing uses with bitwiseIsEqual.
...
This means backing out the preceding change to Constants.cpp, alas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41378 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 22:09:56 +00:00
Dale Johannesen
8bb369b807
Use APFloat internally for ConstantFPSDNode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41372 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 20:59:15 +00:00
Chris Lattner
cd406fe123
sink clone() down the class hierarchy from CmpInst into ICmpInst/FCmpInst.
...
This eliminates a conditional on that path, and ensures ICmpInst/FCmpInst
both have an out-of-line virtual method to home the class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41371 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 20:48:18 +00:00
Devang Patel
7097e9a710
Fix regression that I caused yesterday night while adding logic to select appropriate split condition branch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41365 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 19:32:26 +00:00
Chris Lattner
90e167a908
Disable EH generation until PPC works 100%.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41360 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 16:00:15 +00:00
Chris Lattner
b23f4c5f44
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41359 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-24 15:17:59 +00:00
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
Bruno Cardoso Lopes
250a1714be
Couple of small changes. Delay Slot handle header declared.
...
Newline added after macros at function init on generated asm!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41157 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 02:05:24 +00:00
Bruno Cardoso Lopes
e88c36819e
Added InstrItinClass support for instruction formats
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41156 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 02:01:28 +00:00
Bruno Cardoso Lopes
0b2cd89a39
Branch Analysis and InsertNoop inserted into header files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41155 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 01:59:45 +00:00
Bruno Cardoso Lopes
aff42dcf5d
createMipsDelaySlotFillerPass added to mips codegen runtime
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41154 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 01:58:15 +00:00
Bruno Cardoso Lopes
35d2a47994
Added Branch Analysis support
...
Added InsertNoop support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41153 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 01:56:48 +00:00
Bruno Cardoso Lopes
de6a9411db
LowerRETURNADDR removed since it was wrong and does not have utility yet!
...
MipsAdd opcode added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41152 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 01:54:09 +00:00
Bruno Cardoso Lopes
13d1b7bbb3
InstrItineraryData support on added.
...
Added Mips3 ISA feature (needed when supporting R4000 machines)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41151 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 01:52:27 +00:00
Bruno Cardoso Lopes
9684a697d5
A Pass to insert Nops on intructions with DelaySlot
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41150 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 01:50:47 +00:00
Bruno Cardoso Lopes
a5793899e3
Mips generic fallback instruction schedule support!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41149 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 01:46:44 +00:00
Devang Patel
20d260a193
Avoid spliting loops where two split condition branches are not independent.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41148 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-18 00:00:32 +00:00
Devang Patel
96bf524b53
When one branch of condition is eliminated then head of the other
...
branch is not necessary immediate dominators of merge blcok in all cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41144 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-17 21:59:16 +00:00
Evan Cheng
3e20bba5eb
Avoid issue on 64-bit hosts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41143 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-17 18:02:22 +00:00
David Greene
fd273b6ed5
Fix GLIBCXX_DEBUG error of comparing two singular iterators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41139 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-17 15:13:55 +00:00
Evan Cheng
61bbbabe3d
If dynamic_stackalloc alignment is > stack alignment, first issue an instruction to align the stack ptr before the decrement.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41133 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 23:50:06 +00:00
Evan Cheng
4515779fa3
- If a dynamic_stackalloc alignment requirement is <= stack alignment, then the alignment argument is ignored.
...
- *Always* round up the size of the allocation to multiples of stack
alignment to ensure the stack ptr is never left in an invalid state after a dynamic_stackalloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41132 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 23:46:29 +00:00
Owen Anderson
1defe2df5d
Factor out some code into a helper function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41131 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 22:51:56 +00:00
Dan Gohman
fe5b4393d4
Fix the verification for overloaded intrinsic types. Check that they are
...
what they're supposed to be before using them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41130 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 22:06:45 +00:00
Owen Anderson
62bc33c954
Add some more comments to GVN.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41129 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 22:02:55 +00:00
Dan Gohman
0fee3ff93e
Add MVT::fAny for overloading intrinsics on floating-point types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41128 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 21:57:19 +00:00
Owen Anderson
4d13de4e3b
Cache non-local memory dependence analysis. This is a significant compile
...
time performance win in most cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41126 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 21:27:05 +00:00
Chris Lattner
fe8e14a6c9
This adds a bunch of static functions that implement unsigned
...
two's complement bignum arithmetic. They could be used to
implement much of APInt, but the idea is they are enough to
implement APFloat as well, which the current APInt interface
is not suited for.
Patch by Neil Booth!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41124 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 15:56:55 +00:00
Reid Spencer
49068bf311
Improve error handling in the linker by:
...
1. Eliminate redundant error messages. LinkInFile and LinkInArchive
already call the error() method in each case so there's no use
telling the user again that an item couldn't be linked in.
2. Improve the formatting of error messages (separating content).
3. Change the wording for the warning about unrecognized files. Make
it clear that the file is being ignored.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41121 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 07:47:30 +00:00
Evan Cheng
bc165e436b
Fix some kill info update bugs; add hidden option -disable-rematerialization to turn off remat for debugging.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41118 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 07:24:22 +00:00