libfirm
15 years agonew and improved regalloc verifier
Matthias Braun [Fri, 5 Sep 2008 16:54:30 +0000 (16:54 +0000)]
new and improved regalloc verifier

[r21727]

15 years agoreset chunk ids for new funtions
Matthias Braun [Fri, 5 Sep 2008 16:54:15 +0000 (16:54 +0000)]
reset chunk ids for new funtions

[r21726]

15 years agoRemoved -after_pbqp_transform, because it is the same as -transformed
Andreas Zwinkau [Fri, 5 Sep 2008 11:44:33 +0000 (11:44 +0000)]
Removed -after_pbqp_transform, because it is the same as -transformed

[r21719]

15 years agoFix typo in BE_REGISTER_MODULE_CONSTRUCTOR() user.
Christoph Mallon [Thu, 4 Sep 2008 19:53:05 +0000 (19:53 +0000)]
Fix typo in BE_REGISTER_MODULE_CONSTRUCTOR() user.

[r21711]

15 years agosimplified and improved
Matthias Braun [Thu, 4 Sep 2008 12:15:39 +0000 (12:15 +0000)]
simplified and improved

[r21699]

15 years agodifferent cparser / eccp code
Michael Beck [Thu, 4 Sep 2008 12:11:27 +0000 (12:11 +0000)]
different cparser / eccp code

[r21698]

15 years agoremove a wrong and some unnecessary comments
Matthias Braun [Thu, 4 Sep 2008 10:43:34 +0000 (10:43 +0000)]
remove a wrong and some unnecessary comments

[r21693]

15 years agostrange difference between eccp and cparser
Michael Beck [Thu, 4 Sep 2008 10:32:17 +0000 (10:32 +0000)]
strange difference between eccp and cparser

[r21692]

15 years agoRename -fluffig to -fsync, perform opt_sync() (formerly opt_ldst2()) last to not...
Christoph Mallon [Thu, 4 Sep 2008 09:32:17 +0000 (09:32 +0000)]
Rename -fluffig to -fsync, perform opt_sync() (formerly opt_ldst2()) last to not interfere with load store optimisation.

[r21689]

15 years agoIndentation.
Christoph Mallon [Thu, 4 Sep 2008 08:57:47 +0000 (08:57 +0000)]
Indentation.

[r21686]

15 years agofix the reload folding mode stuff in a more correct way
Matthias Braun [Thu, 4 Sep 2008 08:42:11 +0000 (08:42 +0000)]
fix the reload folding mode stuff in a more correct way

[r21685]

15 years agorevert last change
Matthias Braun [Thu, 4 Sep 2008 08:31:06 +0000 (08:31 +0000)]
revert last change

[r21684]

15 years agodon't extend load_mode when folding reloads
Matthias Braun [Thu, 4 Sep 2008 08:26:38 +0000 (08:26 +0000)]
don't extend load_mode when folding reloads

[r21683]

15 years agoUse march=pentium3 to use if-conv
Andreas Zwinkau [Wed, 3 Sep 2008 14:18:29 +0000 (14:18 +0000)]
Use march=pentium3 to use if-conv

[r21671]

15 years agoFix conv skip in gen_lowered_64bit_shifts() (still necessary at all?).
Christoph Mallon [Wed, 3 Sep 2008 13:50:49 +0000 (13:50 +0000)]
Fix conv skip in gen_lowered_64bit_shifts() (still necessary at all?).

[r21669]

