Commit Graph

24851 Commits

Author SHA1 Message Date
Evan Cheng ac4f66ff24 -enable-unsafe-fp-math implies -enable-finite-only-fp-math
llvm-svn: 28437
2006-05-23 18:18:46 +00:00
Vladimir Prus 5b917e48a2 Make class comment visible in Doxygen.
llvm-svn: 28436
2006-05-23 15:32:15 +00:00
Vladimir Prus df1d439849 Fix missing include
llvm-svn: 28435
2006-05-23 13:43:15 +00:00
Evan Cheng a9194a8dbd Added a test case for FP equality check.
llvm-svn: 28434
2006-05-23 06:41:23 +00:00
Evan Cheng 1c5b7d12df Incorrect SETCC CondCode used for FP comparisons.
llvm-svn: 28433
2006-05-23 06:40:47 +00:00
Evan Cheng ea1450742e Added option -enable-finite-only-fp-math. When on, the codegen can assume that
FP arithmetic arguments and results are never NaNs or +=Infs. This includes
ignoring parity flag (PF) when checking for FP equality.

llvm-svn: 28432
2006-05-23 06:39:12 +00:00
Rafael Espindola 27f8bdc7e5 implement minimal versions of
ARMAsmPrinter::runOnMachineFunction
LowerFORMAL_ARGUMENTS
ARMInstrInfo::isMoveInstr

llvm-svn: 28431
2006-05-23 02:48:20 +00:00
Chris Lattner 17d145eb2c Describe how to add a custom test.
llvm-svn: 28430
2006-05-23 01:40:20 +00:00
Chris Lattner 15f17eca3d Wrap long lines fix typo
llvm-svn: 28429
2006-05-23 01:25:11 +00:00
Evan Cheng 26ba25f910 A isel deficiency.
llvm-svn: 28427
2006-05-22 05:54:49 +00:00
Reid Spencer cb10fdc74d For PR784:
Support Win32 platforms for llvm-gcc path. Patch by Anton Korobeynikov

llvm-svn: 28426
2006-05-21 10:40:20 +00:00
Evan Cheng 85b6232b53 Back out indirect branch load folding hack. It broke some tests.
llvm-svn: 28425
2006-05-21 06:28:50 +00:00
Chris Lattner 80b0a70911 Add a note
llvm-svn: 28424
2006-05-21 03:57:07 +00:00
Owen Anderson 80b1b4d41e Make TargetData strings less redundant.
llvm-svn: 28423
2006-05-20 23:28:54 +00:00
Chris Lattner d0622b6894 Silence a bogus gcc warning
llvm-svn: 28422
2006-05-20 23:14:03 +00:00
Chris Lattner 482fb65144 Fix a parsing bug that caused 7 llvm-test regressions on PPC last night.
I'm suprised it didn't cause more!

llvm-svn: 28421
2006-05-20 21:16:59 +00:00
Evan Cheng 401049ce33 - Use of load's chain result should be redirected to load's chain operand.
If it reads the chain result of the call, then the use, callseq_start,
  and call would form a cycle!
- Don't forget handle node replacement!
- There could also be a TokenFactor between the load and the callseq_start.

llvm-svn: 28420
2006-05-20 09:21:39 +00:00
Evan Cheng 0643f902be A new entry
llvm-svn: 28419
2006-05-20 07:44:53 +00:00
Evan Cheng a26c451fa2 Missing break statements.
llvm-svn: 28418
2006-05-20 07:44:28 +00:00
Evan Cheng b9ac06bb33 Remove unused patterns.
llvm-svn: 28417
2006-05-20 01:40:16 +00:00
Evan Cheng f838cfcfbe Handle indirect call which folds a load manually. This never matches by
the TableGen generated code since the load's chain result is read by
the callseq_start node.

llvm-svn: 28416
2006-05-20 01:36:52 +00:00
Owen Anderson f7db631b7d Sparc is big-endian.
llvm-svn: 28415
2006-05-20 00:49:30 +00:00
Owen Anderson 88812b5c0a Make all of the TargetMachine subclasses use the new string TargetData methods.
This is part of the on-going work on PR 761.

llvm-svn: 28414
2006-05-20 00:24:56 +00:00
Chris Lattner c4e9aff50f new testcase for csretcc
llvm-svn: 28413
2006-05-19 22:00:54 +00:00
Chris Lattner 29d2085716 Print csretcc calls like this:
call csretcc void %structret( { sbyte }* %P )

instead of this:

        callcsretcc  void %structret( { sbyte }* %P )

