Dale Johannesen [Sat, 8 Nov 2008 00:40:24 +0000 (00:40 +0000)]
Xfail an incorrect test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58875
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sat, 8 Nov 2008 00:01:16 +0000 (00:01 +0000)]
Make testb optimization work on big-endian targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58874
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 7 Nov 2008 22:57:53 +0000 (22:57 +0000)]
More code clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58872
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 7 Nov 2008 22:54:33 +0000 (22:54 +0000)]
Make FP tests requiring two compares work on PPC (PR 642).
This is Chris' patch from the PR, modified to realize that
SETUGT/SETULT occur legitimately with integers, plus
two fixes in LegalizeDAG to pass a valid result type into
LegalizeSetCC. The argument of TLI.getSetCCResultType is
ignored on PPC, but I think I'm following usage elsewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58871
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 7 Nov 2008 22:30:53 +0000 (22:30 +0000)]
Get PIC jump table working.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58869
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 7 Nov 2008 22:30:29 +0000 (22:30 +0000)]
More debug output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58868
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 7 Nov 2008 21:01:13 +0000 (21:01 +0000)]
Make tablegen print out a nice error message for a const char*
exception, like it does for a std::string exception.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58865
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 7 Nov 2008 20:29:17 +0000 (20:29 +0000)]
Document the acronym RAUW. Patch by Jonathan Brandmeyer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58863
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 7 Nov 2008 20:13:04 +0000 (20:13 +0000)]
Sign-extend rather than zero-extend when promoting
the condition for a BRCOND, according to what is
returned by getSetCCResultContents. Since all
targets return the same thing (ZeroOrOneSetCCResult),
this should be harmless! The point is that all over
the place the result of SETCC is fed directly into
BRCOND. On machines for which getSetCCResultContents
returns ZeroOrNegativeOneSetCCResult, this is a
sign-extended boolean. So it seems dangerous to
also feed BRCOND zero-extended booleans in some
circumstances - for example, when promoting the
condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58861
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 7 Nov 2008 19:49:17 +0000 (19:49 +0000)]
Flush the raw_ostream after emitting the assembly for a function.
This is a temporary fix for the -print-emitted-asm option, where
errs() is used as the stream, in the case where other code is
using stderr without using errs()' buffer. Hopefully soon we'll
fix errs() to be non-buffered instead. Patch by Preston Gurd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58859
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 7 Nov 2008 19:11:43 +0000 (19:11 +0000)]
Fix unsigned->ppcf128 conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58856
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 7 Nov 2008 14:52:51 +0000 (14:52 +0000)]
Update to add newer bitcodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58852
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Fri, 7 Nov 2008 12:44:36 +0000 (12:44 +0000)]
Keep CREDITS.TXT sorted by name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58845
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Fri, 7 Nov 2008 12:41:14 +0000 (12:41 +0000)]
Add contributer information for XCore backend to CREDITS.TXT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58844
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Fri, 7 Nov 2008 12:37:45 +0000 (12:37 +0000)]
Add XCore backend to CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58843
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Fri, 7 Nov 2008 11:24:12 +0000 (11:24 +0000)]
Add basic test for XCore backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58841
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Fri, 7 Nov 2008 11:21:09 +0000 (11:21 +0000)]
Fix compile warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58840
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Fri, 7 Nov 2008 11:06:44 +0000 (11:06 +0000)]
CellSPU: Ensure that C strings are always put in the .rodata section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58839
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Fri, 7 Nov 2008 10:59:00 +0000 (10:59 +0000)]
Add XCore backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58838
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 7 Nov 2008 09:06:08 +0000 (09:06 +0000)]
Jump table JIT support. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58836
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 7 Nov 2008 09:02:17 +0000 (09:02 +0000)]
Jump tables may be emitted by target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58835
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 7 Nov 2008 09:01:15 +0000 (09:01 +0000)]
Jump table relocation addresses may be resolved by target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58834
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Fri, 7 Nov 2008 04:36:25 +0000 (04:36 +0000)]
Teach CellSPU about ELF sections and new section emitter classes.
NB: This is likely to need more work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58832
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 7 Nov 2008 01:59:41 +0000 (01:59 +0000)]
BCUI + 1 doesn't work. Use next instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58830
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 7 Nov 2008 01:48:58 +0000 (01:48 +0000)]
Refactor code that adjusts the offsets of stack objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58829
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 7 Nov 2008 01:41:35 +0000 (01:41 +0000)]
Encode misc arithmetic instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58828
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 7 Nov 2008 01:30:18 +0000 (01:30 +0000)]
Testcase for testb optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58827
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 7 Nov 2008 01:30:07 +0000 (01:30 +0000)]
Handle (delete) dbg intrinsics while promoting alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58826
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 7 Nov 2008 01:28:02 +0000 (01:28 +0000)]
When we're doing a compare of load-AND-constant to 0
(e.g. a bitfield test) narrow the load as much as possible.
The has the potential to avoid unnecessary partial-word
load-after-store conflicts, which cause stalls on several targets.
Also a size win on x86 (testb vs testl).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58825
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 7 Nov 2008 01:23:58 +0000 (01:23 +0000)]
- Modify the stack protector algorithm so that the stack slot is allocated in
LLVM IR code and not in the selection DAG ISel. This is a cleaner solution.
- Fix the heuristic for determining if protectors are necessary. The previous
one wasn't checking the proper type size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58824
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 6 Nov 2008 23:56:59 +0000 (23:56 +0000)]
Remove unneeded header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58823
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 6 Nov 2008 23:55:49 +0000 (23:55 +0000)]
Don't build a vector of returns. Just modify the Function in the loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58822
91177308-0d34-0410-b5e6-
96231b3b80d8
Mon P Wang [Thu, 6 Nov 2008 22:52:21 +0000 (22:52 +0000)]
Fixed scalarizing an extract subvector and prevent an infinite loop
when simplify a vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58820
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 6 Nov 2008 22:18:44 +0000 (22:18 +0000)]
The size limit is for individual arrays. So if any array has more than 8 bytes
in it, then emit stack protectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58819
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Nov 2008 22:15:19 +0000 (22:15 +0000)]
Encode extend instructions; more clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58818
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 6 Nov 2008 21:57:17 +0000 (21:57 +0000)]
Fix a use of an invalid iterator when -debug-pass=Details is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58816
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 6 Nov 2008 21:37:09 +0000 (21:37 +0000)]
Don't recalculate the stack position of the stack protector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58815
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 6 Nov 2008 21:28:20 +0000 (21:28 +0000)]
Emit label for llvm.dbg.func.start of the inlined function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58814
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 6 Nov 2008 19:47:49 +0000 (19:47 +0000)]
Clarify documentation. A module pass MP can require a function paqss FP only if FP does not require any module pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58813
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Nov 2008 17:48:05 +0000 (17:48 +0000)]
- Improve naming consistency: Branch -> BrFrm, BranchMisc -> BrMiscFrm.
- Consolidate instruction formats.
- Other clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58808
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Nov 2008 17:46:04 +0000 (17:46 +0000)]
Improve JIT debugging outputs format consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58807
91177308-0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Thu, 6 Nov 2008 16:21:49 +0000 (16:21 +0000)]
plug leakage of mutex data. pthread_mutex_destroy() doesnt free our malloc'ed memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58805
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 6 Nov 2008 08:51:32 +0000 (08:51 +0000)]
Formating/comment changes - no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58801
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Nov 2008 08:47:38 +0000 (08:47 +0000)]
Remove opcode from instruction TS flags; add MOVCC support; fix addrmode3 encoding bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58800
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 6 Nov 2008 07:23:03 +0000 (07:23 +0000)]
- Rename stackprotector_{prologue,epilogue} to stackprotector_{create,check}.
- Get rid of "HasStackProtector" in MachineFrameInfo.
- Modify intrinsics to tell which are doing what with memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58799
91177308-0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 6 Nov 2008 06:24:59 +0000 (06:24 +0000)]
Update VC++ projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58798
91177308-0d34-0410-b5e6-
96231b3b80d8
Mon P Wang [Thu, 6 Nov 2008 05:31:54 +0000 (05:31 +0000)]
Widening cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58796
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Nov 2008 03:35:07 +0000 (03:35 +0000)]
Handle smul<x><y>, smulw<y>, smla<x><y>, smlaw<y>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58793
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 6 Nov 2008 02:38:58 +0000 (02:38 +0000)]
Adjust the stack protector heuristic to care about only arrays or calls to
"alloca".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58792
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 6 Nov 2008 02:29:10 +0000 (02:29 +0000)]
Implement the stack protector stack accesses via intrinsics:
- stackprotector_prologue creates a stack object and stores the guard there.
- stackprotector_epilogue reads the stack guard from the stack position created
by stackprotector_prologue.
- The PrologEpilogInserter was changed to make sure that the stack guard is
first on the stack frame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58791
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Nov 2008 02:25:39 +0000 (02:25 +0000)]
Fix so_imm encoding bug; add support for MOVi2pieces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58790
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Nov 2008 01:21:28 +0000 (01:21 +0000)]
Fix encoding of multiple instructions with 3 src operands; also handle smmul, smmla, and smmls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58789
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Nov 2008 01:18:29 +0000 (01:18 +0000)]
Need a \n.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58788
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 6 Nov 2008 01:00:16 +0000 (01:00 +0000)]
InstructionNamer preserves everything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58787
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 6 Nov 2008 00:30:09 +0000 (00:30 +0000)]
Emit label for llvm.dbg.func.start of the inlined function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58786
91177308-0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 6 Nov 2008 00:11:31 +0000 (00:11 +0000)]
Add post-build event for clangDriver (to copy clang.exe into "dstroot").
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58783
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 23:44:08 +0000 (23:44 +0000)]
Undo 58778 but makes the binary dump prettier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58782
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 5 Nov 2008 23:42:27 +0000 (23:42 +0000)]
Add comments to function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58781
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 23:22:34 +0000 (23:22 +0000)]
Encode pic load / store instructions; fix some encoding bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58780
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 23:21:52 +0000 (23:21 +0000)]
Add command line option -entry-funcion to override entry function (default is main).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58779
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 23:21:11 +0000 (23:21 +0000)]
Remove debug output that's not really useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58778
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 5 Nov 2008 22:56:47 +0000 (22:56 +0000)]
Make ISel ignore dead nodes. The DAGCombiner normally eliminates
dead nodes, but in this case its missing one. Fixing the DAGCombiner
is desirable, but it's somewhat involved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58777
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 5 Nov 2008 22:42:50 +0000 (22:42 +0000)]
opt was not exporting the Mangler symbols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58775
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 5 Nov 2008 18:41:15 +0000 (18:41 +0000)]
Add PR number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58765
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 18:35:52 +0000 (18:35 +0000)]
Restructure ARM code emitter to use instruction formats instead of addressing modes to determine how to encode instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58764
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 5 Nov 2008 18:30:52 +0000 (18:30 +0000)]
Use an assert to check that SelectCode isn't called on
nodes that are already selected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58763
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 5 Nov 2008 17:35:14 +0000 (17:35 +0000)]
The HadDelete field is no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58761
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 5 Nov 2008 17:16:24 +0000 (17:16 +0000)]
Reintroduce a comment that was removed with the AddToISelQueue
changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58760
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 5 Nov 2008 17:13:57 +0000 (17:13 +0000)]
Update some comments to reflect the new code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58759
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Wed, 5 Nov 2008 09:53:58 +0000 (09:53 +0000)]
Test commit, add Makefile for XCore target, more to follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58755
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 5 Nov 2008 07:17:27 +0000 (07:17 +0000)]
Fix thinko in ppcf128 expansion of truncating store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58753
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 06:04:51 +0000 (06:04 +0000)]
Add more vector move low and zero-extend patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58752
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 06:04:18 +0000 (06:04 +0000)]
Type of shuffle mask has changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58751
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 06:03:38 +0000 (06:03 +0000)]
Indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58750
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 5 Nov 2008 04:14:16 +0000 (04:14 +0000)]
Eliminate the ISel priority queue, which used the topological order for a
priority function. Instead, just iterate over the AllNodes list, which is
already in topological order. This eliminates a fair amount of bookkeeping,
and speeds up the isel phase by about 15% on many testcases.
The impact on most targets is that AddToISelQueue calls can be simply removed.
In the x86 target, there are two additional notable changes.
The rule-bending AND+SHIFT optimization in MatchAddress that creates new
pre-isel nodes during isel is now a little more verbose, but more robust.
Instead of either creating an invalid DAG or creating an invalid topological
sort, as it has historically done, it can now just insert the new nodes into
the node list at a position where they will be consistent with the topological
ordering.
Also, the address-matching code has logic that checked to see if a node was
"already selected". However, when a node is selected, it has all its uses
taken away via ReplaceAllUsesWith or equivalent, so it won't recieve any
further visits from MatchAddress. This code is now removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58748
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 5 Nov 2008 02:06:09 +0000 (02:06 +0000)]
Use getTargetConstant instead of getConstant for nodes that should not be visited
by isel and potentially forced into registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58747
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 01:50:32 +0000 (01:50 +0000)]
Rename isGVLazyPtr to isGVNonLazyPtr relocation. This represents Mac OS X
indirect gv reference. Please don't call it lazy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58746
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 5 Nov 2008 01:40:30 +0000 (01:40 +0000)]
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58745
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 5 Nov 2008 01:39:16 +0000 (01:39 +0000)]
Do now allow InlineAlways pass to remove dead functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58744
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 5 Nov 2008 01:37:40 +0000 (01:37 +0000)]
Silence unused variable warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58743
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 5 Nov 2008 01:37:05 +0000 (01:37 +0000)]
Check Attribute::NoInline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58742
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 5 Nov 2008 00:56:35 +0000 (00:56 +0000)]
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58741
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 5 Nov 2008 00:54:27 +0000 (00:54 +0000)]
Simplify the allocated size calculation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58740
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 5 Nov 2008 00:46:15 +0000 (00:46 +0000)]
Fix comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58739
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 5 Nov 2008 00:32:13 +0000 (00:32 +0000)]
Use the new predicate to control when we do prealloc splitting. Fix a small bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58738
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Nov 2008 00:22:28 +0000 (00:22 +0000)]
Debugging output tweak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58737
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Wed, 5 Nov 2008 00:11:22 +0000 (00:11 +0000)]
CMake: updated list of source files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58736
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 5 Nov 2008 00:00:21 +0000 (00:00 +0000)]
Some code simplification. It now doesn't generate a prologue if the epilogue
isn't going to be generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58734
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 4 Nov 2008 23:41:45 +0000 (23:41 +0000)]
Add a new pass to simplify specific half_powr function calls. This is
a specialized pass that it not likely to be generally useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58732
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Nov 2008 23:13:50 +0000 (23:13 +0000)]
On darwin, 32-bit x86 target is i386-apple-darwin...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58731
91177308-0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Tue, 4 Nov 2008 23:03:58 +0000 (23:03 +0000)]
fix memory leak in pass manager when adding an analysis pass that already existed. as pass manager takes ownership of the added passes, it has to delete the pass if it isnt added to the pass list
tweak the opt tool so that it doesnt access a Pass after the ownership was taken by the pass manager
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58730
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 4 Nov 2008 23:02:39 +0000 (23:02 +0000)]
Fix tests not to emit IR output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58729
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 4 Nov 2008 22:54:43 +0000 (22:54 +0000)]
Small simplification of the stack guard type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58728
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 4 Nov 2008 22:51:24 +0000 (22:51 +0000)]
- Add a "getOrInsertGlobal" method to the Module class. This acts similarly to
"getOrInsertFunction" in that it either adds a new declaration of the global
and returns it, or returns the current one -- optionally casting it to the
correct type.
- Use the new getOrInsertGlobal in the stack protector code.
- Use "splitBasicBlock" in the stack protector code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58727
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 4 Nov 2008 22:22:41 +0000 (22:22 +0000)]
First pass at checking for the creation of a new join point when doing pre-alloc splitting. This is not turned on yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58726
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Nov 2008 22:19:55 +0000 (22:19 +0000)]
Actually ARM / Mac OS X does have UINTTOFP_I64_F{64|32} libcalls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58725
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 4 Nov 2008 21:53:09 +0000 (21:53 +0000)]
Update in response to feedback from Chris:
- Use enums instead of magic numbers.
- Rework algorithm to use the bytes size from the target to determine when to
emit stack protectors.
- Get rid of "propolice" in any comments.
- Renamed an option to its expanded form.
- Other miscellanenous changes.
More changes will come after this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58723
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 4 Nov 2008 21:50:59 +0000 (21:50 +0000)]
fix two validation errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58722
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 4 Nov 2008 21:48:10 +0000 (21:48 +0000)]
fix typos, harmonize formatting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58721
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 4 Nov 2008 21:06:11 +0000 (21:06 +0000)]
Revert 58687. This breaks mingw.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58719
91177308-0d34-0410-b5e6-
96231b3b80d8