15 years agoOnly skip Convs within the same register class when trying to create dest AM (is...
Christoph Mallon [Wed, 3 Sep 2008 13:48:00 +0000 (13:48 +0000)]
Only skip Convs within the same register class when trying to create dest AM (is this still necessary at all?).

[r21668]

15 years agoFix fehler147: Do not deconv floats.
Christoph Mallon [Wed, 3 Sep 2008 13:02:06 +0000 (13:02 +0000)]
Fix fehler147: Do not deconv floats.

[r21666]

15 years agosimplify
Matthias Braun [Wed, 3 Sep 2008 12:43:25 +0000 (12:43 +0000)]
simplify

[r21665]

15 years agofehler147 (produces invisible lightning gun in quake3)
Matthias Braun [Wed, 3 Sep 2008 12:42:46 +0000 (12:42 +0000)]
fehler147 (produces invisible lightning gun in quake3)

[r21664]

15 years agoAdded test case for Load-Add-Load conflict, that also seems to have missing skip...
Sebastian Buchwald [Tue, 2 Sep 2008 21:17:41 +0000 (21:17 +0000)]
Added test case for Load-Add-Load conflict, that also seems to have missing skip patterns.

[r21657]

15 years agoUse backtracking in find_original_value() for the flags emitter.
Christoph Mallon [Tue, 2 Sep 2008 14:06:54 +0000 (14:06 +0000)]
Use backtracking in find_original_value() for the flags emitter.

[r21655]

15 years agoremoved C99 feature
Michael Beck [Tue, 2 Sep 2008 13:45:35 +0000 (13:45 +0000)]
removed C99 feature

[r21653]

15 years agoextending r21638: check sign when classifying float constants
Michael Beck [Tue, 2 Sep 2008 13:42:39 +0000 (13:42 +0000)]
extending r21638: check sign when classifying float constants

[r21652]

15 years agoFix printing tarvals into long double.
Christoph Mallon [Tue, 2 Sep 2008 13:23:40 +0000 (13:23 +0000)]
Fix printing tarvals into long double.

[r21650]

15 years agoStyle fix.
Christoph Mallon [Tue, 2 Sep 2008 13:11:12 +0000 (13:11 +0000)]
Style fix.

[r21648]

15 years agoDump ins_permuted and cmp_unsigned attributes to vcg
Andreas Zwinkau [Tue, 2 Sep 2008 13:01:54 +0000 (13:01 +0000)]
Dump ins_permuted and cmp_unsigned attributes to vcg

[r21647]

15 years agoremoved C99 features
Michael Beck [Tue, 2 Sep 2008 12:47:08 +0000 (12:47 +0000)]
removed C99 features

[r21646]

15 years agodemonstartes a bug in the tarval module
Michael Beck [Tue, 2 Sep 2008 12:35:32 +0000 (12:35 +0000)]
demonstartes a bug in the tarval module

[r21645]

15 years agooverspilling testcase by mallon
Matthias Braun [Tue, 2 Sep 2008 11:54:51 +0000 (11:54 +0000)]
overspilling testcase by mallon

[r21644]

15 years agofix too conservative delay taking step
Matthias Braun [Tue, 2 Sep 2008 11:35:55 +0000 (11:35 +0000)]
fix too conservative delay taking step

[r21643]

15 years agoNew test cases for Mux and ia32_Test
Andreas Zwinkau [Tue, 2 Sep 2008 10:41:14 +0000 (10:41 +0000)]
New test cases for Mux and ia32_Test

[r21641]

15 years agoBe nice: Use the async-signal safe _exit() instead of exit().
Christoph Mallon [Tue, 2 Sep 2008 10:00:52 +0000 (10:00 +0000)]
Be nice: Use the async-signal safe _exit() instead of exit().

[r21640]

15 years agofehler143: eccp makes the __assert_fail() call in an assert() macro disappear.
Christoph Mallon [Tue, 2 Sep 2008 09:47:13 +0000 (09:47 +0000)]
fehler143: eccp makes the __assert_fail() call in an assert() macro disappear.

[r21639]

15 years agodon't forget to check the sign of a float number, this fixes fehler142
Matthias Braun [Tue, 2 Sep 2008 09:35:13 +0000 (09:35 +0000)]
don't forget to check the sign of a float number, this fixes fehler142

[r21638]

15 years agoeccp optimized the assert away!?!, anyway I wanna fix the real error first...
Matthias Braun [Tue, 2 Sep 2008 09:23:51 +0000 (09:23 +0000)]
eccp optimized the assert away!?!, anyway I wanna fix the real error first...

[r21637]

15 years agofehler142 (probably the quake3 client problem)
Matthias Braun [Tue, 2 Sep 2008 08:58:05 +0000 (08:58 +0000)]
fehler142 (probably the quake3 client problem)

[r21636]

15 years agoPartially undo r20786: Emit ret $0 especially when its BB is only reached by a fallt...
Christoph Mallon [Tue, 2 Sep 2008 07:16:29 +0000 (07:16 +0000)]
Partially undo r20786:  Emit ret $0 especially when its BB is only reached by a fallthrough, because this means its predecessor ends with a conditional jump.  According to the AMD Optimization guides, conditional jump directly followed by ret should be avoided.

[r21632]

15 years agoimproved belady3
Matthias Braun [Mon, 1 Sep 2008 10:38:58 +0000 (10:38 +0000)]
improved belady3

[r21619]

15 years agotestcase for currently broken GVN-PRE
Michael Beck [Fri, 29 Aug 2008 02:13:02 +0000 (02:13 +0000)]
testcase for currently broken GVN-PRE

[r21561]

15 years agotestcase for currently broken GVN-PRE
Michael Beck [Fri, 29 Aug 2008 00:46:16 +0000 (00:46 +0000)]
testcase for currently broken GVN-PRE

[r21560]

15 years ago80bit floats have no implicit leading 1.
Christoph Mallon [Thu, 28 Aug 2008 19:07:00 +0000 (19:07 +0000)]
80bit floats have no implicit leading 1.

[r21558]

15 years agoOnly warn about Sub with constant in the backend, if the mode is not float.
Christoph Mallon [Thu, 28 Aug 2008 19:06:15 +0000 (19:06 +0000)]
Only warn about Sub with constant in the backend, if the mode is not float.

[r21557]

15 years agoFix typos in fehler139.
Christoph Mallon [Thu, 28 Aug 2008 18:07:40 +0000 (18:07 +0000)]
Fix typos in fehler139.

[r21556]

15 years agoFix fehler139: Pass eflags input of Adc/Sbb to AM matcher.
Michael Beck [Thu, 28 Aug 2008 16:31:57 +0000 (16:31 +0000)]
Fix fehler139: Pass eflags input of Adc/Sbb to AM matcher.

[r21555]

15 years agofixed the bad programm
Michael Beck [Thu, 28 Aug 2008 16:17:36 +0000 (16:17 +0000)]
fixed the bad programm

[r21554]

15 years agowrong 64bit lowering
Michael Beck [Thu, 28 Aug 2008 16:07:56 +0000 (16:07 +0000)]
wrong 64bit lowering

[r21553]

15 years agoArg: add a missing inc_irg_visited, who has deleted it?
Michael Beck [Thu, 28 Aug 2008 15:02:04 +0000 (15:02 +0000)]
Arg: add a missing inc_irg_visited, who has deleted it?

[r21552]

15 years agomore DBG_OPT cases
Michael Beck [Tue, 26 Aug 2008 12:23:46 +0000 (12:23 +0000)]
more DBG_OPT cases

[r21483]

15 years agofixed meanings of optimizations
Michael Beck [Tue, 26 Aug 2008 12:14:13 +0000 (12:14 +0000)]
fixed meanings of optimizations

[r21482]

15 years agodo NOT allocate an entry for Constants if they are not counted
Michael Beck [Tue, 26 Aug 2008 11:33:03 +0000 (11:33 +0000)]
do NOT allocate an entry for Constants if they are not counted

[r21477]

15 years agoDo NOT call DBG_OPT_CSE() in identify remember, as this is used for different
Michael Beck [Tue, 26 Aug 2008 11:23:57 +0000 (11:23 +0000)]
Do NOT call DBG_OPT_CSE() in identify remember, as this is used for different
purposes, call it only if a node is really replaced.

[r21475]

15 years agoDo not split string literals.
Michael Beck [Tue, 26 Aug 2008 11:22:07 +0000 (11:22 +0000)]
Do not split string literals.

[r21474]

15 years agoTeach use_dest_am() about Syncs.
Christoph Mallon [Tue, 26 Aug 2008 09:57:51 +0000 (09:57 +0000)]
Teach use_dest_am() about Syncs.

[r21469]

15 years agoGammelfix.
Christoph Mallon [Mon, 25 Aug 2008 20:07:07 +0000 (20:07 +0000)]
Gammelfix.

[r21465]

15 years agoFix lrot.c: Shifting by the width of the left operand results in undefined behaviour.
Christoph Mallon [Mon, 25 Aug 2008 19:44:20 +0000 (19:44 +0000)]
Fix lrot.c: Shifting by the width of the left operand results in undefined behaviour.

[r21464]

15 years agoRemove unnecessary condition in Load-to-Pop-optimisation: The Load does not need...
Christoph Mallon [Mon, 25 Aug 2008 18:45:23 +0000 (18:45 +0000)]
Remove unnecessary condition in Load-to-Pop-optimisation: The Load does not need to have a Spill as memory predecessor. Especially the existing condition tests for Phis, which does not guarantee that there is a Spill.

[r21461]

15 years agoRemove unnecessary test (when there is no index, scale does not matter).
Christoph Mallon [Mon, 25 Aug 2008 18:27:40 +0000 (18:27 +0000)]
Remove unnecessary test (when there is no index, scale does not matter).

[r21460]

15 years agoDo not use && in assert().
Christoph Mallon [Mon, 25 Aug 2008 18:26:58 +0000 (18:26 +0000)]
Do not use && in assert().

[r21459]

15 years agoFix fehler138.
Christoph Mallon [Mon, 25 Aug 2008 12:28:29 +0000 (12:28 +0000)]
Fix fehler138.

[r21446]

15 years agofehler138: must_be_different-handler chokes on Proj of constrained node.
Christoph Mallon [Mon, 25 Aug 2008 12:28:05 +0000 (12:28 +0000)]
fehler138: must_be_different-handler chokes on Proj of constrained node.

[r21445]

15 years agobetter count constants as operands of instructions
Michael Beck [Sun, 24 Aug 2008 12:48:08 +0000 (12:48 +0000)]
better count constants as operands of instructions

[r21407]

15 years agoBugFix: treat 0 as 0.0, not 1.0
Michael Beck [Sun, 24 Aug 2008 12:42:30 +0000 (12:42 +0000)]
BugFix: treat 0 as 0.0, not 1.0

[r21406]

15 years agobeware of NaN's
Michael Beck [Sun, 24 Aug 2008 11:26:58 +0000 (11:26 +0000)]
beware of NaN's

[r21405]

15 years ago- add QuotC
Michael Beck [Sun, 24 Aug 2008 11:22:41 +0000 (11:22 +0000)]
- add QuotC
- fixed floating point constant classification

[r21404]

15 years ago- converted get_irn_n(*, -1) back into get_nodes_block()
Michael Beck [Sun, 24 Aug 2008 11:07:08 +0000 (11:07 +0000)]
- converted get_irn_n(*, -1) back into get_nodes_block()
- use is_Pin()
- use value_of() instead of is_Const() test

[r21402]

15 years agoadded skip_Pin()
Michael Beck [Sun, 24 Aug 2008 10:57:37 +0000 (10:57 +0000)]
added skip_Pin()

[r21401]

15 years agoRemove dead initialisation.
Christoph Mallon [Sun, 24 Aug 2008 08:02:20 +0000 (08:02 +0000)]
Remove dead initialisation.

[r21398]

15 years agomore tarval cleanup
Michael Beck [Sun, 24 Aug 2008 00:19:59 +0000 (00:19 +0000)]
more tarval cleanup

[r21396]

15 years ago- simplified code
Michael Beck [Sun, 24 Aug 2008 00:04:45 +0000 (00:04 +0000)]
- simplified code
- add half and quad (need to change general precision from 66 to 130 bit) precisions

[r21395]

15 years agoSync the Stores generated by gen_float_const_Store().
Christoph Mallon [Sat, 23 Aug 2008 23:24:30 +0000 (23:24 +0000)]
Sync the Stores generated by gen_float_const_Store().

[r21393]

15 years agoSimplify gen_float_const_Store().
Christoph Mallon [Sat, 23 Aug 2008 23:11:59 +0000 (23:11 +0000)]
Simplify gen_float_const_Store().

[r21392]

15 years agoBugFix: used right descriptor in fc_val_from_str()
Michael Beck [Sat, 23 Aug 2008 22:21:27 +0000 (22:21 +0000)]
BugFix: used right descriptor in fc_val_from_str()

[r21391]

15 years agofixed fc_val_from_str(), this fixes fehler137.c
Michael Beck [Sat, 23 Aug 2008 21:16:35 +0000 (21:16 +0000)]
fixed fc_val_from_str(), this fixes fehler137.c

[r21390]

15 years agoadd support for explicit one
Michael Beck [Sat, 23 Aug 2008 21:05:49 +0000 (21:05 +0000)]
add support for explicit one

[r21389]

15 years agoRemove write-only variable. = and + output constraints are handled way earlier.
Christoph Mallon [Sat, 23 Aug 2008 15:32:33 +0000 (15:32 +0000)]
Remove write-only variable. = and + output constraints are handled way earlier.

[r21388]

15 years agoSlightly improve readability.
Christoph Mallon [Sat, 23 Aug 2008 15:30:37 +0000 (15:30 +0000)]
Slightly improve readability.

[r21387]

15 years agofehler137: tarval module does not model the explicit leading 1 for long double on...
Christoph Mallon [Sat, 23 Aug 2008 13:20:45 +0000 (13:20 +0000)]
fehler137: tarval module does not model the explicit leading 1 for long double on x86.

[r21383]

15 years agoFix output for long double initializers.
Christoph Mallon [Sat, 23 Aug 2008 13:19:27 +0000 (13:19 +0000)]
Fix output for long double initializers.

[r21382]

15 years agoRemove unnecessary dependency edge from the IncSP, which destroys the stack frame...
Christoph Mallon [Sat, 23 Aug 2008 06:35:34 +0000 (06:35 +0000)]
Remove unnecessary dependency edge from the IncSP, which destroys the stack frame, to the final memory Proj.  Most probably it is unnecessary since Projs are not scheduled anymore.

[r21370]

15 years agoAdd main().
Christoph Mallon [Sat, 23 Aug 2008 06:33:52 +0000 (06:33 +0000)]
Add main().

[r21369]

15 years agoFix asm_test5: Prevent the ASM node from being scheduled before the Barrier, if it...
Christoph Mallon [Sat, 23 Aug 2008 06:06:18 +0000 (06:06 +0000)]
Fix asm_test5: Prevent the ASM node from being scheduled before the Barrier, if it has no inputs.

[r21368]

15 years ago- BugFix: fix_start_proj() erronously assumed the startblock has only
Michael Beck [Sat, 23 Aug 2008 00:35:36 +0000 (00:35 +0000)]
- BugFix: fix_start_proj() erronously assumed the startblock has only
  mode_X out edge. This is wrong in phase backend AND might be wrong if
  start block has a keep-alive (which should not happen normally)
- fix_start_proj() speed up implementation
- add comment that fix_start_proj() is only needed in a really rare case
  ...
- add out edge verifier

[r21367]

15 years ago- removed NO_FOLLOWER
Michael Beck [Sat, 23 Aug 2008 00:32:34 +0000 (00:32 +0000)]
- removed NO_FOLLOWER
- no need to add a keep-alive edge if block input is Bad
- report fused blocks
- report removed block inputs

[r21366]

15 years agoRemove the unused node types ia32_l_Load, ia32_l_Store, ia32_l_vfild and ia32_l_vfist.
Christoph Mallon [Fri, 22 Aug 2008 18:33:52 +0000 (18:33 +0000)]
Remove the unused node types ia32_l_Load, ia32_l_Store, ia32_l_vfild and ia32_l_vfist.

[r21365]

15 years agoUse symbolic names instead of magic values for the position parameter of get_irn_n().
Christoph Mallon [Fri, 22 Aug 2008 18:24:00 +0000 (18:24 +0000)]
Use symbolic names instead of magic values for the position parameter of get_irn_n().

[r21364]

15 years agoSmall cleanup.
Christoph Mallon [Fri, 22 Aug 2008 18:14:38 +0000 (18:14 +0000)]
Small cleanup.

[r21363]

15 years agoRemove final \n from panic messages, panic() adds a newline automagically.
Christoph Mallon [Fri, 22 Aug 2008 18:00:53 +0000 (18:00 +0000)]
Remove final \n from panic messages, panic() adds a newline automagically.

[r21362]

15 years agoDo not split string literals.
Christoph Mallon [Fri, 22 Aug 2008 17:52:17 +0000 (17:52 +0000)]
Do not split string literals.

[r21360]

15 years agoRemove unnecessary cast.
Christoph Mallon [Fri, 22 Aug 2008 17:44:18 +0000 (17:44 +0000)]
Remove unnecessary cast.

[r21358]

15 years agoRun the x87 simulator when a graph contains Calls, which return floats.
Christoph Mallon [Fri, 22 Aug 2008 14:22:33 +0000 (14:22 +0000)]
Run the x87 simulator when a graph contains Calls, which return floats.

[r21352]

15 years agoBug in edgfe when taking address of forward declared variable (struct? const?).
Christoph Mallon [Fri, 22 Aug 2008 12:59:30 +0000 (12:59 +0000)]
Bug in edgfe when taking address of forward declared variable (struct? const?).

[r21349]

15 years agoConvert Stores to Pushs after IncSP from top of stack, not from the other end of...
Christoph Mallon [Fri, 22 Aug 2008 11:57:05 +0000 (11:57 +0000)]
Convert Stores to Pushs after IncSP from top of stack, not from the other end of the IncSP.

[r21344]

15 years agoSmall simplification in ia32 ASM emitter.
Christoph Mallon [Thu, 21 Aug 2008 14:43:05 +0000 (14:43 +0000)]
Small simplification in ia32 ASM emitter.

[r21325]

15 years agoAdd is_Carry(), get_Carry_left(), get_Carry_right().
Christoph Mallon [Thu, 21 Aug 2008 14:37:55 +0000 (14:37 +0000)]
Add is_Carry(), get_Carry_left(), get_Carry_right().

[r21324]

15 years agoUse Doxygen group comment.
Christoph Mallon [Thu, 21 Aug 2008 14:35:12 +0000 (14:35 +0000)]
Use Doxygen group comment.

[r21323]

15 years agoCorrect assertion.
Christoph Mallon [Thu, 21 Aug 2008 14:24:33 +0000 (14:24 +0000)]
Correct assertion.

[r21322]

15 years agoAdjust the push-through-perm-frontier: It is the problematic node itself, not its...
Christoph Mallon [Thu, 21 Aug 2008 14:20:18 +0000 (14:20 +0000)]
Adjust the push-through-perm-frontier: It is the problematic node itself, not its successor.

[r21321]

15 years agoCorrect asm_test4.c, it only worked by pure chance on gcc.
Christoph Mallon [Thu, 21 Aug 2008 13:41:34 +0000 (13:41 +0000)]
Correct asm_test4.c, it only worked by pure chance on gcc.

[r21317]

15 years agoTest case to use the correct Cmp mode
Andreas Zwinkau [Thu, 21 Aug 2008 13:36:29 +0000 (13:36 +0000)]
Test case to use the correct Cmp mode

[r21315]

15 years ago- crashes, why?
Michael Beck [Thu, 21 Aug 2008 13:03:20 +0000 (13:03 +0000)]
- crashes, why?

[r21314]