llvm-svn: 28412
2006-05-19 21:58:52 +00:00
Chris Lattner 620895a47a Fix misencoding of calling conventions
llvm-svn: 28411
2006-05-19 21:57:37 +00:00
Chris Lattner 3ea816fa48 pretty print csretcc for calls
llvm-svn: 28410
2006-05-19 21:54:03 +00:00
Chris Lattner 01dd6df5f3 CSRet allows varargs
llvm-svn: 28409
2006-05-19 21:34:04 +00:00
Chris Lattner 5bdc7127af Asmprint csret nicely
llvm-svn: 28408
2006-05-19 21:29:57 +00:00
Chris Lattner 09c0e99dfb Regenerate
llvm-svn: 28407
2006-05-19 21:28:53 +00:00
Chris Lattner 21cffffbb0 Add support for parsing csret
llvm-svn: 28406
2006-05-19 21:28:34 +00:00
Chris Lattner ef13ee3281 csret functions can be varargs (as can target cc's). Verify restrictions on
csret functions.

llvm-svn: 28405
2006-05-19 21:25:17 +00:00
Chris Lattner 1f7f383635 Add new calling convention, as documented in LangRef.html
llvm-svn: 28404
2006-05-19 21:19:02 +00:00
Chris Lattner 95ff1953f5 New calling convention I will be adding shortly.
llvm-svn: 28403
2006-05-19 21:15:36 +00:00
Chris Lattner 29d7bded45 Add a note
llvm-svn: 28402
2006-05-19 21:01:38 +00:00
Chris Lattner b22eb6304f Add a note
llvm-svn: 28401
2006-05-19 20:55:31 +00:00
Chris Lattner 17f1f1a56c Split the SSE readme items out into their own README.
llvm-svn: 28400
2006-05-19 20:51:43 +00:00
Chris Lattner 427ea6f0a7 Split FP-stack notes out of the main readme. Next up: splitting out SSE.
llvm-svn: 28399
2006-05-19 20:45:52 +00:00
Chris Lattner 240f846495 Move a target-independent note out of the X86 readme.
llvm-svn: 28398
2006-05-19 20:45:08 +00:00
Chris Lattner d6a25a08d1 Particularly ugly code.
llvm-svn: 28397
2006-05-19 19:41:33 +00:00
Chris Lattner 4203df25b8 new testcase
llvm-svn: 28396
2006-05-19 19:34:09 +00:00
Reid Spencer 2452c94df4 Fix a doxygen problem and break lines at 80 columns
llvm-svn: 28395
2006-05-19 19:09:46 +00:00
Reid Spencer 3949d32155 Fix some doxygen usage in these headers.
llvm-svn: 28394
2006-05-19 19:07:54 +00:00
Evan Cheng feca91a516 These can be transformed into lea as well. Not that we use this feature
currently...

llvm-svn: 28393
2006-05-19 18:43:41 +00:00
Evan Cheng 7b8feb27c8 - Use exact-width integer types, e.g. int32_t, to avoid confusion.
- Fix a couple of minor bugs in i16immSExt8 and i16immZExt8.
- Added loadiPTR fragment used for indirect jumps and calls.

llvm-svn: 28392
2006-05-19 18:40:54 +00:00
Chris Lattner c0a65d5ac8 Use class tags instead of struct tags. The coding standards specify this
for public classes for improved win32 compatibility.

llvm-svn: 28391
2006-05-19 17:17:12 +00:00
Evan Cheng 1c8ef9832f Explicitly specify MOV32mi can only be used store 32-bit GV, etc.
llvm-svn: 28390
2006-05-19 07:30:36 +00:00
Evan Cheng 886e8f35aa Now that iPTR is a fully resolved type. We end up losing the type check for
patterns that look like this:

def : Pat<(i32 (X86Wrapper tconstpool  :$dst)), (MOV32ri tconstpool  :$dst)>;

InsertOneTypeCheck should copy the type from the resolved pattern to the
unresolved one as long as there types are different.

llvm-svn: 28389
2006-05-19 07:24:32 +00:00
Rafael Espindola b15597b59a implement movri
add a stub LowerFORMAL_ARGUMENTS

llvm-svn: 28388
2006-05-18 21:45:49 +00:00
Evan Cheng f3cbd7ef31 Added a Flags field to TargetOperandInfo. Currently the only flag is
M_LOOK_UP_PTR_REG_CLASS which allows the register class of the operand to be
resolved via a callback at runtime.

llvm-svn: 28387
2006-05-18 20:44:26 +00:00