Dan Gohman [Mon, 27 Aug 2007 16:26:13 +0000 (16:26 +0000)]
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
Dan Gohman [Mon, 27 Aug 2007 16:11:48 +0000 (16:11 +0000)]
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
Duncan Sands [Mon, 27 Aug 2007 15:47:50 +0000 (15:47 +0000)]
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
Dan Gohman [Mon, 27 Aug 2007 14:50:10 +0000 (14:50 +0000)]
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
Rafael Espindola [Mon, 27 Aug 2007 10:18:20 +0000 (10:18 +0000)]
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
Anton Korobeynikov [Sun, 26 Aug 2007 21:43:30 +0000 (21:43 +0000)]
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
Owen Anderson [Sun, 26 Aug 2007 21:14:47 +0000 (21:14 +0000)]
Don't DSe volatile stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41456
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sun, 26 Aug 2007 01:18:27 +0000 (01:18 +0000)]
Revise per review comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41409
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sat, 25 Aug 2007 22:10:57 +0000 (22:10 +0000)]
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
Devang Patel [Sat, 25 Aug 2007 02:39:24 +0000 (02:39 +0000)]
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
Devang Patel [Sat, 25 Aug 2007 01:09:14 +0000 (01:09 +0000)]
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
Chris Lattner [Sat, 25 Aug 2007 01:00:22 +0000 (01:00 +0000)]
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
Devang Patel [Sat, 25 Aug 2007 00:56:38 +0000 (00:56 +0000)]
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
Chris Lattner [Sat, 25 Aug 2007 00:53:07 +0000 (00:53 +0000)]
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
Bill Wendling [Sat, 25 Aug 2007 00:51:55 +0000 (00:51 +0000)]
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
Chris Lattner [Sat, 25 Aug 2007 00:47:38 +0000 (00:47 +0000)]
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
Dale Johannesen [Sat, 25 Aug 2007 00:40:41 +0000 (00:40 +0000)]
Comment out declaration of operator== (undefined).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41383
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sat, 25 Aug 2007 00:36:22 +0000 (00:36 +0000)]
Test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41382
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sat, 25 Aug 2007 00:31:24 +0000 (00:31 +0000)]
Add self
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41381
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 24 Aug 2007 23:23:23 +0000 (23:23 +0000)]
Rename llvm-gcc4 to llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41380
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 24 Aug 2007 22:09:56 +0000 (22:09 +0000)]
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
Dale Johannesen [Fri, 24 Aug 2007 20:59:15 +0000 (20:59 +0000)]
Use APFloat internally for ConstantFPSDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41372
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Aug 2007 20:48:18 +0000 (20:48 +0000)]
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
Devang Patel [Fri, 24 Aug 2007 19:32:26 +0000 (19:32 +0000)]
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
Chris Lattner [Fri, 24 Aug 2007 16:00:15 +0000 (16:00 +0000)]
Disable EH generation until PPC works 100%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41360
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Aug 2007 15:17:59 +0000 (15:17 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41359
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 24 Aug 2007 06:17:19 +0000 (06:17 +0000)]
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
Devang Patel [Fri, 24 Aug 2007 06:02:25 +0000 (06:02 +0000)]
Reject ICMP_NE as index split condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41357
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 24 Aug 2007 05:36:56 +0000 (05:36 +0000)]
Tightenup loop filter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41356
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 24 Aug 2007 05:21:13 +0000 (05:21 +0000)]
Remove incomplete cost analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41354
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 24 Aug 2007 05:08:11 +0000 (05:08 +0000)]
Revised per review feedback from previous patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Aug 2007 03:02:34 +0000 (03:02 +0000)]
silence some warnings in an optimized build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41352
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 24 Aug 2007 00:56:33 +0000 (00:56 +0000)]
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
Duncan Sands [Thu, 23 Aug 2007 17:22:50 +0000 (17:22 +0000)]
Fix this testcase: there are two matches for
llvm.cttz.i64 because of the declaration of
the intrinsic. Also, emit-llvm is automatic
and doesn't need to be specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41326
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 23 Aug 2007 15:22:07 +0000 (15:22 +0000)]
add some notes on really poor codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41319
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 23 Aug 2007 15:16:03 +0000 (15:16 +0000)]
new example
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41318
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 23 Aug 2007 07:21:06 +0000 (07:21 +0000)]
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
Chris Lattner [Thu, 23 Aug 2007 05:21:48 +0000 (05:21 +0000)]
default this to radix 10 like the toString(Un)Signed methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41311
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 23 Aug 2007 05:20:48 +0000 (05:20 +0000)]
Avoid hiding issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41310
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 23 Aug 2007 05:15:32 +0000 (05:15 +0000)]
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
Duncan Sands [Wed, 22 Aug 2007 23:39:54 +0000 (23:39 +0000)]
Implement review feedback on trampoline documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41304
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 22 Aug 2007 21:07:41 +0000 (21:07 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41295
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 22 Aug 2007 20:55:18 +0000 (20:55 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41292
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 22 Aug 2007 19:36:31 +0000 (19:36 +0000)]
update test to check that codegen works with llvm.used in llvm.metadata section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41289
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 22 Aug 2007 19:33:29 +0000 (19:33 +0000)]
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
Andrew Lenharth [Wed, 22 Aug 2007 19:33:11 +0000 (19:33 +0000)]
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
Bill Wendling [Wed, 22 Aug 2007 18:44:05 +0000 (18:44 +0000)]
Add the PCSymbol for Darwin x86 platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41284
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 22 Aug 2007 18:27:01 +0000 (18:27 +0000)]
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
Devang Patel [Wed, 22 Aug 2007 18:07:47 +0000 (18:07 +0000)]
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
Bill Wendling [Wed, 22 Aug 2007 07:26:30 +0000 (07:26 +0000)]
Testcase for llvm.c* intrinsic failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41268
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 22 Aug 2007 05:58:22 +0000 (05:58 +0000)]
Test handling of complex constants as lvalues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41266
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 21 Aug 2007 22:40:44 +0000 (22:40 +0000)]
Dror GCCLibraries: they are obsolete since 2.0 release. This also reduces number of licenses used in LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41257
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 21 Aug 2007 21:12:02 +0000 (21:12 +0000)]
Rename bunch of variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41250
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 21 Aug 2007 19:47:46 +0000 (19:47 +0000)]
Preserve LCSSA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41246
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 21 Aug 2007 16:54:51 +0000 (16:54 +0000)]
Use SmallVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41230
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 21 Aug 2007 16:39:43 +0000 (16:39 +0000)]
No need to hardcode SmallVector size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41228
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 21 Aug 2007 16:09:25 +0000 (16:09 +0000)]
InlineAsm asm support for integer registers added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41225
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 21 Aug 2007 16:06:45 +0000 (16:06 +0000)]
Instruction Itinerary attribution fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41224
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Tue, 21 Aug 2007 14:57:58 +0000 (14:57 +0000)]
Doxygenize comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Aug 2007 00:55:23 +0000 (00:55 +0000)]
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
Anton Korobeynikov [Tue, 21 Aug 2007 00:31:30 +0000 (00:31 +0000)]
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
Devang Patel [Tue, 21 Aug 2007 00:31:24 +0000 (00:31 +0000)]
Use SmallVector instead of std::vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41207
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 Aug 2007 00:21:07 +0000 (00:21 +0000)]
simplify code, improve a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41205
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 20 Aug 2007 23:51:18 +0000 (23:51 +0000)]
s/ExitBlock/ExitingBlock/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Aug 2007 22:49:32 +0000 (22:49 +0000)]
initial checkin of Neil's APFloat work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Aug 2007 21:31:08 +0000 (21:31 +0000)]
clarify precedence, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41199
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Aug 2007 21:22:48 +0000 (21:22 +0000)]
add reverse iterators to smallvector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41198
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Mon, 20 Aug 2007 21:17:26 +0000 (21:17 +0000)]
- 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
Devang Patel [Mon, 20 Aug 2007 20:49:01 +0000 (20:49 +0000)]
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
Devang Patel [Mon, 20 Aug 2007 20:24:15 +0000 (20:24 +0000)]
Do not split loops rejected by processOneIterationLoop().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41194
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 20 Aug 2007 19:54:01 +0000 (19:54 +0000)]
Add FilteredPassNameParser along with PassArgFilter to filter passes
based on their Arg members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41192
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 20 Aug 2007 19:28:38 +0000 (19:28 +0000)]
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
Dan Gohman [Mon, 20 Aug 2007 19:25:59 +0000 (19:25 +0000)]
Add Type::isIntOrIntVector, like Type::isFPOrFPVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41190
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 20 Aug 2007 19:23:34 +0000 (19:23 +0000)]
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
Duncan Sands [Mon, 20 Aug 2007 17:14:02 +0000 (17:14 +0000)]
Fix this test for gcc-4.2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41187
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 20 Aug 2007 15:18:24 +0000 (15:18 +0000)]
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
Chris Lattner [Mon, 20 Aug 2007 02:14:33 +0000 (02:14 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41178
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 Aug 2007 00:56:12 +0000 (00:56 +0000)]
update the xcode project file, patch by Gordon Henriksen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41175
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Aug 2007 22:22:54 +0000 (22:22 +0000)]
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
Chris Lattner [Sun, 19 Aug 2007 22:15:26 +0000 (22:15 +0000)]
simplify code and print visibility for declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41173
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 Aug 2007 20:45:10 +0000 (20:45 +0000)]
add mips target to builder. I'd appreciate it if someone with
the right version of autoconf could regenerate the configure script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41172
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 18 Aug 2007 23:21:28 +0000 (23:21 +0000)]
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
Nick Lewycky [Sat, 18 Aug 2007 23:18:03 +0000 (23:18 +0000)]
Never insert duplicate edges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41169
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 18 Aug 2007 15:08:56 +0000 (15:08 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41168
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 18 Aug 2007 14:46:55 +0000 (14:46 +0000)]
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41167
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 18 Aug 2007 06:14:52 +0000 (06:14 +0000)]
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
Chris Lattner [Sat, 18 Aug 2007 06:13:19 +0000 (06:13 +0000)]
use a nicer accessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41165
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 18 Aug 2007 06:11:57 +0000 (06:11 +0000)]
Test dag xform: Fold C ? 0 : 1 to ~C or zext(~C) or trunc(~C)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41164
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 18 Aug 2007 05:57:05 +0000 (05:57 +0000)]
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
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:37:46 +0000 (02:37 +0000)]
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
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:19:09 +0000 (02:19 +0000)]
Fixed stack frame addressing bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41160
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:18:07 +0000 (02:18 +0000)]
support for Schedule included on Mips.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41159
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:16:30 +0000 (02:16 +0000)]
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
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:05:24 +0000 (02:05 +0000)]
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
Bruno Cardoso Lopes [Sat, 18 Aug 2007 02:01:28 +0000 (02:01 +0000)]
Added InstrItinClass support for instruction formats
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41156
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:59:45 +0000 (01:59 +0000)]
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
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:58:15 +0000 (01:58 +0000)]
createMipsDelaySlotFillerPass added to mips codegen runtime
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41154
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:56:48 +0000 (01:56 +0000)]
Added Branch Analysis support
Added InsertNoop support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41153
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:54:09 +0000 (01:54 +0000)]
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
Bruno Cardoso Lopes [Sat, 18 Aug 2007 01:52:27 +0000 (01:52 +0000)]
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