Commit Graph

27 Commits

Author SHA1 Message Date
Jonas Maebe
67b8aceaee * synchronized with privatetrunk till r30095
git-svn-id: branches/hlcgllvm@30101 -
2015-03-05 20:32:15 +00:00
florian
db01c50a4f * fixes jump table generate for arm thumb
git-svn-id: trunk@28546 -
2014-08-30 22:13:09 +00:00
Jonas Maebe
c6ddf0001c * simplified in_smallset() and removed some old cruft (there's no need
anymore to change the register size)

git-svn-id: branches/hlcgllvm@28400 -
2014-08-12 23:17:45 +00:00
florian
24d88edf37 * fixes arm building after 26004
git-svn-id: trunk@26012 -
2013-11-10 17:46:03 +00:00
florian
d4968e054b + arm: tsettings.instructionset
* the selected instruction set is now independent from the cpu type: e.g. armv7-a can perfectly execute thumb(2) code

git-svn-id: trunk@25370 -
2013-08-25 21:56:12 +00:00
florian
c350c3a5e4 * arm thumb2 does not understand tst reg1,reg2,lsl reg3
git-svn-id: trunk@25344 -
2013-08-23 15:22:44 +00:00
Jonas Maebe
b31e5c2536 + PIC support for ARM jump tables (only for plain ARM right now, not
yet for thumb/thumb2)

git-svn-id: trunk@25323 -
2013-08-21 22:28:24 +00:00
Jeppe Johansen
e5066a5f43 Update jumptabel generation for ARM Thumb
git-svn-id: trunk@24636 -
2013-05-30 12:06:30 +00:00
florian
93fcd9152e * arm thumb supports only tst reg1,reg2
git-svn-id: trunk@23997 -
2013-03-25 17:53:54 +00:00
florian
1eeeb309c7 * intial armv6m support, it is not working yet, constant pool insertation and conditional branch fixup is not working yet
git-svn-id: trunk@23682 -
2013-03-03 12:20:10 +00:00
florian
47d43750e4 * remove unused units from uses statements
git-svn-id: trunk@23306 -
2013-01-03 23:07:09 +00:00
florian
45383fd32d + a lot missing flag allocs/deallocs added
git-svn-id: trunk@22201 -
2012-08-23 08:54:52 +00:00
florian
ecb037ad79 + tarminnode.pass_1 to set expectloc correctly
git-svn-id: trunk@22074 -
2012-08-13 15:03:35 +00:00
florian
33f287d320 + tarminnode.in_smallset making use of tst
git-svn-id: trunk@22064 -
2012-08-11 22:10:45 +00:00
florian
c5ad1bce7b * avoid uncessary zero extensions in case code
git-svn-id: trunk@21979 -
2012-07-28 20:09:21 +00:00
Jonas Maebe
b023627f6a * converted tcgcasenode.pass_generate_code() to hlcgobj
o changed type of opsize field of tcgcasenode from tcgsize into tdef,
     and fixed compilation of other code generator units after this change

git-svn-id: branches/jvmbackend@18339 -
2011-08-20 07:48:33 +00:00
florian
ffde44ea6e * forgotten part of r18233
git-svn-id: trunk@18235 -
2011-08-16 22:44:50 +00:00
Jonas Maebe
7d459cf12a * the compiler now explicitly keeps track of the minimally guaranteed
alignment for each memory reference (mantis #12137, and
    test/packages/fcl-registry/tregistry1.pp on sparc). This also
    enables better code generation for packed records in many cases.
  o several changes were made to the compiler to minimise the chances
    of accidentally forgetting to set the alignment of memory references
    in the future:
    - reference_reset*() now has an extra alignment parameter
    - location_reset() can now only be used for non LOC_(C)REFERENCE,
      use location_reset_ref() for those (split the tloc enum so the
      compiler can catch errors using range checking)

git-svn-id: trunk@12719 -
2009-02-08 13:00:24 +00:00
florian
c3475dddc0 * handle case ranges properly for unsigned types with a non-zero base, resolves #10009
git-svn-id: trunk@8974 -
2007-10-28 17:06:02 +00:00
daniel
9adb202a92 * Rework the constexprint to allow operations from low(int64) to high(qword).
+ Some initial work on a formaldef which also carries the typinfo of a parameter.

git-svn-id: trunk@7639 -
2007-06-13 07:41:18 +00:00
yury
e94277d5dc * removed unneeded label.
* asm output beautification. 

git-svn-id: trunk@5467 -
2006-11-24 13:20:32 +00:00
yury
70b5d41d5c * optimized case jump table generation for ARM.
git-svn-id: trunk@5458 -
2006-11-23 00:55:16 +00:00
yury
187c71ac18 * fixed and enabled case jump table generation for ARM.
git-svn-id: trunk@5446 -
2006-11-22 12:16:33 +00:00
yury
257a76d6c8 * finally fixed case code generation for ARM.
git-svn-id: trunk@5437 -
2006-11-21 21:16:25 +00:00
yury
347af4dbe4 * fixed case code for ARM.
git-svn-id: trunk@5402 -
2006-11-16 13:07:32 +00:00
florian
3f0dfdcba4 * OP_SUB must set always the flags in case of case
git-svn-id: trunk@5400 -
2006-11-16 10:21:43 +00:00
florian
6ad8307653 + better case code generation for arm
git-svn-id: trunk@5395 -
2006-11-15 22:44:13 +00:00